@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #0b0d10;--paper: #f3f5f8;--surface: #ffffff;--surface-2: #f8f9fb;--stone: #dde2e8;--stone-soft: #eef1f5;--blue: #008cff;--blue-dark: #005eb5;--blue-deeper: #004f99;--blue-tint: rgba(0, 140, 255, .12);--orange: #ff8a00;--orange-dark: #a85400;--orange-tint: rgba(255, 138, 0, .14);--teal: #00c6b8;--teal-dark: #00796e;--teal-tint: rgba(0, 198, 184, .14);--gold: #d4a017;--gold-dark: #7d5a00;--gold-tint: rgba(212, 160, 23, .16);--slate: #5b6673;--slate-tint: rgba(91, 102, 115, .12);--red: #c62828;--red-dark: #b71c1c;--red-tint: rgba(198, 40, 40, .1);--text: #111418;--text-muted: #4b5563;--text-faint: #5b6673;--text-on-dark: #eef1f5;--text-on-dark-muted: #9aa4b0;--line: #dde2e8;--line-soft: #e8ecf1;--line-strong: #c5cdd6;--accent: var(--blue);--accent-text: var(--blue-dark);--accent-tint: var(--blue-tint);--accent-solid: var(--blue-dark);--accent-solid-hover: var(--blue-deeper);--on-accent: #ffffff;--highlight: var(--orange);--highlight-text: var(--orange-dark);--success: var(--teal);--success-text: var(--teal-dark);--success-tint: var(--teal-tint);--warning: var(--gold);--warning-text: var(--gold-dark);--warning-tint: var(--gold-tint);--warning-line: color-mix(in srgb, var(--gold) 45%, var(--surface));--danger: var(--red);--danger-text: var(--red-dark);--danger-tint: var(--red-tint);--danger-line: color-mix(in srgb, var(--red) 35%, var(--surface));--on-danger: #ffffff;--info: var(--slate);--info-text: #4b5563;--neutral-tint: var(--slate-tint);--brand-ring: linear-gradient(90deg, var(--gold) 0 25%, var(--teal) 25% 50%, var(--blue) 50% 75%, var(--orange) 75% 100%);--sidebar: var(--ink);--sidebar-text: var(--text-on-dark);--sidebar-muted: var(--text-on-dark-muted);--sidebar-line: rgba(238, 241, 245, .12);--sidebar-active: rgba(238, 241, 245, .1);--sidebar-hover: rgba(238, 241, 245, .06);--sidebar-width: 248px;--sidebar-rail: 68px;--bar-height: 56px;--overlay: rgba(11, 13, 16, .6);--stripe: #635bff;--signature-bg: #ffffff;--eng-0: #008cff;--eng-1: #ff8a00;--eng-2: #00b3a6;--eng-3: #d4a017;--eng-4: #8e5bd6;--eng-5: #e0457b;--eng-6: #2e9e4f;--eng-7: #b5532c;--eng-8: #3f51b5;--eng-9: #7a8794;--font-display: "Montserrat Variable", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-sans: "Montserrat Variable", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-body-sm: 13px;--fs-body: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 28px;--fs-4xl: 32px;--fs-5xl: 38px;--fs-title: clamp(28px, 3.6vw, 40px);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--space-px: 1px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--r-sm: 3px;--r-md: 5px;--r-lg: 8px;--r-xl: 14px;--r-pill: 999px;--r-round: 50%;--shadow-sm: 0 1px 2px rgba(11, 13, 16, .06), 0 1px 3px rgba(11, 13, 16, .04);--shadow-md: 0 2px 6px rgba(11, 13, 16, .08), 0 8px 24px rgba(11, 13, 16, .06);--shadow-lg: 0 8px 20px rgba(11, 13, 16, .1), 0 24px 60px rgba(11, 13, 16, .12);--focus-ring: 0 0 0 3px var(--blue-tint);--ease: cubic-bezier(.2, .8, .2, 1);--t-fast: .12s;--t-base: .2s;color-scheme:light;font-family:var(--font-sans);color:var(--text);background:var(--paper);font-synthesis:none}@media screen{:root[data-theme=dark]{--ink: #0b0d10;--paper: #0b0d10;--surface: #14171c;--surface-2: #1a1e24;--stone: #2a3039;--stone-soft: #20252c;--blue-dark: #3aa3ff;--blue-tint: rgba(0, 140, 255, .18);--orange-dark: #ff9d2e;--orange-tint: rgba(255, 138, 0, .16);--teal-dark: #2fd4c7;--teal-tint: rgba(0, 198, 184, .16);--gold-dark: #e2b33a;--gold-tint: rgba(212, 160, 23, .18);--slate: #8a95a1;--slate-tint: rgba(138, 149, 161, .16);--red: #ff6b5b;--red-dark: #ff8a7d;--red-tint: rgba(255, 107, 91, .14);--text: #eef1f5;--text-muted: #a3adb8;--text-faint: #8a95a1;--line: #2a3039;--line-soft: #20252c;--line-strong: #37404b;--accent-solid: #005eb5;--accent-solid-hover: #004f99;--on-danger: #0b0d10;--info-text: #a3adb8;--sidebar: #050608;--overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 6px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .45), 0 24px 60px rgba(0, 0, 0, .4);color-scheme:dark}}.practice-banner{padding:var(--space-1-5) var(--space-4);background:var(--orange);color:var(--ink);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;text-align:center}.practice-banner strong{font-weight:var(--fw-heavy)}@media print{.practice-banner{display:none}}@media(prefers-reduced-motion:reduce){:root{--t-fast: .01ms;--t-base: .01ms}}h1,.office-metrics strong,.attention-count{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:-.01em}table,time,input[type=number],.office-metrics strong,.money-input,.invoice-lines,.invoice-bottom dl,.basket-lines,.payment-history,.credit-line,.invoice-list,.job-list{font-variant-numeric:tabular-nums}::selection{background:var(--accent-tint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent-text)}::placeholder{color:var(--text-faint);opacity:1}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading,.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at top right,var(--accent-tint),transparent 45%),var(--paper)}.auth-card{width:min(100%,480px);padding:var(--space-10);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.brand{margin-bottom:var(--space-10)}.brand-lockup{--logo: 64px;display:inline-flex;align-items:center;gap:calc(var(--logo) * .0435);color:var(--text)}.brand img{display:block;flex:none;width:var(--logo, 64px);height:var(--logo, 64px)}.brand-wordmark{display:flex;flex-direction:column;gap:calc(var(--logo) * .0503)}.brand-wordmark .brand-name{font-size:calc(var(--logo) * .62);font-weight:var(--fw-heavy);line-height:.9;letter-spacing:.02em}.brand-wordmark .brand-sub{font-size:calc(var(--logo) * .1405);font-weight:var(--fw-bold);line-height:1;letter-spacing:.17em;text-transform:uppercase}.kicker{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.1em;color:var(--highlight-text);font-size:var(--fs-sm);font-weight:var(--fw-bold)}h1{margin:0;font-size:var(--fs-title);line-height:1.1;letter-spacing:-.01em}h2{margin:0;font-size:var(--fs-2xl)}.muted{color:var(--text-muted);line-height:1.6}.form-stack{display:grid;gap:var(--space-4-5);margin-top:var(--space-8)}.field{display:grid;gap:var(--space-2);color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--space-3) var(--space-3-5);background:var(--surface);color:var(--text);font-weight:var(--fw-regular);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.field small{color:var(--text-faint);font-weight:var(--fw-regular)}.primary,.secondary{border:0;border-radius:var(--r-md);padding:var(--space-3-5) var(--space-4-5);font-weight:var(--fw-semibold)}.primary{background:var(--accent-solid);color:var(--on-accent)}.primary:hover{background:var(--accent-solid-hover)}.primary:disabled{opacity:.6}.compact{padding:var(--space-3) var(--space-4)}.secondary{background:var(--stone-soft);color:var(--text)}.error{padding:var(--space-3) var(--space-3-5);border-radius:var(--r-md);background:var(--danger-tint);color:var(--danger-text);margin:0;font-size:var(--fs-body)}.workspace{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns var(--t-base) var(--ease)}.workspace aside{position:sticky;top:0;z-index:6;min-width:0;height:100vh;padding:0;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column}.workspace aside .brand{position:relative;flex:none;height:var(--bar-height);margin:0}.workspace aside .brand:after{content:"";position:absolute;right:var(--space-5);bottom:0;left:var(--space-5);height:2px;border-radius:var(--r-pill);background:var(--brand-ring)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2-5);padding:0 var(--space-5)}.workspace aside .brand img{width:24px;height:24px}.sidebar-brand .brand-name{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1;letter-spacing:.04em;color:var(--sidebar-text)}.workspace nav{flex:1 1 auto;min-height:0;display:grid;align-content:start;gap:var(--space-0-5);padding:var(--space-2) var(--space-2-5) var(--space-3)}.workspace nav button{display:flex;align-items:center;gap:var(--space-2-5);border:0;text-align:left;padding:var(--space-2-5) var(--space-3);border-radius:var(--r-md);background:transparent;color:var(--sidebar-muted);font-size:var(--fs-body);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.workspace nav button:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.workspace nav button.nav-active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--highlight);color:var(--sidebar-text);font-weight:var(--fw-semibold)}.icon{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.workspace nav em{float:right;font-size:var(--fs-2xs);font-style:normal;text-transform:uppercase}.user{flex:none;margin-top:auto;padding:var(--space-3) var(--space-4) var(--space-3-5);border-top:1px solid var(--sidebar-line);display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-1) var(--space-2-5);align-items:center}.user>span{width:32px;height:32px;border-radius:var(--r-round);display:grid;place-items:center;background:var(--accent-solid);color:var(--on-accent);font-size:var(--fs-body-sm);font-weight:var(--fw-bold)}.user div{display:grid}.user small{color:var(--sidebar-muted);text-transform:capitalize}.user button{grid-column:1/3;margin-top:0;border:0;background:transparent;color:var(--sidebar-muted);text-align:left;padding:var(--space-1) 0;font-size:var(--fs-body)}.user button:hover{color:var(--sidebar-text)}.workspace .user .user-account{grid-column:2}.user .sidebar-toggle{display:flex;align-items:center;gap:var(--space-2-5)}.user .sidebar-toggle .icon{width:16px;height:16px}@media(min-width:761px){.workspace.sidebar-collapsed{grid-template-columns:var(--sidebar-rail) minmax(0,1fr)}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-collapsed .sidebar-brand .brand-name,.sidebar-collapsed .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sidebar-collapsed nav button{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .user{grid-template-columns:1fr;justify-items:center;padding-left:0;padding-right:0}.workspace.sidebar-collapsed .user>*{grid-column:1}.workspace.sidebar-collapsed .user .user-account,.workspace.sidebar-collapsed .user .theme-toggle,.workspace.sidebar-collapsed .user .sign-out{display:none}}.user .theme-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.theme-switch{position:relative;flex:0 0 auto;width:30px;height:18px;border-radius:var(--r-pill);background:var(--sidebar-line);transition:background-color var(--t-fast) var(--ease)}.theme-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--r-round);background:var(--sidebar-text);transition:transform var(--t-fast) var(--ease)}.theme-toggle[aria-pressed=true] .theme-switch{background:var(--accent-solid)}.theme-toggle[aria-pressed=true] .theme-switch:after{transform:translate(12px)}.content{padding:clamp(var(--space-7),5vw,var(--space-16));max-width:1300px;width:100%;margin:auto}.workspace-main{min-width:0;display:flex;flex-direction:column}.workspace-main>.content{margin:0 auto;padding-top:clamp(var(--space-6),3vw,var(--space-10))}.topbar{position:sticky;top:0;z-index:5;height:var(--bar-height);flex:none;display:flex;align-items:center;gap:var(--space-4);padding:0 clamp(var(--space-4),3vw,var(--space-8));background:var(--paper);border-bottom:1px solid var(--line)}.topbar-search{position:relative;flex:1 1 auto;min-width:0;max-width:620px}.topbar-search-form{display:flex;align-items:center;gap:var(--space-2)}.topbar-search-field{flex:1;min-width:0;height:38px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-faint)}.topbar-search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.topbar-search-field .icon{width:16px;height:16px}.topbar-search-field input{flex:1;min-width:0;height:100%;border:0;outline:none;background:transparent;color:var(--text);font-size:var(--fs-body)}.topbar-search-form .compact,.new-button{height:38px;padding-top:0;padding-bottom:0}.search-results{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;max-height:min(70vh,560px);overflow:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.search-results .panel{margin:0}.search-results>.error{margin:0;padding:var(--space-3) var(--space-4);background:var(--surface)}.topbar-spacer{flex:1}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.new-menu{position:relative}.new-button{display:inline-flex;align-items:center;gap:var(--space-1-5)}.new-button .icon{width:15px;height:15px;stroke-width:2.2}.new-menu-list{position:absolute;top:calc(100% + var(--space-1-5));right:0;min-width:200px;display:grid;padding:var(--space-1) 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.new-menu-list button{border:0;background:transparent;text-align:left;padding:var(--space-2-5) var(--space-4);color:var(--text);font-size:var(--fs-body)}.new-menu-list button:hover,.new-menu-list button:focus-visible{background:var(--accent-tint);outline:none}.content header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}.empty{text-align:center;padding:var(--space-20) var(--space-6)}.empty>div{font-size:var(--fs-5xl);color:var(--accent-text)}.empty h2{margin-top:var(--space-3)}.empty p{color:var(--text-muted)}.empty.small{padding:var(--space-9)}.customer-list>button{width:100%;border:0;border-bottom:1px solid var(--line-soft);background:var(--surface);display:grid;grid-template-columns:46px 1fr auto;gap:var(--space-4);align-items:center;text-align:left;padding:var(--space-4-5) var(--space-5);color:var(--text)}.customer-list>button:hover{background:var(--surface-2)}.customer-list>button:last-child{border-bottom:0}.avatar{width:42px;height:42px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-text);font-weight:var(--fw-bold)}.customer-list button>span:nth-child(2){display:grid;gap:var(--space-1)}.customer-list small{color:var(--text-faint)}.count{color:var(--text-muted);font-size:var(--fs-body)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--overlay);display:grid;place-items:center;padding:var(--space-5)}.modal{width:min(100%,720px);max-height:92vh;overflow:auto;padding:var(--space-8);background:var(--surface);border-radius:var(--r-xl)}.modal-head{display:flex;justify-content:space-between;margin-bottom:var(--space-7)}.modal-head>button,.modal-head .header-actions>button[aria-label^=Close]{border:0;background:transparent;font-size:var(--fs-4xl);color:var(--text-muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4-5)}.full{grid-column:1/3}.actions{display:flex;justify-content:flex-end;gap:var(--space-2-5);margin-top:var(--space-2)}.back{border:0;background:transparent;color:var(--accent-text);padding:0;margin-bottom:var(--space-6);font-weight:var(--fw-semibold)}.detail{padding:var(--space-7);margin-bottom:var(--space-5)}.detail>h2{margin-bottom:var(--space-5)}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3-5)}.property-grid article{display:flex;gap:var(--space-3-5);padding:var(--space-4-5);border:1px solid var(--line);border-radius:var(--r-lg)}.property-grid article>span{font-size:var(--fs-2xl);color:var(--accent-text)}.property-grid p{color:var(--text-muted);line-height:1.5}.property-grid small{text-transform:capitalize;color:var(--accent-text)}.detail>p{white-space:pre-wrap;color:var(--text-muted)}.toolbar{display:flex;gap:var(--space-4-5);align-items:center;margin:0 0 var(--space-4-5)}.toolbar>input{flex:1;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--space-3-5) var(--space-4);background:var(--surface)}.toolbar label{display:flex;gap:var(--space-2);align-items:center;color:var(--text-muted);font-size:var(--fs-body);white-space:nowrap}.archived{display:inline-block;margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);background:var(--neutral-tint);color:var(--text-muted);font-size:var(--fs-2xs);font-style:normal;text-transform:uppercase}.header-actions,.record-actions,.item-actions{display:flex;gap:var(--space-2-5);flex-wrap:wrap}.record-actions{margin:calc(-1 * var(--space-3-5)) 0 var(--space-6)}.record-actions button,.item-actions button{border:0;background:transparent;color:var(--accent-text);padding:var(--space-1) 0;font-weight:var(--fw-semibold)}.record-actions .danger-link,.item-actions button:last-child{color:var(--danger-text)}.item-actions{margin-top:var(--space-3)}.item-actions button{font-size:var(--fs-sm);margin-right:var(--space-2-5)}.history-row{display:grid;gap:var(--space-1-5);padding:var(--space-3-5) 0;border-bottom:1px solid var(--line-soft);text-transform:capitalize}.history-row span{color:var(--text-muted);font-size:var(--fs-body-sm)}.audit-list article{display:grid;grid-template-columns:38px 1fr auto;gap:var(--space-3-5);align-items:center;padding:var(--space-4-5) var(--space-6);border-bottom:1px solid var(--line-soft)}.audit-list article:last-child{border-bottom:0}.audit-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-round);background:var(--accent-tint);color:var(--accent-text)}.audit-list p{margin:var(--space-1) 0 0;color:var(--text-muted)}.audit-meta{display:grid;text-align:right;gap:var(--space-1)}.audit-meta time{color:var(--text-muted);font-size:var(--fs-sm)}.account-list article{display:grid;grid-template-columns:44px 1fr auto auto;gap:var(--space-4);align-items:center;padding:var(--space-4-5) var(--space-6);border-bottom:1px solid var(--line-soft)}.account-list article:last-child{border-bottom:0}.account-list p{margin:var(--space-1) 0 0;color:var(--text-muted)}.protected{display:inline-block;margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);background:var(--success-tint);color:var(--success-text);font-size:var(--fs-2xs);font-style:normal;text-transform:uppercase;vertical-align:middle}.role{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase}.role-owner{background:var(--warning-tint);color:var(--warning-text)}.role-engineer{background:var(--success-tint);color:var(--success-text)}.account-actions{display:flex;gap:var(--space-3)}.account-actions button{border:0;background:transparent;color:var(--accent-text);font-weight:var(--fw-semibold)}.account-actions button:last-child{color:var(--danger-text)}.account-actions button:disabled{color:var(--text-faint);cursor:not-allowed}.narrow{width:min(100%,520px)}.success{padding:var(--space-3-5);border-radius:var(--r-md);background:var(--success-tint);color:var(--success-text)}.modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4-5);margin-bottom:var(--space-4-5)}.asset-list{display:grid;gap:var(--space-2-5)}.asset-list article{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4-5);border:1px solid var(--line);border-radius:var(--r-lg)}.asset-list p{margin:var(--space-1-5) 0;color:var(--text-muted)}.asset-list small{display:block;color:var(--text-muted);margin-top:var(--space-1)}.scan-tools{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-2-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.scan-tools strong{display:block;margin-bottom:var(--space-1)}.scan-tools small{color:var(--text-muted);font-size:var(--fs-body)}.scan-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 var(--space-4);border:1px solid var(--accent);border-radius:var(--r-md);color:var(--accent-text);background:var(--surface);font-weight:var(--fw-bold);cursor:pointer}.scan-button input{display:none}.scan-message{margin:var(--space-3) 0 0!important;color:var(--success-text)!important;font-weight:var(--fw-semibold)}.scan-warning{margin:var(--space-2) 0 0!important;color:var(--warning-text)!important}.scan-warning span{display:block;margin-top:var(--space-1)}.asset-label-code{color:var(--accent-text)!important;font-weight:var(--fw-bold)}.label-assignment{max-width:600px}.public-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at top right,var(--accent-tint),transparent 45%),var(--paper)}.public-card{width:min(100%,560px);padding:var(--space-10);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg)}.public-link{display:inline-block;margin-top:var(--space-4);text-decoration:none}.public-contact{margin-top:var(--space-6);color:var(--text-muted)}.text-button{margin-top:var(--space-6);padding:0;border:0;color:var(--text-muted);background:transparent}.scan-record-line{color:var(--text-muted);font-size:var(--fs-lg)}.scan-record{display:grid;gap:var(--space-3);margin:var(--space-6) 0 var(--space-2)}.scan-record div{padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.scan-record dt{margin-bottom:var(--space-1);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase}.scan-record dd{margin:0}.label-controls{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.label-controls>div{min-width:90px}.label-controls>div strong,.label-controls>div span{display:block}.label-controls>div strong{font-size:var(--fs-2xl)}.label-controls>div span{color:var(--text-muted);font-size:var(--fs-sm)}.label-count{width:105px;margin-left:auto}.print-area{margin-bottom:24px}.print-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.label-sheet{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:8px;padding:10px;background:var(--surface)}.qr-sticker{min-height:145px;display:grid;grid-template-columns:1fr 112px 1.25fr;align-items:center;gap:8px;padding:10px;overflow:hidden;border:1px dashed var(--line-strong);color:var(--text);background:var(--surface)}.qr-sticker img{width:112px;height:112px}.sticker-brand{display:flex;align-items:center;gap:7px}.sticker-brand img{display:block;width:100%;max-height:112px;object-fit:contain}.sticker-copy{display:grid;gap:3px}.sticker-brand small,.sticker-copy small{font-size:8px;letter-spacing:.06em}.sticker-copy strong{font-size:12px;line-height:1.35}.requests-panel,.label-stock-panel{padding:var(--space-6);margin-bottom:var(--space-4-5)}.request-list,.label-stock-list{display:grid;gap:var(--space-2-5)}.request-list article{display:flex;justify-content:space-between;gap:var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-lg)}.request-list p,.request-list small{display:block;margin:var(--space-1-5) 0;color:var(--text-muted)}.request-list blockquote{margin:var(--space-3) 0 0;padding-left:var(--space-3);border-left:3px solid var(--line-strong);color:var(--text)}.request-status{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);background:var(--neutral-tint);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase}.status-new{background:var(--warning-tint);color:var(--warning-text)}.status-contacted{background:var(--accent-tint);color:var(--accent-text)}.request-actions{display:flex;align-items:start;gap:var(--space-2-5)}.request-actions button{border:0;color:var(--accent-text);background:transparent;font-weight:var(--fw-semibold);white-space:nowrap}.label-stock-list article{display:grid;grid-template-columns:24px 130px 90px 1fr auto;align-items:center;gap:var(--space-3-5);padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.label-stock-list small{color:var(--text-muted)}.appliance-register article{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--line-soft)}.appliance-register article:last-child{border-bottom:0}.appliance-register p,.appliance-register small{margin:var(--space-1-5) 0 0;color:var(--text-muted)}.appliance-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-lg);color:var(--accent-text);background:var(--accent-tint);font-weight:var(--fw-bold)}.appliance-service{display:grid;justify-items:end;gap:var(--space-2)}.jobs-toolbar select{min-width:190px;padding:var(--space-3) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.job-list>button{width:100%;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4-5) var(--space-3);border:0;border-bottom:1px solid var(--line-soft);text-align:left;color:inherit;background:var(--surface)}.job-list>button:hover{background:var(--surface-2)}.job-list>button>span{display:grid;gap:var(--space-1-5)}.job-list>button>span:last-child{justify-items:end}.job-list small{color:var(--text-muted)}.job-priority{width:5px;height:48px;border-radius:var(--r-md);background:var(--line-strong)}.priority-urgent{background:var(--warning)}.priority-emergency{background:var(--danger)}.priority-low{background:var(--info)}.job-status{display:inline-block;width:fit-content;padding:var(--space-1-5) var(--space-2);border-radius:var(--r-pill);color:var(--accent-text);background:var(--accent-tint);font-size:var(--fs-2xs);font-style:normal;font-weight:var(--fw-bold);text-transform:uppercase}.job-status-awaiting_parts,.job-status-awaiting_customer{color:var(--warning-text);background:var(--warning-tint)}.choice-group{display:flex;flex-wrap:wrap;gap:var(--space-2-5) var(--space-4-5);padding:var(--space-3-5);border:1px solid var(--line-strong);border-radius:var(--r-md)}.choice-group legend{padding:0 var(--space-1-5);color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.choice-group label{color:var(--text-muted);font-size:var(--fs-body)}.job-detail-header{margin-top:var(--space-6)}.job-summary-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-4-5);margin-bottom:var(--space-4-5)}.job-card,.job-appliances,.job-appointments{padding:var(--space-6)}.job-description{white-space:pre-wrap;line-height:1.6}.detail-list{display:grid;gap:var(--space-2);margin:var(--space-6) 0 0}.detail-list div{display:grid;grid-template-columns:130px 1fr;gap:var(--space-3);padding:var(--space-2-5) 0;border-top:1px solid var(--line-soft)}.detail-list dt{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase}.detail-list dd{margin:0}.detail-list select{width:100%;padding:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.access-warning{padding:var(--space-3);border-radius:var(--r-md);color:var(--warning-text);background:var(--warning-tint)}.job-appliances{margin-bottom:var(--space-4-5)}.job-appliances article{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.job-appliances small{color:var(--text-muted)}.appointment-list{display:grid;gap:var(--space-2-5)}.appointment-list article{display:grid;grid-template-columns:145px 1fr auto;gap:var(--space-4-5);align-items:center;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-lg)}.appointment-list p,.appointment-list small{margin:var(--space-1) 0;color:var(--text-muted)}.appointment-date{display:grid;gap:var(--space-1-5)}.appointment-date span{color:var(--text-muted);font-size:var(--fs-body-sm)}.visit-actions{display:grid;justify-items:end;gap:var(--space-2-5)}.visit-actions button{border:0;border-radius:var(--r-md);padding:var(--space-2) var(--space-3);color:var(--on-accent);background:var(--accent-solid);font-weight:var(--fw-bold)}.toolbar>select{min-width:180px;padding:var(--space-3) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.invoice-list>button{width:100%;display:grid;grid-template-columns:1fr auto;gap:var(--space-4-5);padding:var(--space-4-5) var(--space-5);border:0;border-bottom:1px solid var(--line-soft);color:inherit;background:var(--surface);text-align:left}.invoice-list>button:hover{background:var(--surface-2)}.invoice-list>button>span{display:grid;gap:var(--space-1-5)}.invoice-list>button>span:last-child{justify-items:end}.invoice-list small{color:var(--text-muted)}.invoice-status{display:inline-block;width:fit-content;padding:var(--space-1-5) var(--space-2);border-radius:var(--r-pill);color:var(--accent-text);background:var(--accent-tint);font-size:var(--fs-2xs);font-style:normal;font-weight:var(--fw-bold);text-transform:uppercase}.invoice-status-draft{color:var(--text-muted);background:var(--neutral-tint)}.invoice-status-paid{color:var(--success-text);background:var(--success-tint)}.invoice-status-overdue,.invoice-status-cancelled{color:var(--danger-text);background:var(--danger-tint)}.invoice-status-part_paid{color:var(--warning-text);background:var(--warning-tint)}.invoice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3-5);margin-bottom:var(--space-5)}.invoice-toolbar>div{display:flex;flex-wrap:wrap;gap:var(--space-2-5)}.danger{border:0;border-radius:var(--r-md);color:var(--danger-text);background:var(--danger-tint);font-weight:var(--fw-semibold)}.invoice-document{padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:18px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-md)}.invoice-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:42px!important}.invoice-head img{width:180px;border-radius:12px}.invoice-head>div{display:grid;justify-items:end;gap:8px}.invoice-head h1{font-size:34px}.invoice-addresses{display:grid;grid-template-columns:1.3fr 1fr 180px;gap:28px;margin-bottom:36px}.invoice-addresses small,.invoice-bottom small{display:block;margin-bottom:8px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.invoice-addresses p{line-height:1.5;white-space:pre-line}.invoice-dates{display:grid;gap:12px}.invoice-dates label{display:block}.invoice-dates input{width:100%;border:1px solid var(--line-strong);border-radius:7px;padding:7px;background:var(--surface)}.invoice-lines{min-width:760px}.invoice-document{overflow-x:auto}.invoice-line{position:relative;display:grid;grid-template-columns:100px minmax(220px,1fr) 70px 125px 75px 100px 32px;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft)}.invoice-line-head{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.invoice-line input,.invoice-line select{width:100%;min-width:0;padding:8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface)}.money-input{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:7px;padding-left:7px}.money-input input{border:0}.line-remove{position:static;min-width:32px;min-height:32px;cursor:pointer;border:0;color:var(--danger-text);background:transparent;font-size:var(--fs-xl)}.add-line{margin-top:var(--space-3-5)}.invoice-bottom{display:grid;grid-template-columns:1fr 300px;gap:40px;margin-top:34px}.invoice-bottom textarea{width:100%;padding:10px;border:1px solid var(--line-strong);border-radius:8px;resize:vertical}.invoice-bottom dl{margin:0}.invoice-bottom dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.invoice-bottom dd{margin:0;font-weight:700}.invoice-total{border-top:2px solid var(--ink);font-size:18px}.invoice-due{margin-top:5px;padding:13px!important;color:var(--on-accent);background:var(--accent-solid)}.invoice-document footer{display:grid;gap:4px;margin-top:48px;padding-top:18px;border-top:1px solid var(--line);color:var(--text-muted)}.payment-history{margin-top:var(--space-5);padding:var(--space-6)}.payment-history article{display:grid;grid-template-columns:120px 1fr 1fr;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.payment-history small{color:var(--text-muted)}@media(max-width:1120px){.job-summary-grid{grid-template-columns:1fr}.job-detail-header{align-items:flex-start!important;flex-direction:column}}.integration-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4-5);margin-bottom:var(--space-4-5);padding:var(--space-4-5) var(--space-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.integration-card>div{display:flex;align-items:center;gap:var(--space-3-5)}.integration-card p{margin:var(--space-1) 0 0;color:var(--text-muted)}.stripe-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--stripe);color:var(--on-accent);font-weight:var(--fw-bold)}.connected,.not-connected{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase}.connected{background:var(--success-tint);color:var(--success-text)}.not-connected{background:var(--neutral-tint);color:var(--text-muted)}.diary-toolbar{display:flex;align-items:center;gap:var(--space-2-5);margin-bottom:var(--space-4-5)}.diary-toolbar strong{margin:0 auto}.diary-toolbar select{padding:var(--space-2-5);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.diary-week{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:var(--space-2);overflow-x:auto}.diary-day{min-height:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.diary-day.today{border:2px solid var(--accent)}.diary-day-head{display:flex;justify-content:space-between;padding:var(--space-3);background:var(--stone-soft)}.diary-day-head span{color:var(--accent-text);font-weight:var(--fw-bold)}.diary-visits{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-2)}.diary-visits>small{padding:var(--space-3-5) var(--space-1);color:var(--text-faint);text-align:center}.diary-visit{display:grid;gap:var(--space-1);text-align:left;padding:var(--space-2-5);border:0;border-left:4px solid var(--eng);border-radius:var(--r-md);background:color-mix(in srgb,var(--eng) 13%,var(--surface));color:var(--text)}.eng-0{--eng: var(--eng-0)}.eng-1{--eng: var(--eng-1)}.eng-2{--eng: var(--eng-2)}.eng-3{--eng: var(--eng-3)}.eng-4{--eng: var(--eng-4)}.eng-5{--eng: var(--eng-5)}.eng-6{--eng: var(--eng-6)}.eng-7{--eng: var(--eng-7)}.eng-8{--eng: var(--eng-8)}.eng-9{--eng: var(--eng-9)}.eng-none{--eng: var(--line-strong)}.eng-dot{display:inline-block;width:8px;height:8px;margin-right:var(--space-1);border-radius:var(--r-round);background:var(--eng)}.diary-visit.priority-urgent,.diary-visit.priority-emergency{outline:2px solid var(--danger);outline-offset:-2px}.diary-priority{justify-self:start;padding:0 var(--space-1-5);border-radius:var(--r-pill);background:var(--danger);color:var(--on-danger);font-size:var(--fs-2xs);font-style:normal;font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.diary-visit time{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.diary-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);background:var(--success-tint);color:var(--text);font-size:var(--fs-body-sm)}.diary-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-3);font-size:var(--fs-body-sm)}.diary-legend-item{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--r-pill);background:color-mix(in srgb,var(--eng) 12%,var(--surface));color:var(--text);font-weight:var(--fw-medium)}.diary-legend-item:before{content:"";width:10px;height:10px;border-radius:var(--r-round);background:var(--eng)}.diary-legend-item[aria-pressed=true]{border-color:var(--eng);box-shadow:inset 0 0 0 1px var(--eng);font-weight:var(--fw-bold)}.diary-visit span,.diary-visit small{color:var(--text-muted)}.visit-items{display:grid;gap:var(--space-0-5);margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--r-md);background:var(--success-tint);color:var(--success-text)}.basket-lines{display:grid;gap:0;margin:var(--space-4-5) 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.basket-lines article{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3-5);border-bottom:1px solid var(--line-soft)}.basket-lines article div{display:grid;gap:var(--space-1)}.basket-lines small{color:var(--text-muted)}.basket-lines dl{display:grid;gap:var(--space-2);margin:0;padding:var(--space-3-5);background:var(--surface-2)}.basket-lines dl div{display:flex;justify-content:space-between;gap:var(--space-5)}.basket-lines dt,.basket-lines dd{margin:0}.mail-notice{display:grid;gap:var(--space-1);margin:var(--space-4) 0;padding:var(--space-3-5);border-radius:var(--r-md);color:var(--warning-text);background:var(--warning-tint)}.mail-notice span{font-size:var(--fs-body-sm)}.basket-ready{display:grid;justify-items:center;gap:var(--space-3-5);padding:var(--space-9) var(--space-2-5);text-align:center}.basket-ready>div{width:54px;height:54px;display:grid;place-items:center;border-radius:var(--r-round);color:var(--success-text);background:var(--success-tint);font-size:var(--fs-3xl);font-weight:var(--fw-bold)}.check-card{display:flex;align-items:flex-start;gap:var(--space-2-5);padding:var(--space-3-5);border:1px solid var(--line);border-radius:var(--r-md)}.check-card span{display:grid;gap:var(--space-1)}.check-card small{color:var(--text-muted);font-weight:var(--fw-regular)}.engineer-badge{padding:var(--space-1-5) var(--space-2);border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap}@media print{@page{size:A4;margin:8mm}body{background:var(--surface)}.no-print,.workspace aside{display:none!important}.workspace{display:block}.content{padding:0!important}.print-area{margin:0}.label-sheet{grid-template-columns:repeat(2,90mm);gap:3mm 4mm;padding:0}.qr-sticker{width:90mm;height:40mm;min-height:40mm;break-inside:avoid;border:.2mm dashed var(--line-strong)}.invoice-document{padding:8mm;border:0;box-shadow:none;overflow:visible}.invoice-lines{min-width:0}.invoice-line{grid-template-columns:20mm 1fr 12mm 25mm 13mm 24mm}.invoice-line input,.invoice-line select,.invoice-dates input,.invoice-bottom textarea{border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}}.qualification-summary{display:grid;gap:var(--space-1-5);margin-top:var(--space-2)}.qualification-warning{color:var(--warning-text);font-weight:var(--fw-semibold)}.qualification-edit{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--space-4);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3-5)}.engineer-day{max-width:950px;margin:auto}.mobile-visit{padding:var(--space-6);margin:var(--space-4-5) 0}.mobile-visit-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.mobile-visit h2{margin:var(--space-4) 0 var(--space-2)}.mobile-actions{display:flex;flex-wrap:wrap;gap:var(--space-2-5);margin-top:var(--space-4-5)}.mobile-actions>*{min-height:46px;display:flex;align-items:center;justify-content:center;flex:1 1 140px}.audit-details{margin:var(--space-2-5) 0;overflow-wrap:anywhere}.audit-details dl{display:grid;gap:var(--space-2)}.audit-details dt{font-weight:var(--fw-semibold)}.audit-details dd{margin:0;white-space:pre-wrap}.visit-report-modal{width:min(920px,calc(100vw - 32px))}.visit-report-section{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-5)}.visit-report-section h3{margin-top:0}.visit-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4-5)}.visit-file{display:grid;gap:var(--space-2);min-width:0;overflow-wrap:anywhere}.visit-file img{width:100%;height:180px;object-fit:contain;display:block;background:var(--stone-soft);border-radius:var(--r-md)}.signature-field{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--space-3);margin:var(--space-4) 0;min-width:0}.signature-field canvas{display:block;width:100%;height:auto;aspect-ratio:10/3;background:var(--signature-bg);border:1px solid var(--line-strong);touch-action:none}.signature-field .actions{margin-top:var(--space-2)}.visit-report-modal textarea[readonly]{background:var(--stone-soft)}@media(max-width:600px){.visit-file-grid{grid-template-columns:1fr}.visit-report-modal{padding:var(--space-4-5)}}.modal.modal-fixed{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:92dvh}.modal-fixed-head,.modal-fixed-foot{flex:0 0 auto;background:var(--surface)}.modal-fixed-head:empty,.modal-fixed-foot:empty{display:none}.modal-fixed-head .modal-head{margin:0;padding:var(--space-6) var(--space-7) var(--space-4);align-items:flex-start;gap:var(--space-4)}.modal-fixed-head .modal-head>button{flex:0 0 auto;min-width:44px;min-height:44px}.modal-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-7) var(--space-6)}.modal-fixed-foot{border-top:1px solid var(--line);padding:var(--space-3) var(--space-7)}.modal-fixed-foot .actions{margin:0;flex-wrap:wrap}.modal-fixed-foot .actions+.actions{margin-top:var(--space-2)}.modal-actions-anchor{display:none}.customer-invoice-row{display:grid;gap:var(--space-1-5);padding:var(--space-3-5) 0;border-bottom:1px solid var(--line)}@media(max-width:600px){.modal-backdrop{padding:var(--space-2-5)}.modal.modal-fixed{max-height:95dvh}.modal-fixed-head .modal-head{padding:var(--space-4) var(--space-4) var(--space-3)}.modal-scroll{padding:0 var(--space-4) var(--space-4)}.modal-fixed-foot{padding:var(--space-3) var(--space-4)}.modal-fixed-foot button{min-height:44px}}.visit-feedback p{margin:var(--space-1-5) 0}.availability-card{padding:var(--space-3);background:var(--warning-tint);border:1px solid var(--warning-line);border-radius:var(--r-lg);display:grid;gap:var(--space-2);overflow-wrap:anywhere}.diary-visit{display:grid;gap:var(--space-2);overflow-wrap:anywhere}.diary-visit[draggable=true]{cursor:grab;-webkit-user-drag:element;-webkit-user-select:none;user-select:none}.diary-visit[draggable=true] a{-webkit-user-drag:none}.diary-resize{touch-action:none;cursor:ns-resize;font-size:var(--fs-body-sm);padding:var(--space-1-5);background:var(--accent-tint);border-radius:var(--r-md)}.diary-visit .qualification-warning{margin:0;font-size:var(--fs-body-sm)}.qualification-alerts{margin-bottom:var(--space-5);padding:var(--space-3-5) var(--space-4-5);background:var(--warning-tint);border:1px solid var(--warning-line);border-radius:var(--r-lg)}.qualification-alerts summary{cursor:pointer;font-weight:var(--fw-semibold)}.offline-panel{padding:var(--space-4);margin:var(--space-4) 0;background:var(--stone-soft);border:1px solid var(--line-strong);border-radius:var(--r-lg)}.offline-panel button{margin:var(--space-1-5) var(--space-2) var(--space-1-5) 0}@media(max-width:700px){.offline-panel button{width:100%;margin:var(--space-1-5) 0}.diary-toolbar{flex-wrap:wrap}.diary-visit button{min-height:44px}}.content{min-width:0}.diary-toolbar{flex-wrap:wrap}.diary-visit a{color:inherit;text-decoration:none}.diary-visit a:hover{text-decoration:underline}.office-search{display:flex;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-5)}.office-search .field{flex:1}.office-date{max-width:360px}.office-panel{padding:var(--space-6);margin-bottom:var(--space-4-5)}.office-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.office-metrics strong{display:block;font-size:var(--fs-3xl);margin-top:var(--space-3)}.office-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.office-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3-5) 0;border-top:1px solid var(--line)}.office-row p{margin:var(--space-1-5) 0}.office-panel a{overflow-wrap:anywhere}.metric-tile small{display:block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.metric-tile strong{font-size:var(--fs-5xl);line-height:1.05;margin-top:var(--space-3)}.metric-tile strong.metric-alert{color:var(--danger-text)}.office-panel .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.office-panel .section-heading h2{margin:0;font-size:var(--fs-xl)}.office-panel .section-heading .field{min-width:220px}.office-attention{margin-bottom:var(--space-4-5)}.office-attention>h2{margin:var(--space-2) 0 var(--space-3);font-size:var(--fs-xl)}.attention-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3)}.attention-tile{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.attention-tile.tone-warning{background:var(--warning-tint);border-color:var(--warning-line)}.attention-tile.tone-danger{background:var(--danger-tint);border-color:var(--danger-line)}.attention-tile-head{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text)}.attention-count{display:block;font-size:var(--fs-4xl);font-weight:var(--fw-semibold);line-height:1;letter-spacing:-.02em;color:var(--text)}.tone-warning .attention-count{color:var(--warning-text)}.tone-danger .attention-count{color:var(--danger-text)}.attention-tile ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1);font-size:var(--fs-body-sm)}.attention-tile details ul{margin-top:var(--space-1-5)}.attention-tile summary{cursor:pointer;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--accent-text)}.table-wrap{margin:var(--space-4) calc(var(--space-6) * -1) 0;overflow-x:auto}.table-wrap:last-child{margin-bottom:calc(var(--space-6) * -1)}.table-wrap:not(:last-child){border-bottom:1px solid var(--line)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.data-table th{padding:var(--space-2-5) var(--space-3);text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.data-table td{padding:var(--space-3);vertical-align:top;overflow-wrap:break-word;border-bottom:1px solid var(--line-soft)}.data-table th:first-child,.data-table td:first-child{padding-left:var(--space-6)}.data-table th:last-child,.data-table td:last-child{padding-right:var(--space-6)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table td small{display:block;margin-top:var(--space-0-5);font-size:var(--fs-body-sm);color:var(--text-muted)}.data-table td small.error{color:var(--danger-text)}.data-table td .pill{margin-top:var(--space-0-5)}.data-table .cell-action{width:1%;text-align:right;white-space:nowrap}.data-table .cell-check{width:1%}.data-table .cell-check input{width:18px;height:18px;margin:var(--space-0-5) 0 0}.cell-action .account-actions{justify-content:flex-end;flex-wrap:nowrap;gap:var(--space-2)}.cell-action .public-link{margin-top:0}.data-table .cell-wrap{min-width:10rem;overflow-wrap:anywhere}.certificates-due .cell-action .account-actions{flex-direction:column;align-items:stretch}.certificates-due .cell-action .public-link{text-align:center}.data-table .nowrap{white-space:nowrap}.cell-action .secondary.compact{padding:var(--space-2) var(--space-3)}.data-table .reminder-preview-row td{background:var(--surface-2)}.pill{display:inline-block;padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.5;white-space:nowrap;vertical-align:middle;background:var(--neutral-tint);color:var(--text-muted)}.pill-warning{background:var(--warning-tint);color:var(--warning-text)}.pill-danger{background:var(--danger-tint);color:var(--danger-text)}.pill-success{background:var(--success-tint);color:var(--success-text)}.pill-info{background:var(--slate-tint);color:var(--info-text)}.office-panel{container-type:inline-size}@container (max-width: 759px){.data-table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table.stack,.data-table.stack tbody,.data-table.stack tr,.data-table.stack td{display:block;width:auto}.data-table.stack tr{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line-soft)}.data-table.stack tbody tr:last-child{border-bottom:0}.data-table.stack td,.data-table.stack td:first-child,.data-table.stack td:last-child{padding:var(--space-1) 0;border:0}.data-table.stack td[data-label]{position:relative;padding-left:7.5rem}.data-table.stack td[data-label]:before{content:attr(data-label);position:absolute;left:0;top:var(--space-1);width:7rem;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.data-table.stack .cell-action{text-align:left;padding-top:var(--space-2)}.data-table.stack .cell-action .account-actions{justify-content:flex-start;flex-wrap:wrap}.data-table.stack td.cell-wrap{min-width:0}.certificates-due .data-table.stack .cell-action .account-actions{flex-direction:row}}.data-transfer p,.data-transfer li,.csv-records{overflow-wrap:anywhere}.data-transfer details{margin:var(--space-5) 0}.data-transfer summary{cursor:pointer;font-weight:var(--fw-semibold)}.csv-confirm{position:sticky;bottom:0;background:var(--surface);padding:var(--space-4) 0;border-top:1px solid var(--line);display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.csv-confirm label{flex:1;min-width:200px}.csv-records{margin:var(--space-4) 0}.data-transfer .field{min-width:0}@media print{body:has(.invoice-document) .content>:not(.invoice-document){display:none!important}body:has(.invoice-document) .modal-backdrop,body:has(.invoice-document) .qualification-alerts{display:none!important}}@media print{.invoice-line{grid-template-columns:100px minmax(220px,1fr) 70px 125px 75px 100px}}.invoice-lines.no-vat .invoice-line{grid-template-columns:100px minmax(220px,1fr) 70px 125px 100px 32px}@media print{.invoice-lines.no-vat .invoice-line{grid-template-columns:100px minmax(220px,1fr) 70px 125px 100px}}@media(min-width:761px){.workspace aside{height:100vh;height:100dvh;overflow:hidden}.workspace nav{overflow-y:auto;overscroll-behavior:contain}}.diary-time-scroll{isolation:isolate;overflow:auto;max-height:calc(100dvh - 220px);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);margin-top:var(--space-3)}.diary-time-grid{display:grid;grid-template-columns:70px repeat(var(--diary-days,7),minmax(var(--diary-col,150px),1fr));min-width:calc(70px + var(--diary-days,7) * var(--diary-col,150px))}.diary-grid-head{position:sticky;top:0;z-index:40;background:var(--stone-soft);padding:var(--space-2-5);border-bottom:1px solid var(--line-strong);font-size:var(--fs-body)}.diary-grid-head.today{background:var(--accent-tint);color:var(--accent-text)}.diary-grid-corner{left:0;z-index:50}.diary-grid-time{position:sticky;left:0;z-index:30;background:var(--surface-2);padding:var(--space-2);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-muted);border-bottom:1px solid var(--line)}.diary-grid-cell{min-height:44px;padding:var(--space-1);border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;align-content:start;gap:var(--space-1);position:relative}.diary-grid-cell[data-time]{height:var(--diary-slot);min-height:0}.diary-grid-cell .diary-visit{position:absolute;z-index:calc(1 + var(--visit-lane));top:calc(var(--visit-top) + 2px);left:calc(var(--visit-left) * 100% + 2px);width:calc(var(--visit-width) * 100% - 4px);height:calc(var(--visit-h) - 4px);overflow:hidden;grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:max-content;align-content:start;gap:1px var(--space-1);padding:var(--space-1) var(--space-2) 28px;font-size:var(--fs-body-sm);line-height:1.3;box-shadow:0 0 0 1px var(--surface),var(--shadow-sm);container-type:inline-size}.diary-grid-cell .diary-visit>*{grid-column:1 / -1}.diary-grid-cell .diary-visit>:is(time,a,span,small){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.diary-grid-cell .diary-visit>time{grid-column:1}.diary-grid-cell .diary-visit>.diary-priority{grid-column:2;align-self:center}.diary-grid-cell .diary-visit:is(:hover,:focus-within){z-index:25;box-shadow:0 0 0 1px var(--surface),var(--shadow-md)}.diary-time-grid.dragging .diary-visit{pointer-events:none}.diary-visit.stretching{z-index:25;outline:2px dashed var(--eng);outline-offset:-2px}.diary-visit-actions{position:absolute;right:0;bottom:0;left:0;display:flex;gap:var(--space-1);padding:var(--space-1);background:inherit}.diary-grid-cell .diary-visit-actions button{min-height:0;padding:var(--space-0-5) var(--space-1-5);font-size:var(--fs-xs);line-height:1.4}.diary-visit-actions .compact{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.diary-visit-actions .diary-resize{flex:none}.diary-grid-cell .diary-visit.short{padding-bottom:var(--space-1)}.diary-grid-cell .diary-visit.short:not(:hover,:focus-within,.stretching) .diary-visit-actions{display:none}@container (max-width: 130px){.diary-visit-actions .diary-resize span{display:none}}@container (max-width: 150px){.diary-grid-cell .diary-priority{width:10px;height:10px;padding:0;font-size:0}}.diary-slot-add{opacity:0;background:transparent;border:1px dashed var(--line-strong);color:var(--accent-text);border-radius:var(--r-md);padding:var(--space-1);min-height:28px}.diary-grid-cell:hover .diary-slot-add,.diary-slot-add:focus-visible{opacity:1}@media(hover:none){.diary-slot-add{opacity:.6}}.diary-job-choice{text-align:left}.form-tabs{display:flex;gap:var(--space-2);margin:0 0 var(--space-4)}.form-tabs button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:var(--space-2) var(--space-4);font-weight:var(--fw-semibold);color:var(--text);cursor:pointer}.form-tabs button.nav-active{background:var(--accent-solid);border-color:var(--accent);color:var(--on-accent)}.form-tag{display:inline-block;margin-left:var(--space-2);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);vertical-align:middle}.form-tag.muted{background:var(--neutral-tint);color:var(--text-muted)}.form-status{display:inline-block;margin:var(--space-1-5) 0 0;padding:var(--space-1) var(--space-2-5);border-radius:var(--r-pill);background:var(--neutral-tint);color:var(--text);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold)}.form-status.submitted{background:var(--warning-tint);color:var(--warning-text)}.form-status.returned{background:var(--danger-tint);color:var(--danger-text)}.form-status.approved{background:var(--success-tint);color:var(--success-text)}.form-status.voided{background:var(--neutral-tint);color:var(--text-muted);text-decoration:line-through}.form-fill{display:grid;gap:var(--space-4);margin:var(--space-3) 0}.form-fill-section{margin:var(--space-2-5) 0 0;padding-bottom:var(--space-1-5);border-bottom:1px solid var(--line);color:var(--text)}.required-mark{color:var(--danger-text)}.form-choice label{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3-5);border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;min-height:44px}.form-choice label.chosen{border-color:var(--accent);background:var(--accent-tint)}.form-choice label.chosen.fail,.form-choice label.chosen.no{border-color:var(--danger);background:var(--danger-tint)}.form-choice label.chosen.pass,.form-choice label.chosen.yes{border-color:var(--success);background:var(--success-tint)}.form-choice small{flex-basis:100%;color:var(--text-faint)}.form-check{display:flex;align-items:flex-start;gap:var(--space-2-5);color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold);min-height:44px;padding-top:var(--space-1-5)}.form-check input{width:20px;height:20px;margin-top:var(--space-px);flex:none}.form-check small{display:block;color:var(--text-faint);font-weight:var(--fw-regular)}.form-signature{display:grid;gap:var(--space-2-5)}.form-signature canvas{width:100%;max-width:600px;height:auto;aspect-ratio:600/180;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--signature-bg);touch-action:none}.form-start{margin-top:var(--space-4-5);padding-top:var(--space-3);border-top:1px solid var(--line);display:grid;gap:var(--space-3)}.form-start h3{margin:0}.builder-fields{list-style:none;padding:0;margin:var(--space-4) 0;display:grid;gap:var(--space-3);counter-reset:q}.builder-field{border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--space-3-5);display:grid;gap:var(--space-2-5);background:var(--surface-2)}.builder-field.is-section{background:var(--stone-soft);border-color:var(--line-strong)}.builder-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.builder-row .field{min-width:180px}.builder-row .grow{flex:1 1 260px}.builder-tools{display:flex;gap:var(--space-2);justify-content:flex-end}.builder-add{display:flex;flex-wrap:wrap;gap:var(--space-2-5);align-items:flex-end;padding:var(--space-3-5);border:1px dashed var(--line-strong);border-radius:var(--r-lg)}.builder-add .field{min-width:220px}@media(max-width:760px){.workspace{display:block}.workspace aside{position:static;height:auto;padding:var(--space-4-5);display:block}.workspace aside .brand{margin:0}.workspace aside .brand:after{display:none}.workspace nav{display:none}.user{margin-top:var(--space-4-5)}.content{padding:var(--space-7) var(--space-4-5)}.content header{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.modal{padding:var(--space-6)}.customer-list>button{grid-template-columns:42px 1fr}.count{grid-column:2}.auth-card{padding:var(--space-7)}.toolbar{align-items:stretch;flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1}.audit-list article{grid-template-columns:36px 1fr}.audit-meta{grid-column:2;text-align:left}.account-list article{grid-template-columns:42px 1fr}.modal-toolbar,.asset-list article{align-items:stretch;flex-direction:column}.account-list .role,.account-actions{grid-column:2}.account-actions{justify-content:flex-start}.scan-button{width:100%}.scan-tools{grid-template-columns:1fr}.public-card{padding:var(--space-7) var(--space-6)}.label-count{margin-left:0}.label-sheet{grid-template-columns:1fr}.request-list article,.print-toolbar{align-items:stretch;flex-direction:column}.request-actions{flex-wrap:wrap}.label-stock-list{overflow-x:auto}.label-stock-list article{min-width:620px}.job-list>button{grid-template-columns:5px 1fr}.appliance-register article{grid-template-columns:44px 1fr}.appliance-service,.appliance-register article>button{grid-column:2;justify-items:start}.job-list>button>span:last-child{grid-column:2;justify-items:start}.job-summary-grid{grid-template-columns:1fr}.appointment-list article{grid-template-columns:1fr}.visit-actions{justify-items:start}.invoice-list>button{grid-template-columns:1fr}.invoice-list>button>span:last-child{justify-items:start}.invoice-toolbar{align-items:stretch;flex-direction:column}.invoice-addresses,.invoice-bottom{grid-template-columns:1fr}.invoice-head{flex-direction:column;gap:20px}.invoice-head>div{justify-items:start}.payment-history article{grid-template-columns:1fr}.diary-toolbar{align-items:stretch;flex-wrap:wrap}.diary-toolbar strong{order:-1;width:100%;margin:0}.diary-week{grid-template-columns:1fr;overflow:visible}.diary-day{min-height:0}.qualification-edit{grid-template-columns:1fr}.account-actions{flex-wrap:wrap}.mobile-visit{padding:var(--space-4)}.visit-actions button{min-height:44px}.engineer-day header{align-items:stretch}.engineer-day .field{min-width:0}.workspace aside{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3) var(--space-3-5);align-items:center;padding:var(--space-3) var(--space-4) var(--space-2-5)}.workspace aside .brand{grid-column:1;grid-row:1;height:auto}.sidebar-brand{padding:0}.workspace aside .user{grid-column:2;grid-row:1;margin-top:0;padding:0;border-top:0;grid-template-columns:32px minmax(0,1fr) auto;column-gap:var(--space-2-5)}.workspace aside .user .user-account{grid-column:2/4}.workspace aside .user .theme-toggle{grid-column:1/3}.workspace aside .user .sign-out{grid-column:3;grid-row:2}.user .sidebar-toggle{display:none}.workspace nav{grid-column:1/-1;display:flex;overflow-x:auto;gap:var(--space-1-5);padding:0 0 var(--space-1);scrollbar-width:none}.workspace nav::-webkit-scrollbar{display:none}.workspace nav button{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:0 var(--space-4);border-radius:var(--r-pill);background:var(--sidebar-hover)}.workspace nav .icon{display:none}.topbar{gap:var(--space-2);padding:0 var(--space-4)}.office-panel .section-heading .field{min-width:0;width:100%}.new-button{width:38px;justify-content:center;padding-left:0;padding-right:0}.new-button .new-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.new-button .icon:last-child{display:none}.office-metrics,.office-columns{grid-template-columns:1fr}.office-search,.office-row,.builder-row{flex-direction:column;align-items:stretch}.builder-row .field{min-width:0}.builder-add{flex-direction:column;align-items:stretch}}.modal-head .header-actions{display:flex;align-items:center;gap:var(--space-2-5)}.danger-kicker{color:var(--danger-text)}.danger-box{border:1px solid var(--danger-line);background:var(--danger-tint);border-radius:var(--r-lg);padding:var(--space-3-5) var(--space-4);margin:0 0 var(--space-4);color:var(--danger-text)}.danger-box p{margin:var(--space-1-5) 0 0}.danger-panel{border:1px solid var(--danger-line);margin-top:var(--space-6)}.danger-panel h2{margin-top:var(--space-1)}.reset-counts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4-5);list-style:none;padding:0;margin:var(--space-3) 0 var(--space-4)}.reset-counts li{color:var(--text)}.record-actions .record-link{color:var(--accent-text);padding:var(--space-1) 0;font-weight:var(--fw-semibold);text-decoration:none;font-size:inherit}.workspace .user .user-account{display:grid;text-align:left;background:transparent;border:0;color:inherit;padding:0;cursor:pointer;min-width:0}.workspace .user .user-account strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace .user .user-account:hover small{text-decoration:underline}.account-section{border-top:1px solid var(--line);padding:var(--space-4) 0;display:grid;gap:var(--space-3)}.account-section h3,.account-section p{margin:0}.inline-form{display:flex;gap:var(--space-2-5);align-items:flex-end;flex-wrap:wrap}.inline-form .field{flex:1 1 220px}.two-step-setup{display:flex;gap:var(--space-4-5);align-items:flex-start;flex-wrap:wrap}.two-step-setup img{border:1px solid var(--line);border-radius:var(--r-md)}.two-step-setup>div{flex:1 1 260px;display:grid;gap:var(--space-2-5)}.two-step-setup p{margin:0}.recovery-codes{border:1px solid var(--warning-line);background:var(--warning-tint);border-radius:var(--r-lg);padding:var(--space-4);margin-bottom:var(--space-3)}.recovery-codes ol{columns:2;font-size:var(--fs-md);margin:var(--space-3) 0}.recovery-codes h3{margin:0 0 var(--space-1-5)}.on-badge{display:inline-block;background:var(--success-tint);color:var(--success-text);border-radius:var(--r-pill);padding:var(--space-0-5) var(--space-2-5);margin-right:var(--space-1-5)}.locked-badge{background:var(--danger-tint)!important;color:var(--danger-text)!important}.credit-lines{display:grid;gap:var(--space-2-5);margin:var(--space-3) 0}.credit-line{display:flex;flex-wrap:wrap;gap:var(--space-2-5);align-items:flex-end;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--space-2-5) var(--space-3);opacity:.75}.credit-line.on{opacity:1;border-color:var(--accent);background:var(--surface-2)}.credit-line .form-check{flex-basis:100%;min-height:0;padding:0}.credit-line .field{min-width:110px}.credit-line .grow{flex:1 1 220px}.credit-total{font-size:var(--fs-md)}.form-photos{display:grid;gap:var(--space-2-5)}.form-photo-grid{display:flex;flex-wrap:wrap;gap:var(--space-2-5)}.form-photo-grid figure{margin:0;display:grid;gap:var(--space-1-5);justify-items:start}.form-photo-grid img{width:140px;height:105px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line-strong)}.file-button{position:relative;display:inline-flex;align-items:center;cursor:pointer;min-height:44px;width:max-content}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.form-email{border-top:1px solid var(--line);padding-top:var(--space-3-5);display:grid;gap:var(--space-2-5)}.form-email h3{margin:0}.email-preview{white-space:pre-wrap;font:inherit;background:var(--surface-2);border-radius:var(--r-md);padding:var(--space-2-5)}.reminder-filters{display:flex;gap:var(--space-3);flex-wrap:wrap}.reminder-row{flex-wrap:wrap}.reminder-row .form-check span{display:grid;gap:var(--space-0-5);font-weight:var(--fw-regular)}.reminder-row .form-check small{color:var(--text-muted)}.reminder-preview{flex-basis:100%}.reminder-send{justify-content:space-between;align-items:center;margin-top:var(--space-3);flex-wrap:wrap}.question-bank{background:var(--surface-2);border-style:solid;border-color:var(--line-strong)}.question-bank>strong{flex-basis:100%;margin-bottom:calc(-1 * var(--space-1))}.question-bank>.muted{flex-basis:100%}.question-bank .grow{flex:1 1 280px}.repeat-controls{display:flex;gap:var(--space-2-5);flex-wrap:wrap;padding:var(--space-1) 0 var(--space-2);border-bottom:1px dashed var(--line-strong)}.unit-field{max-width:160px}.field .unit{font-weight:var(--fw-regular);color:var(--text-muted)}.starter-panel .inline-form .field{max-width:460px}.modal-head .header-actions{flex:none;flex-wrap:nowrap}.certificates-due .section-heading{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.due-soon{color:var(--warning-text);font-weight:var(--fw-semibold)}.calendar-link{display:grid;gap:var(--space-2)}.calendar-link code{overflow-wrap:anywhere;background:var(--surface-2);border-radius:var(--r-md);padding:var(--space-2);font-size:var(--fs-body-sm)}.certificates-due .account-actions a{white-space:nowrap}.calendar-link code{color:var(--text)!important;display:block}.list-panel{overflow:hidden;overflow:clip;container:list / inline-size;margin-bottom:var(--space-4-5)}.list-note{margin:0;padding:var(--space-4) var(--space-6);color:var(--text-muted);font-size:var(--fs-body);border-bottom:1px solid var(--line-soft)}.list-panel>.list-note:last-child{border-bottom:0}.list-table{border-collapse:separate;border-spacing:0}.list-table thead th{position:sticky;top:var(--bar-height);z-index:2;border-top:0}.list-table td{vertical-align:middle}.list-table th,.list-table td{padding-left:var(--space-2-5);padding-right:var(--space-2-5)}.list-table th:first-child,.list-table td:first-child{padding-left:var(--space-5)}.list-table th:last-child,.list-table td:last-child{padding-right:var(--space-5)}.list-table .num{text-align:right;white-space:nowrap}.row-link{cursor:pointer}.list-table td>a,.cell-with-icon>span>a{color:var(--text);font-weight:var(--fw-semibold);text-decoration:none}.list-table td>a:hover,.list-table td>a:focus-visible,.cell-with-icon>span>a:hover,.cell-with-icon>span>a:focus-visible,.row-link:hover .cell-primary a{color:var(--accent-text);text-decoration:underline}.cell-with-icon{display:flex;align-items:center;gap:var(--space-3)}.cell-with-icon>span:last-child{display:grid;justify-items:start;min-width:0}.list-table .avatar,.list-table .appliance-icon{flex:none;width:32px;height:32px;border-radius:var(--r-md);font-size:var(--fs-body-sm)}.list-table .archived{margin:var(--space-0-5) 0 0}.list-table .job-priority{display:inline-block;width:4px;height:16px;margin-right:var(--space-2);vertical-align:-3px;border-radius:var(--r-sm)}.list-table .job-priority.priority-routine{background:transparent}.list-table .access-warning{display:inline-block;margin-top:var(--space-1);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);color:var(--warning-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.5}.list-table .connected,.list-table .not-connected{display:inline-block;padding:var(--space-0-5) var(--space-2);font-weight:var(--fw-semibold);text-transform:none;line-height:1.5;white-space:nowrap}.list-table .appliance-request a{color:var(--accent-text)}.cell-records details{font-size:var(--fs-body-sm)}.cell-records details+details{margin-top:var(--space-1)}.cell-records{min-width:8rem}.appliance-register .cell-primary{min-width:12.5rem}.cell-records summary{cursor:pointer;color:var(--accent-text);font-weight:var(--fw-semibold)}.list-table .cell-wrap{min-width:0;overflow-wrap:break-word}.cell-records details p{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.job-status,.archived,.list-table .invoice-status{display:inline-block;padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-style:normal;line-height:1.5;letter-spacing:0;text-transform:lowercase;white-space:nowrap;vertical-align:middle}.job-status:first-letter,.archived:first-letter,.list-table .invoice-status:first-letter{text-transform:uppercase}.job-status-new_enquiry,.job-status-to_contact,.job-status-awaiting_booking,.job-status-part_completed,.job-status-awaiting_parts,.job-status-awaiting_customer{color:var(--warning-text);background:var(--warning-tint)}.job-status-booked,.job-status-travelling,.job-status-on_site,.job-status-return_visit,.job-status-en_route,.job-status-arrived{color:var(--info-text);background:var(--slate-tint)}.job-status-completed,.job-status-paid{color:var(--success-text);background:var(--success-tint)}.job-status-invoiced{color:var(--text-muted);background:var(--neutral-tint)}.job-status-cancelled{color:var(--danger-text);background:var(--danger-tint)}.list-table .invoice-status-sent{color:var(--info-text);background:var(--slate-tint)}.list-table .invoice-status-credited{color:var(--text-muted);background:var(--neutral-tint)}.toolbar>input,.toolbar>select{min-height:44px;padding:var(--space-2-5) var(--space-3-5);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-body)}.toolbar{flex-wrap:wrap}.toolbar>input{flex:1 1 240px;min-width:0}.toolbar>input:focus,.toolbar>select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.quote-tabs{gap:var(--space-2)}.quote-tabs .tab-button{padding:var(--space-2-5) var(--space-4)}.quote-tabs .tab-button[aria-pressed=false]{background:transparent;color:var(--text-muted)}.quote-tabs .tab-button[aria-pressed=false]:hover{background:var(--stone-soft);color:var(--text)}.quote-tabs .tab-button[aria-pressed=true]{background:var(--accent-tint);color:var(--accent-text)}.quote-tabs .primary{margin-left:auto}.back{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);font-size:var(--fs-body);white-space:nowrap}.back:hover{text-decoration:underline}.invoice-toolbar .back{margin-bottom:0}.content header.record-header{flex-wrap:wrap;align-items:flex-start;margin:0 0 var(--space-6)}.record-header>div:first-child{flex:1 1 320px;min-width:0}.record-header .header-actions{justify-content:flex-end;padding-top:var(--space-1)}.record-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.record-header h1{font-size:var(--fs-4xl);line-height:1.15;overflow-wrap:anywhere}.record-title .job-status,.record-title .archived{font-size:var(--fs-sm)}.record-header .muted{margin:var(--space-2) 0 0}.record-actions{align-items:center;margin:calc(-1 * var(--space-2)) 0 var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);gap:var(--space-1) var(--space-5);font-size:var(--fs-body)}.record-actions button:hover,.record-actions .record-link:hover{text-decoration:underline}.detail,.job-card,.job-appliances,.job-appointments{padding:var(--space-6);margin-bottom:var(--space-4-5)}.job-summary-grid{margin-bottom:0}.job-summary-grid>.job-card{margin-bottom:var(--space-4-5)}.detail>h2,.job-card>h2{margin:0 0 var(--space-3);font-size:var(--fs-xl)}.job-card>p:last-child,.detail>p:last-child{margin-bottom:0}.detail .section-heading,.job-appointments .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.detail .section-heading h2,.job-appointments .section-heading h2{margin:0;font-size:var(--fs-xl)}.customer-quotes .section-heading,.customer-jobs .section-heading{align-items:center}.customer-quotes .section-heading h2,.customer-jobs .section-heading h2{margin-right:auto}.job-created{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2-5) var(--space-4)}.job-created span{flex:1 1 260px}.count-badge{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 var(--space-2);border-radius:var(--r-pill);background:var(--neutral-tint);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.job-card .kicker,.job-appliances .kicker{margin-bottom:var(--space-3)}.detail-list{margin-top:var(--space-4)}.detail-list div{align-items:center}.detail-list dt{font-size:var(--fs-xs);letter-spacing:.06em}.job-appliances article:last-child{border-bottom:0;padding-bottom:0}.property-grid article{background:var(--surface-2)}.property-grid article>span{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent-tint);font-size:var(--fs-lg);line-height:1}.property-grid strong{display:block;margin-top:var(--space-1)}.property-grid p{margin:var(--space-1-5) 0}.appointment-list article{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:var(--space-3) var(--space-4-5)}.appointment-date .job-status{justify-self:start;margin-top:var(--space-1)}.appointment-list article>div:nth-child(2)>strong{display:block}.visit-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.visit-actions button{padding:var(--space-2) var(--space-3);border-radius:var(--r-md);color:var(--text);background:var(--stone-soft);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold)}.visit-actions button:hover{background:var(--stone)}.visit-actions .visit-next{color:var(--on-accent);background:var(--accent-solid)}.visit-actions .visit-next:hover{background:var(--accent-solid-hover)}.asset-list article{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);background:var(--surface-2)}.asset-list article>div:first-child{display:grid;gap:var(--space-0-5)}.asset-list article>div:first-child p{margin:var(--space-1) 0}.asset-list .asset-label-code{color:var(--accent-text);font-weight:var(--fw-semibold)}.asset-list .account-actions{grid-column:auto;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.asset-list .account-actions button{padding:var(--space-1) 0;font-size:var(--fs-body-sm);white-space:nowrap}.asset-list .account-actions details{font-size:var(--fs-body-sm)}.asset-list .account-actions summary{cursor:pointer;color:var(--accent-text);font-weight:var(--fw-semibold);white-space:nowrap}.asset-list .account-actions details[open]{flex-basis:100%;order:1}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.985)}}.modal{border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:modal-in var(--t-base) var(--ease);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.modal-scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.modal-head{align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-soft)}.modal-head h2{font-size:var(--fs-xl);line-height:1.3}.modal-head .kicker{margin-bottom:var(--space-1)}.modal-fixed-head .modal-head{margin-bottom:var(--space-5)}.modal-head>button,.modal-head .header-actions>button[aria-label^=Close]{flex:none;display:grid;place-items:center;min-width:40px;min-height:40px;padding:0;border-radius:var(--r-md);font-size:var(--fs-3xl);line-height:1}.modal-head>button:hover,.modal-head .header-actions>button[aria-label^=Close]:hover{background:var(--stone-soft);color:var(--text)}.modal-fixed-foot{background:var(--surface-2)}.workspace aside .modal-backdrop{color:var(--text)}.modal fieldset{border:1px solid var(--line);border-radius:var(--r-lg)}.customer-address,.first-visit{display:grid;gap:var(--space-3);margin:0;padding:var(--space-4)}.customer-address legend,.first-visit legend{padding:0 var(--space-1-5);font-weight:var(--fw-bold)}.customer-address .form-check,.first-visit .form-check{min-height:0}.modal legend{padding:0 var(--space-1-5);font-weight:var(--fw-semibold)}.modal-toolbar{padding:var(--space-3) var(--space-4);border-radius:var(--r-lg);background:var(--surface-2)}.modal-toolbar p{margin:0}@container (max-width: 759px){.data-table.stack tbody tr:hover td{background:transparent}.data-table.stack tbody tr:hover{background:var(--surface-2)}.data-table.stack td.cell-primary{padding-left:0;padding-bottom:var(--space-1-5);font-size:var(--fs-md)}.data-table.stack td.cell-primary:before{content:none}.data-table.stack td.num{text-align:left}.data-table.stack .cell-records{min-width:0}}@container list (max-width: 849px){.list-table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.list-table.stack,.list-table.stack tbody,.list-table.stack tr,.list-table.stack td{display:block;width:auto}.list-table.stack tr{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line-soft)}.list-table.stack tbody tr:last-child{border-bottom:0}.list-table.stack td,.list-table.stack td:first-child,.list-table.stack td:last-child{padding:var(--space-1) 0;border:0}.list-table.stack td[data-label]{position:relative;padding-left:7.5rem}.list-table.stack td[data-label]:before{content:attr(data-label);position:absolute;left:0;top:var(--space-1);width:7rem;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.list-table.stack .cell-action{text-align:left;padding-top:var(--space-2)}.list-table.stack td.cell-wrap,.list-table.stack .cell-records,.appliance-register .list-table.stack .cell-primary{min-width:0}.list-table.stack tbody tr:hover td{background:transparent}.list-table.stack tbody tr:hover{background:var(--surface-2)}.list-table.stack td.cell-primary{padding-left:0;padding-bottom:var(--space-1-5);font-size:var(--fs-md)}.list-table.stack td.cell-primary:before{content:none}.list-table.stack td.num{text-align:left}}@media(max-width:1120px){.record-header .header-actions{justify-content:flex-start;padding-top:0}}@media(max-width:760px){.record-header h1{font-size:var(--fs-3xl)}.content header.record-header{flex-direction:column}.record-header>div:first-child{flex-basis:auto;width:100%}.toolbar>input{flex:0 0 auto}.quote-tabs{flex-direction:row;flex-wrap:wrap}.appointment-list article{grid-template-columns:1fr}.visit-actions button{min-height:44px}.modal-toolbar{align-items:stretch;flex-direction:column}.detail,.job-card,.job-appliances,.job-appointments{padding:var(--space-5)}}.business-emails-page{max-width:1120px;margin-inline:auto;display:grid;gap:var(--space-6);min-width:0}.business-emails-page>header{margin-bottom:0}.email-connection,.email-templates,.business-emails-link{padding:clamp(18px,3vw,32px)}.email-connection h2,.email-templates h2,.business-emails-link h2{margin-top:0}.email-connection p,.email-templates p,.business-emails-link p{line-height:1.6;overflow-wrap:anywhere}.email-template-fields{display:grid;gap:var(--space-5);border:0;padding:0;margin:var(--space-6) 0 0;min-width:0}.email-template-fields .field{min-width:0}.email-template-fields select,.email-template-fields input,.email-template-fields textarea{width:100%;min-width:0;box-sizing:border-box;padding:12px 14px;font:inherit}.email-template-fields textarea{resize:vertical;min-height:220px}.email-template-fields p{margin:0}.email-template-fields details{border-top:1px solid var(--line);padding-top:var(--space-5)}.email-template-fields summary{cursor:pointer;font-weight:var(--fw-semibold)}.email-template-fields details p{margin-top:var(--space-4)}.email-template-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);border-top:1px solid var(--line);padding-top:var(--space-5)}.business-emails-link{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;margin-block:var(--space-6)}.business-emails-link a{display:inline-block;text-decoration:none;flex-shrink:0}@media(max-width:640px){.business-emails-link{align-items:stretch;flex-direction:column}.email-template-actions>button{width:100%}}.address-finder{position:relative}.address-finder-list{list-style:none;margin:var(--space-1) 0 0;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto}.address-finder-list button{display:grid;gap:2px;width:100%;text-align:left;background:transparent;border:0;border-radius:var(--r-sm);padding:var(--space-2-5) var(--space-3);color:inherit;font:inherit;cursor:pointer}.address-finder-list button:hover,.address-finder-list button:focus-visible{background:var(--surface-2)}.address-finder-list small,.address-finder-credit{color:var(--text-muted)}.diary-colour-choice{border:0;padding:0;margin:0;min-width:0}.diary-colour-choice legend{font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.colour-choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}.colour-choices label{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-2-5);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-weight:var(--fw-regular)}.colour-choices input{margin:0;accent-color:var(--text)}.colour-choices label:has(input:checked){border-color:var(--text);font-weight:var(--fw-semibold)}.colour-choices .eng-dot{width:12px;height:12px;margin-right:0}.engineer-badge .eng-dot{margin-right:var(--space-1-5)}.account-picker{display:grid;padding:0}.account-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.account-row:last-child{border-bottom:0}.account-row:hover,.account-row:focus-visible{background:var(--surface-2)}.account-row-name{display:grid;gap:2px;min-width:0}.account-row-name small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row-go{font-size:1.6em;color:var(--text-faint);line-height:1}.account-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:flex-end}.avatar.avatar-eng{background:var(--eng);color:#fff}.account-detail-head .back{margin-bottom:var(--space-3)}.account-detail-title{display:flex;gap:var(--space-4);align-items:center}.account-detail-title h1{margin:0}.account-detail-title .account-badges{justify-content:flex-start;margin-top:var(--space-2)}.account-detail-title .avatar{width:56px;height:56px;font-size:var(--fs-xl)}.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.account-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm, none)}.account-card h2{margin:0 0 var(--space-1);font-size:var(--fs-lg, 18px)}.account-card p{margin:0}.account-card>button,.account-card-actions{margin-top:auto;padding-top:var(--space-3)}.account-card>button{align-self:flex-start}.account-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.account-card-list{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-1)}.account-colour{display:flex;align-items:center;gap:var(--space-1-5)}.account-colour .eng-dot{width:14px;height:14px;margin:0}.danger-card{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}@media(max-width:640px){.account-row{grid-template-columns:40px minmax(0,1fr) 16px}.account-row .account-badges{grid-column:2;justify-content:flex-start}.account-row-go{grid-row:1;grid-column:3}}.record-menu{position:relative;display:inline-block}.record-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1-5)}.record-menu>summary::-webkit-details-marker{display:none}.record-menu>summary:after{content:"▾";font-size:.85em}.record-menu[open]>summary:after{content:"▴"}.record-menu-items{position:absolute;right:0;top:calc(100% + var(--space-1-5));z-index:20;min-width:220px;display:grid;padding:var(--space-1-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.record-menu-items>a,.record-menu-items>button{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);background:transparent;border:0;font:inherit;white-space:nowrap}.record-menu-items>a:hover,.record-menu-items>button:hover,.record-menu-items>a:focus-visible,.record-menu-items>button:focus-visible{background:var(--surface-2)}@media(max-width:640px){.record-menu-items{right:auto;left:0}}.record-actions .record-menu>summary{color:var(--accent-text);padding:var(--space-1) 0;font-weight:var(--fw-semibold)}.record-actions .record-menu-items>button{padding:var(--space-2) var(--space-3)}.record-actions .record-menu-items>a.record-link{padding:var(--space-2) var(--space-3)}.email-template-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.email-template-tags>span{width:100%;font-weight:var(--fw-semibold)}.email-template-tags button{padding:6px 10px;min-height:0;font-size:.9em}.email-template-warning{color:var(--warning-text)}.audit-toolbar{flex-wrap:wrap}.audit-toolbar>input{min-width:220px}.audit-toolbar select,.audit-dates input{padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.audit-dates{display:flex;flex-wrap:wrap;gap:var(--space-3)}.audit-day h2{margin:0;padding:var(--space-3) var(--space-6);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:1}.audit-list .audit-day article:last-child{border-bottom:1px solid var(--line-soft)}.audit-list .audit-day:last-child article:last-child{border-bottom:0}.audit-changes dd{display:block}.audit-before{text-decoration:line-through;color:var(--text-muted)}.audit-after{font-weight:var(--fw-semibold)}.audit-more{display:flex;justify-content:center;margin:var(--space-4-5) 0}@media(max-width:720px){.audit-toolbar>*,.audit-toolbar select{flex:1 1 100%}}.office-task-list{list-style:none;margin:0;padding:0}.office-task-list li{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;padding:var(--space-3-5) 0;border-bottom:1px solid var(--line-soft)}.office-task-list li:last-child{border-bottom:0}.office-task-list p{margin:var(--space-1) 0;white-space:pre-wrap;overflow-wrap:anywhere}.office-task-list small{color:var(--text-muted)}.office-task-choices{border:0;padding:0;margin:0;display:grid;gap:var(--space-2);min-width:0}.office-task-choices legend{font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.office-task-choices p{margin:0}.office-task-choice{display:grid;gap:var(--space-1-5)}.office-task-choice label{display:flex;gap:var(--space-2);align-items:center;min-height:36px}.office-task-choice textarea{width:100%;box-sizing:border-box;padding:var(--space-2-5);font:inherit}.scan-section{margin-top:var(--space-5);text-align:left}.scan-section h2{font-size:var(--fs-body);margin:0 0 var(--space-2)}.scan-section ul{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-1-5)}.public-service-dates{margin:var(--space-4) 0}.qr-options{padding:clamp(18px,3vw,32px)}.qr-options h2{margin-top:0}.qr-option-list{border:0;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-3);min-width:0}.qr-option-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.qr-option-row input,.qr-option-row select{width:100%;box-sizing:border-box}.qr-option-actions{display:flex;gap:var(--space-1-5)}@media(max-width:720px){.qr-option-row{grid-template-columns:1fr}}.diary-lane-names{display:grid;grid-template-columns:repeat(var(--diary-lanes,1),minmax(0,1fr));gap:2px;margin-top:var(--space-1)}.diary-lane-names small{font-size:var(--fs-xs);font-weight:var(--fw-semibold);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-top:3px solid var(--eng);padding-top:2px;color:var(--text-muted)}.diary-grid-cell[data-time]{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--diary-lanes,1) - 1px),var(--line-soft) calc(100% / var(--diary-lanes,1) - 1px),var(--line-soft) calc(100% / var(--diary-lanes,1)))}.offline-ready{margin-left:auto;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--success-text, var(--text))}.offline-chip{margin:var(--space-1) 0 0;font-size:var(--fs-sm);color:var(--text-muted)}.offline-outbox{display:grid;gap:var(--space-2);padding:var(--space-3-5) var(--space-4);margin:var(--space-3) 0;border-radius:var(--r-md);background:var(--accent-tint);border:1px solid var(--line)}.offline-outbox.problem{background:var(--warning-tint)}.offline-outbox p{margin:0}.offline-outbox .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.modal.booking-modal{width:min(1080px,calc(100vw - 32px));max-width:none}.booking-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:var(--space-5);align-items:start}.booking-diary{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--space-3);background:var(--stone-soft, var(--surface));color:var(--text)}.booking-diary h3{margin:0 0 var(--space-2);font-size:var(--fs-body)}.booking-diary p{margin:var(--space-2) 0 0;font-size:var(--fs-sm)}.booking-diary-summary{display:flex;flex-wrap:wrap;gap:var(--space-2)}.booking-diary-summary span{padding:2px var(--space-2);border-radius:var(--r-round);font-weight:var(--fw-semibold)}.booking-diary-summary .free{background:var(--success-tint, var(--accent-tint));color:var(--success-text, var(--text))}.booking-diary-summary .busy{background:var(--danger-tint, var(--warning-tint));color:var(--danger-text, var(--text))}.booking-diary-grid{display:grid;grid-template-columns:46px repeat(var(--engineers),minmax(110px,1fr));margin-top:var(--space-2);max-height:60vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}.booking-diary-corner,.booking-diary-head{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:3px solid var(--eng, var(--line));padding:var(--space-1-5) var(--space-2);font-size:var(--fs-sm)}.booking-diary-times{display:grid;grid-auto-rows:var(--row)}.booking-diary-times time{font-size:var(--fs-xs);color:var(--text-muted);padding:2px var(--space-1) 0}.booking-diary-col{position:relative;display:grid;grid-auto-rows:var(--row);border-left:1px solid var(--line)}.booking-diary-slot{border:0;border-bottom:1px solid var(--line-soft);background:transparent;min-height:0;padding:0;cursor:pointer;border-radius:0}.booking-diary-slot:hover,.booking-diary-slot:focus-visible{background:var(--accent-tint)}.booking-diary-visit,.booking-diary-away,.booking-diary-new{position:absolute;left:3px;right:3px;top:calc(var(--top) + 1px);height:var(--height);overflow:hidden;border-radius:var(--r-sm);padding:2px var(--space-1-5);font-size:var(--fs-xs);line-height:1.3;pointer-events:none}.booking-diary-visit{background:color-mix(in srgb,var(--eng) 18%,var(--surface));border-left:3px solid var(--eng);white-space:nowrap;text-overflow:ellipsis}.booking-diary-away{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 5px,var(--line-soft) 5px,var(--line-soft) 10px);color:var(--text-muted)}.booking-diary-new{border:2px dashed var(--accent, #008cff);background:color-mix(in srgb,var(--accent, #008cff) 10%,transparent);font-weight:var(--fw-semibold);z-index:2}.booking-diary-new.clash{border-color:var(--danger, #c0392b);background:color-mix(in srgb,var(--danger, #c0392b) 12%,transparent)}@media(max-width:860px){.booking-layout{grid-template-columns:1fr}}.diary-booking-banner{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;flex-wrap:wrap;padding:var(--space-3-5) var(--space-4);margin:var(--space-3) 0;border-radius:var(--r-md);background:var(--accent-tint);border:2px solid var(--accent)}.diary-booking-banner p{margin:var(--space-1) 0 0}.diary-grid-cell .diary-slot-add.diary-slot-lane{position:absolute;top:2px;bottom:2px;left:calc(var(--slot-left) * 100% + 2px);width:calc(var(--slot-width) * 100% - 4px);min-height:0;padding:0}.diary-grid-cell:hover .diary-slot-lane{opacity:0}.diary-grid-cell .diary-slot-lane:hover,.diary-grid-cell .diary-slot-lane:focus-visible{opacity:1}.diary-time-grid.booking .diary-slot-add{opacity:.45}.diary-time-grid.booking .diary-slot-add:hover{opacity:1;background:var(--accent-tint)}.time-input{display:flex;align-items:center;gap:6px}.time-input select{width:auto;min-width:5.5em}.time-input b{font-weight:600}.content.content-wide{max-width:none}.returned-forms{border-left:4px solid var(--warning, #c77700);margin-bottom:var(--space-4)}.returned-forms h2{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.returned-forms ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.returned-forms li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.returned-note{margin:var(--space-1) 0 0;color:var(--text-muted)}.visit-appliance{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.invoice-line{grid-template-columns:100px minmax(200px,1fr) 64px 115px 64px 70px 95px 32px}.invoice-lines.no-vat .invoice-line{grid-template-columns:100px minmax(200px,1fr) 64px 115px 64px 95px 32px}@media print{.invoice-line{grid-template-columns:100px minmax(200px,1fr) 64px 115px 64px 70px 95px}.invoice-lines.no-vat .invoice-line{grid-template-columns:100px minmax(200px,1fr) 64px 115px 64px 95px}}.catalog-picker{max-width:420px;margin:var(--space-3) 0}.xero-quote{display:grid;gap:var(--space-2)}.customer-picker{position:relative}.customer-picker>label{display:grid;gap:var(--space-2)}.customer-picked{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.customer-matches{list-style:none;margin:var(--space-1) 0 0;padding:var(--space-1);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);max-height:260px;overflow:auto}.customer-matches button{display:grid;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:0;background:none;border-radius:var(--r-sm);cursor:pointer;color:var(--text)}.customer-matches button:hover,.customer-matches button:focus{background:var(--accent-tint)}.customer-matches small{color:var(--text-muted);font-weight:var(--fw-regular)}.customer-matches .muted{padding:var(--space-2) var(--space-3)}.invoice-lines{min-width:1080px}.invoice-line{grid-template-columns:120px minmax(180px,1fr) 56px 105px 58px 140px 120px 80px 90px 32px}.invoice-lines.no-vat .invoice-line{grid-template-columns:120px minmax(180px,1fr) 56px 105px 58px 140px 90px 32px}.invoice-line .num{text-align:right}@media print{.invoice-lines{min-width:0}.invoice-line{grid-template-columns:22mm 1fr 10mm 20mm 11mm 24mm 22mm 16mm 18mm}.invoice-lines.no-vat .invoice-line{grid-template-columns:22mm 1fr 10mm 20mm 11mm 24mm 18mm}}.invoice-xero-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin:var(--space-4) 0}@media(max-width:760px){.invoice-lines{min-width:0}}.xero-update{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xero-update p{flex-basis:100%;margin:0}
