:root{
	--tls-ui-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	--tls-ui-ink:#101828;
	--tls-ui-text:#475467;
	--tls-ui-muted:#667085;
	--tls-ui-line:#e4e7ec;
	--tls-ui-bg:#f8fafc;
	--tls-ui-surface:#ffffff;
	--tls-ui-primary:#2563eb;
	--tls-ui-primary-dark:#1d4ed8;
	--tls-ui-primary-soft:#eff6ff;
	--tls-ui-success:#027a48;
	--tls-ui-radius-sm:10px;
	--tls-ui-radius-md:14px;
	--tls-ui-radius-lg:18px;
	--tls-ui-shadow:0 10px 30px rgba(16,24,40,.055);
}
html{font-synthesis:none}
body:not(.wp-admin){
	font-family:var(--tls-ui-font);
	font-size:16px;
	font-weight:400;
	color:var(--tls-ui-ink);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
body:not(.wp-admin) :where(h1,h2,h3,h4,h5,h6){
	font-family:var(--tls-ui-font);
	color:var(--tls-ui-ink);
	text-wrap:balance;
}
body:not(.wp-admin) :where(p,li){text-wrap:pretty}
body:not(.wp-admin) :where(a,button,input,select,textarea):focus-visible{
	outline:3px solid rgba(37,99,235,.23);
	outline-offset:2px;
}
:where(.tls-file-app,.tls-calc-app,.tls-doc-app,.tls-util-app,.tls-invoice-app,.tls-quote-app,.tcs-hub){
	font-family:var(--tls-ui-font)!important;
	color:var(--tls-ui-ink);
}
:where(.tls-file-header h1,.tls-calc-header h1,.tls-doc-header h1,.tls-util-header h1,.tls-invoice-header h1,.tls-quote-header h1){
	font-size:clamp(34px,4.5vw,52px)!important;
	font-weight:700!important;
	line-height:1.08!important;
	letter-spacing:-.035em!important;
}
:where(.tls-file-header p,.tls-calc-header p,.tls-doc-header p,.tls-util-header p,.tls-invoice-header p,.tls-quote-header p){
	font-size:15px!important;
	font-weight:400!important;
	line-height:1.65!important;
	color:var(--tls-ui-text)!important;
}
:where(
	.tls-calc-card-heading>span,.tls-calc-results-heading>span,.tls-doc-panel-heading>span,
	.tls-util-card-heading>span,.tls-pdfc-card-head>div>span,.tls-pdfws-kicker,
	.tls-invoice-panel-heading>span,.tls-quote-panel-heading>span
){
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:.065em!important;
}
:where(.tls-calc-field>span,.tls-doc-field>span,.tls-util-field>span,.tls-invoice-field>span,.tls-quote-field>span){
	font-size:13px!important;
	font-weight:600!important;
	line-height:1.35!important;
}
:where(.tls-calc-help,.tls-doc-help,.tls-util-help,.tls-file-help,.tls-pdfc-help,.tls-pdfws-help){
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.5!important;
	color:var(--tls-ui-muted)!important;
}
:where(.tls-calc-app,.tls-doc-app,.tls-util-app,.tls-invoice-app,.tls-quote-app,.tls-file-app)
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){
	font-family:var(--tls-ui-font)!important;
	font-size:14px!important;
	font-weight:400!important;
	color:var(--tls-ui-ink)!important;
}
:where(.tls-calc-app,.tls-doc-app,.tls-util-app,.tls-invoice-app,.tls-quote-app)
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select){
	min-height:44px!important;
}
:where(.tls-calc-app,.tls-doc-app,.tls-util-app,.tls-invoice-app,.tls-quote-app,.tls-file-app) button{
	font-family:var(--tls-ui-font)!important;
	font-size:13px!important;
	font-weight:600!important;
	line-height:1.2!important;
}
:where(
	.tls-calc-primary,.tls-calc-secondary,.tls-doc-primary,.tls-doc-secondary,.tls-doc-add-item,
	.tls-util-primary,.tls-util-secondary,.tls-invoice-primary,.tls-invoice-secondary,
	.tls-quote-primary,.tls-quote-secondary,.tls-file-primary,.tls-file-secondary
){
	min-height:44px!important;
	border-radius:10px!important;
}
.tls-file-app .tls-dropzone{
	min-height:210px;
	border-width:1.5px!important;
	border-color:#a4bcfd!important;
	border-radius:16px!important;
	background:linear-gradient(180deg,#f7faff,#f8fafc)!important;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.tls-file-app .tls-dropzone:hover,
.tls-file-app .tls-dropzone:focus-visible,
.tls-file-app .tls-dropzone.is-dragging{
	border-color:var(--tls-ui-primary)!important;
	background:#eff6ff!important;
	box-shadow:0 0 0 4px rgba(37,99,235,.08)!important;
}
.tls-file-app .tls-dropzone strong{
	font-size:15px!important;
	font-weight:600!important;
	color:var(--tls-ui-ink)!important;
}
.tls-file-app .tls-dropzone strong + span{
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.55!important;
	color:var(--tls-ui-muted)!important;
}
.tls-file-app .tls-pdfc-dropzone{min-height:260px!important}
.tls-file-app .tls-pdfc-dropzone strong{font-size:15px!important;font-weight:600!important}
.tls-file-app .tls-pdfc-dropzone span:not(.tls-pdfc-drop-icon){font-size:12px!important}
.tls-pdfws :where(button,input,select){font-family:var(--tls-ui-font)!important}
.tls-pdfws button{min-height:38px;font-size:12px!important;font-weight:600!important}
.tls-pdfws :where(.tls-pdfws-engine-title,.tls-pdfws-toolbar button,.tls-pdfws-output button){font-size:12px!important}
.tls-pdfws :where(.tls-pdfws-engine-detail,.tls-pdfws-page-meta,.tls-pdfws-output small){
	font-size:11px!important;
	line-height:1.45!important;
}
.tls-pdfws :where(input,select){font-size:13px!important}
:where(.tls-calc-card,.tls-calc-results-card,.tls-doc-panel,.tls-util-card,.tls-invoice-panel,.tls-quote-panel,.tls-file-card,.tls-pdfc-card){
	border-color:var(--tls-ui-line)!important;
	box-shadow:var(--tls-ui-shadow)!important;
}
.tcs-hub{
	--b:var(--tls-ui-primary)!important;
	--bd:var(--tls-ui-primary-dark)!important;
	--soft:var(--tls-ui-primary-soft)!important;
	--ink:var(--tls-ui-ink)!important;
	--text:var(--tls-ui-text)!important;
	--muted:var(--tls-ui-muted)!important;
	--line:var(--tls-ui-line)!important;
}
.tcs-tool-body p,.tcs-post-body p{font-size:13px!important}
.tcs-tool-meta small,.tcs-open,.tcs-read,.tcs-category-all{font-size:12px!important}
.tcs-tool-meta em,.tcs-post-meta{font-size:11px!important}
.tcs-category-tools a{font-size:11px!important}
.tcs-filters button,.tcs-blog-categories button{
	min-height:44px!important;
	font-size:12px!important;
	font-weight:600!important;
}
@media(max-width:700px){
	body:not(.wp-admin){font-size:15px}
	:where(.tls-file-header h1,.tls-calc-header h1,.tls-doc-header h1,.tls-util-header h1,.tls-invoice-header h1,.tls-quote-header h1){
		font-size:34px!important;
	}
	:where(.tls-file-app,.tls-calc-app,.tls-doc-app,.tls-util-app,.tls-invoice-app,.tls-quote-app){
		padding-left:14px!important;
		padding-right:14px!important;
	}
	.tls-file-app .tls-dropzone{min-height:180px}
	.tls-file-app .tls-pdfc-dropzone{min-height:210px!important}
	.tls-pdfws button{min-height:42px}
}
@media(prefers-reduced-motion:reduce){
	*,*::before,*::after{
		scroll-behavior:auto!important;
		transition-duration:.01ms!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
	}
}


/* =========================================================
   Tooloos UI System v2 — QA-driven normalization
   Added after automated desktop/mobile audit.
   ========================================================= */

/* Editor microcopy should be readable; printed document paper scale remains untouched. */
:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app,.tls-util-app,.tls-file-app,.tls-pdfws,.tls-pdfc)
:where(
	.tls-panel-heading>div>span,
	.tls-quote-panel-heading>div>span,
	.tls-doc-panel-heading>span,
	.tls-util-card-head>div>span,
	.tls-file-card-heading>div>span,
	.tls-pdfc-card-head span,
	.tls-pdfws-side-title span,
	.tls-pdfws-engine span
){
	font-size:11px!important;
	font-weight:600!important;
	line-height:1.35!important;
	letter-spacing:.055em!important;
}

:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app,.tls-util-app,.tls-file-app,.tls-pdfws,.tls-pdfc)
:where(
	.tls-field>span,
	.tls-quote-field>span,
	.tls-doc-field>span,
	.tls-util-field>span,
	.tls-file-field>span,
	.tls-pdfc-field>span,
	.tls-pdfws-field>span
){
	font-size:12px!important;
	font-weight:600!important;
	line-height:1.4!important;
}

/* Toolbars and helper messages. */
:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app,.tls-util-app,.tls-file-app,.tls-pdfws,.tls-pdfc)
:where(
	.tls-preview-toolbar span,
	.tls-quote-preview-toolbar span,
	.tls-doc-preview-toolbar span,
	.tls-file-note,
	.tls-file-privacy,
	.tls-pdfc-note,
	.tls-pdfc-recommendation,
	.tls-pdfc-result-message,
	.tls-pdfws-note,
	.tls-util-note
){
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.5!important;
}

/* File/PDF controls were the smallest UI family in the QA report. */
.tls-file-app :where(.tls-mini-button,.tls-page-controls button,.tls-file-button,.tls-file-primary,.tls-file-danger){
	font-size:12px!important;
	font-weight:600!important;
	min-height:40px!important;
}
.tls-file-app .tls-page-controls button{
	min-width:38px!important;
	padding:0 9px!important;
}
.tls-file-app :where(.tls-progress-head,.tls-result-copy span,.tls-page-card strong,.tls-file-copy span){
	font-size:11px!important;
}

.tls-pdfc :where(.tls-pdfc-button,.tls-pdfc-icon-button){
	font-size:12px!important;
	font-weight:600!important;
	min-height:40px!important;
}
.tls-pdfc :where(.tls-pdfc-file-copy span,.tls-pdfc-stat span,.tls-pdfc-side-title span,.tls-pdfc-toggle span,.tls-pdfc-progress-head,.tls-pdfc-result-stat span,.tls-pdfc-preview-head,.tls-pdfc-weight-row,.tls-pdfc-weight-row em){
	font-size:11px!important;
	line-height:1.4!important;
}
.tls-pdfc :where(.tls-pdfc-field select,.tls-pdfc-field input[type="number"]){
	font-size:13px!important;
	min-height:42px!important;
}

.tls-pdfws :where(.tls-pdfws-button,.tls-pdfws-icon-button){
	font-size:12px!important;
	font-weight:600!important;
	min-height:40px!important;
}
.tls-pdfws :where(.tls-pdfws-stat,.tls-pdfws-add-copy span,.tls-pdfws-empty span,.tls-pdfws-page-number,.tls-pdfws-page-meta strong,.tls-pdfws-page-meta span,.tls-pdfws-side-section h3,.tls-pdfws-progress-head,.tls-pdfws-output strong,.tls-pdfws-output span){
	font-size:11px!important;
	line-height:1.4!important;
}
.tls-pdfws :where(.tls-pdfws-field input,.tls-pdfws-field select){
	font-size:13px!important;
	min-height:42px!important;
}

/* Utility controls. */
.tls-util-app :where(.tls-util-case-buttons button,.tls-util-swap,.tls-util-button,.tls-util-primary){
	font-size:12px!important;
	font-weight:600!important;
	min-height:40px!important;
}
.tls-util-app :where(.tls-util-stat span,.tls-strength-label,.tls-util-result-large span){
	font-size:11px!important;
}

/* Business-document editor controls; do not change the printable paper typography. */
:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app)
:where(
	.tls-add-item,.tls-quote-add-item,.tls-doc-add-item,
	.tls-secondary,.tls-primary,.tls-quote-secondary,.tls-quote-primary,
	.tls-doc-secondary,.tls-doc-primary
){
	font-size:12px!important;
	font-weight:600!important;
	min-height:42px!important;
}

/* Keep preview/editor grids from contributing to root-page overflow on phones. */
:where(.tls-doc-app,.tls-invoice-app,.tls-quote-app)
:where(
	.tls-doc-layout,.tls-doc-editor,.tls-doc-preview-panel,.tls-doc-paper,
	.tls-layout,.tls-editor,.tls-preview-panel,.tls-paper,
	.tls-quote-layout,.tls-quote-editor,.tls-quote-preview-panel,.tls-quote-paper
){
	min-width:0!important;
	max-width:100%!important;
}
.tls-doc-paper{
	overflow:hidden!important;
}
.tls-doc-paper-table{
	max-width:100%!important;
	overflow-x:auto!important;
	-webkit-overflow-scrolling:touch;
}

/* Directory/meta text raised slightly without making cards visually heavy. */
.tls-directory-badge{font-size:10px!important}
.tls-directory-meta{font-size:11px!important}

/* Mobile touch targets. */
@media(max-width:700px){
	:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app,.tls-util-app,.tls-file-app,.tls-pdfws,.tls-pdfc)
	:where(button,input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),select){
		min-height:40px;
	}
	.tls-doc-paper{
		width:100%!important;
		max-width:100%!important;
	}
}


/* =========================================================
   Tooloos final freeze pass — remaining QA warnings
   ========================================================= */

/* Directory/card microcopy was still under the 10.5px QA floor. */
.tls-directory-badge{
	font-size:11px!important;
	min-height:28px!important;
}
.tls-directory-meta{
	font-size:11px!important;
}
.tls-directory-open{
	min-height:34px!important;
	align-items:center!important;
}

/* Business-document editor microcopy (print paper excluded). */
.tls-doc-preview-toolbar span{
	font-size:11px!important;
}
.tls-doc-panel-heading span{
	font-size:11px!important;
}
.tls-doc-add-item{
	min-height:40px!important;
	font-size:12px!important;
}

/* Invoice / quotation editor icon controls. Printed paper remains untouched. */
:where(.tls-invoice-app,.tls-quote-app)
:where(
	button:not(.tls-paper *):not(.tls-invoice-paper *):not(.tls-quote-paper *),
	.tls-icon-button,
	.tls-quote-icon-button
){
	min-height:36px;
}

/* Mobile editing controls should meet a comfortable touch floor. */
@media(max-width:700px){
	:where(.tls-invoice-app,.tls-quote-app,.tls-doc-app)
	:where(
		button:not(.tls-paper *):not(.tls-invoice-paper *):not(.tls-quote-paper *):not(.tls-doc-paper *),
		input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
		select,
		textarea
	){
		min-height:40px!important;
	}
}
