/* Shared application typography. Keep document/PDF typography independent. */
:root{
 --text-xs:0.875rem;
 --text-sm:1rem;
 --text-base:1.125rem;
 --text-lg:1.25rem;
 --text-xl:1.375rem;
 --text-2xl:1.625rem;
 --text-3xl:2rem;
 --text-4xl:2.375rem;
 --text-5xl:3.125rem;
}
body{font-size:18px;line-height:1.55;text-rendering:optimizeLegibility}
input,select,textarea,button{font-family:var(--font-sans,"DM Sans",sans-serif)}
#root [class~="text-[9px]"]{font-size:11px}
#root [class~="text-[10px]"]{font-size:12px}
#root [class~="text-[11px]"]{font-size:13px}
#root [class~="text-[12px]"]{font-size:14px}
#root [class~="text-[13px]"]{font-size:15px}
#root .ib-business{font-size:16px;line-height:1.55}
#root .ib-business .ib-button{font-size:16px;line-height:1.45}
#root .ib-business .ib-table{font-size:14px;line-height:1.55}
#root .ib-business .ib-table th{font-size:15px;line-height:1.45}
#root .ib-business .ib-field>span{font-size:14px;line-height:1.5}
#root .ib-business .ib-field input,#root .ib-business .ib-field select,#root .ib-business .ib-field textarea{font-size:16px}
#root .ib-business .ib-card-head p,#root .ib-business .ib-clients-secondary{font-size:14px;line-height:1.55}
#root .ib-business .ib-page-heading h1{font-size:31px;line-height:1.25}
#root .ib-business .ib-card h2{font-size:21px;line-height:1.35}
#root .ib-business .ib-card h3{font-size:18px;line-height:1.4}
#root .ib-business .ib-tab{font-size:16px}
@media(max-width:650px){#root .ib-business .ib-page-heading h1{font-size:28px}}
#root .crm-sidebar,#root .nav-flyout{
 --text-xs:.75rem;
 --text-sm:.875rem;
 --text-base:1rem;
 --text-lg:1.125rem;
 --text-xl:1.25rem;
 font-size:16px;
 line-height:1.5;
}
#root .crm-sidebar .nav-item{font-size:14px;line-height:1.5}
#root .crm-sidebar [class~="text-[10px]"]{font-size:10px}
#root .crm-sidebar [class~="text-[11px]"]{font-size:11px}

/* One action-button shape across Business, Scanner, Design, Admin and auth.
   Navigation, menu choices, selectors, tabs and icon-only controls keep their roles. */
#root :is(.ib-button,.btn-primary,button[class*="rounded"][class*="px-"],a.inline-flex[class*="rounded"][class*="px-"]):not(.crm-sidebar *,.nav-flyout *,.nav-item,.rail-icon,.ib-tab,[role="tab"],[role="switch"],[role="radio"],[role="checkbox"],[role="combobox"],[role="option"],[role="menuitem"],[aria-haspopup],[class*="text-left"],.inweb-back-link,.iq-back,.inweb-language-trigger,.iq-offer-link,.iq-more-button,[class*="rounded-full"][class*="h-"][class*="w-"]){
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:15px;
 min-height:44px;
 padding:10px 15px;
 border-radius:10px!important;
 font-family:var(--font-sans,"DM Sans",sans-serif);
 font-size:16px;
 font-weight:600;
 line-height:1.45;
 text-align:center;
 text-decoration:none;
 box-shadow:none;
 cursor:pointer;
 transition:background .15s,border-color .15s,opacity .15s;
}
#root :is(.btn-primary,.ib-button.ib-primary){background:var(--accent,#147864);border:1px solid transparent;color:#fff;box-shadow:none}
#root :is(.btn-primary,.ib-button.ib-primary):hover:not(:disabled){filter:brightness(1.07)}
#root :is(.ib-button,.btn-primary):focus-visible{outline:2px solid var(--accent,#147864);outline-offset:3px}
#root :is(.ib-button,.btn-primary):disabled{opacity:.45;cursor:not-allowed}

/* Shared back control, matching the Services page. */
#root :is(.iq-back,.inweb-back-link){display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:0;padding:0;margin:0 0 24px;border:0;border-radius:0!important;background:transparent;box-shadow:none;font-family:var(--font-sans,"DM Sans",sans-serif);font-size:16px;font-weight:400;line-height:1.5;color:var(--ink,#172b2a);text-align:left;text-decoration:none;cursor:pointer}
#root .inweb-back-link::before{content:'←';flex-shrink:0}
#root .inweb-back-link>svg{display:none}
#root :is(.iq-back,.inweb-back-link):hover:not(:disabled){color:var(--accent,#147864);text-decoration:underline;text-underline-offset:4px}
#root :is(.iq-back,.inweb-back-link):focus-visible{outline:2px solid var(--accent,#147864);outline-offset:4px}
#root :is(.iq-back,.inweb-back-link):disabled{opacity:.45;cursor:not-allowed}
#root .iq-preview-top .iq-back{margin-bottom:0}

/* Language picker keeps its original compact pill style. */
#root .inweb-language-trigger{font-size:12px;line-height:16px}
#root .lang-menu{--text-sm:.875rem;--text-xs:.75rem}
#root .lang-menu [class~="text-[10px]"]{font-size:10px}

/* Compact edit actions in catalogue rows. */
#root .ib-business .ib-catalog .ib-table :is(a,button).ib-button.ib-button-small{min-height:36px;padding:6px 12px;font-size:14px;gap:8px}

/* Shared field shape, matching New service / Unit. Preserve control sizing,
   validation colours and non-text controls (checkboxes, sliders, uploads). */
#root :is(input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],select,textarea,.iq-select-trigger,[role="combobox"]):not(.inweb-language-trigger){
 border-radius:9px!important;
 border-style:solid;
 border-width:1px;
 background-color:color-mix(in srgb,var(--foam,#fff) 96%,var(--ink,#172b2a))!important;
 color:var(--ink,#172b2a);
}
#root :is(input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],select,textarea,.iq-select-trigger,[role="combobox"]):not(.inweb-language-trigger):not([aria-invalid="true"]){border-color:color-mix(in srgb,var(--ink,#172b2a) 55%,var(--foam,#fff))!important}
#root :is(input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],select,textarea,.iq-select-trigger,[role="combobox"]):not(.inweb-language-trigger):focus{box-shadow:none!important;outline:1px solid color-mix(in srgb,var(--ink,#172b2a) 55%,var(--foam,#fff))!important;outline-offset:2px}

/* Compact single-line fields; multiline descriptions retain their usable height. */
#root :is(input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],select,.iq-select-trigger,[role="combobox"]):not(.inweb-language-trigger){height:42px!important;min-height:42px!important;padding-top:8px!important;padding-bottom:8px!important;box-sizing:border-box}
