.site{--site-paper: #f6f3ee;--site-paper-deep: #efeae2;--site-ink: #16232d;--site-ink-soft: #3b4852;--site-muted: #5f6a73;--site-line: #e2dcd2;--site-accent: #c2511f;--site-accent-dark: #a6421a;--site-navy: #14232e;min-height:100vh;color:var(--site-ink);background:var(--site-paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.site a{color:inherit;text-decoration:none}.site h1,.site h2,.site h3{font-family:var(--font-display);color:var(--site-ink)}html{scroll-behavior:smooth}.site section[id]{scroll-margin-top:72px}.site-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.site-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;font:600 15px/1 var(--font-sans);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.site-button:active{transform:translateY(1px)}.site-button-small{height:38px;padding:0 16px;font-size:14px}.site-button-primary{color:#fff;background:var(--site-accent)}.site-button-primary:hover{background:var(--site-accent-dark)}.site-button-ghost{color:var(--site-ink);background:transparent;border-color:#cfc7ba}.site-button-ghost:hover{background:#fff;border-color:#bdb4a6}.site-button-light{color:#fff;background:transparent;border-color:#ffffff59}.site-button-light:hover{background:#ffffff14}.site-link{padding:0;font:600 14px var(--font-sans);color:var(--site-ink-soft);background:none;border:0;cursor:pointer}.site-link:hover{color:var(--site-ink)}.site-kicker{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--site-accent)}.site-actions{display:flex;flex-wrap:wrap;gap:10px}.site-small{margin:14px 0 0;font-size:13.5px;color:var(--site-muted)}.site-nav{position:sticky;top:0;z-index:20;background:#f6f3eeeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--site-line)}.site-nav-inner{display:flex;align-items:center;gap:28px;height:64px}.site-brand{display:inline-flex;align-items:center;gap:9px;font:700 18px var(--font-display);color:var(--site-ink)}.site-brand-mark{display:grid;place-items:center;width:32px;height:32px;color:#fff;background:var(--site-accent);border-radius:8px}.site-nav-links{display:flex;gap:22px;margin-right:auto;font-size:14px;font-weight:500;color:var(--site-ink-soft)}.site-nav-links a:hover{color:var(--site-ink)}.site-nav-actions{display:flex;align-items:center;gap:18px}.site-hero{padding:64px 0 40px;overflow:hidden}.site-hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center}.site-hero h1{margin:0;font-size:clamp(40px,5.2vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:700}.site-lead{margin:22px 0 30px;font-size:18.5px;line-height:1.55;color:var(--site-ink-soft);max-width:34em}.site-hero-visual{position:relative;padding-bottom:40px}.site-hero-desktop{width:112%;margin-right:-12%}.site-hero-phone{position:absolute;left:-36px;bottom:0;width:26%;min-width:150px}.site-shot{margin:0;overflow:hidden;background:#fff}.site-shot img{display:block;width:100%;height:auto}.site-shot.is-desktop{border:1px solid #d9d2c6;border-radius:12px;box-shadow:0 1px #fff9 inset,0 24px 48px -24px #16232d59}.site-shot-bar{display:flex;gap:6px;height:26px;align-items:center;padding:0 12px;background:#f1ede6;border-bottom:1px solid #e4ddd1}.site-shot-bar i{width:9px;height:9px;border-radius:50%;background:#d3cbbd}.site-shot.is-phone{border:7px solid #1c2730;border-radius:30px;box-shadow:0 24px 40px -18px #16232d73}.site-shot.is-phone img{border-radius:22px}.site-trades{border-top:1px solid var(--site-line);border-bottom:1px solid var(--site-line);background:var(--site-paper-deep)}.site-trades-inner{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:16px;padding-bottom:16px;font-size:14.5px;font-weight:600;color:var(--site-ink-soft)}.site-section{padding:96px 0}.site-heading{max-width:640px;margin-bottom:48px}.site-heading h2{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1.08;letter-spacing:-.03em}.site-heading>p:not(.site-kicker){margin:16px 0 0;font-size:17px;line-height:1.6;color:var(--site-ink-soft)}.site-reasons{display:flex;flex-direction:column;gap:96px}.site-reason{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}.site-reason.is-flipped{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.site-reason.is-flipped .site-reason-copy{order:2}.site-reason.has-phone{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.site-reason.has-phone .site-shot{justify-self:center;width:300px;max-width:100%}.site-reason.has-phone.is-flipped .site-reason-copy{order:2}.site-reason.has-phone.is-flipped{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.site-reason h3{margin:0 0 16px;font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.025em}.site-reason-copy p:not(.site-kicker){margin:0 0 14px;font-size:16.5px;line-height:1.65;color:var(--site-ink-soft);max-width:32em}.site-videos{background:var(--site-navy);color:#e8edf1}.site-videos .site-heading h2{color:#fff}.site-videos .site-heading>p:not(.site-kicker){color:#b7c3cc}.site-videos .site-kicker{color:#f0a47e}.site-player{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.site-player-screen{overflow:hidden;background:#0d171e;border:1px solid #2b3a45;border-radius:12px;aspect-ratio:16 / 10}.site-player-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#0d171e}.site-player-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.site-player-list button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 14px;font:inherit;color:inherit;text-align:left;background:transparent;border:1px solid #2b3a45;border-radius:10px;cursor:pointer}.site-player-list button:hover{background:#1b2c38}.site-player-list button.active{background:#213544;border-color:#f0a47e}.site-player-number{display:grid;place-items:center;width:28px;height:28px;font:700 13px var(--font-display);color:#f0a47e;border:1px solid #3a4b57;border-radius:50%}.site-player-text strong{display:block;font-size:15px;color:#fff}.site-player-text small{display:block;margin-top:2px;font-size:12.5px;color:#9fb0bc}.site-player-length{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#9fb0bc;font-variant-numeric:tabular-nums}.site-everything{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin:0 0 64px;border-top:1px solid var(--site-line)}.site-everything>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--site-line)}.site-everything dt{font-weight:700;font-size:15px}.site-everything dd{margin:0;font-size:15px;line-height:1.55;color:var(--site-ink-soft)}.site-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-pricing{background:var(--site-paper-deep);border-top:1px solid var(--site-line);border-bottom:1px solid var(--site-line)}.site-pricing-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:center}.site-pricing .site-heading{margin-bottom:0}.site-price-card{padding:32px;background:#fff;border:1px solid var(--site-line);border-radius:14px;box-shadow:0 20px 40px -28px #16232d59}.site-price{margin:0;font-size:17px;color:var(--site-ink-soft)}.site-price strong{font:700 52px/1 var(--font-display);letter-spacing:-.03em;color:var(--site-ink)}.site-price-note{margin:8px 0 22px;font-size:14px;color:var(--site-muted)}.site-price-card ul{display:flex;flex-direction:column;gap:10px;margin:0 0 26px;padding:0;list-style:none;font-size:15px}.site-price-card li{display:flex;align-items:center;gap:10px}.site-price-card li svg{flex-shrink:0;color:#2f6b4f}.site-price-card .site-button{width:100%}.site-faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px}.site-faq{border-top:1px solid var(--site-line)}.site-faq details{border-bottom:1px solid var(--site-line)}.site-faq summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:17px;font-weight:600;cursor:pointer;list-style:none}.site-faq summary::-webkit-details-marker{display:none}.site-faq summary:after{content:"+";font-size:22px;line-height:1;color:var(--site-accent)}.site-faq details[open] summary:after{content:"−"}.site-faq details p{margin:-6px 0 20px;font-size:16px;line-height:1.6;color:var(--site-ink-soft);max-width:40em}.site-final{padding:88px 0;color:#fff;background:var(--site-navy)}.site-final h2{margin:0;font-size:clamp(32px,4vw,48px);letter-spacing:-.03em;color:#fff}.site-final p{margin:14px 0 28px;font-size:17.5px;color:#b7c3cc;max-width:36em}.site-footer{padding:28px 0;background:var(--site-paper)}.site-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;margin-right:auto;font-size:14px;color:var(--site-ink-soft)}.site-footer small{font-size:13px;color:var(--site-muted)}@media(max-width:980px){.site-hero-grid,.site-reason,.site-reason.is-flipped,.site-reason.has-phone,.site-reason.has-phone.is-flipped,.site-pricing-grid,.site-faq-grid{grid-template-columns:minmax(0,1fr);gap:32px}.site-reason.is-flipped .site-reason-copy,.site-reason.has-phone.is-flipped .site-reason-copy{order:0}.site-hero-desktop{width:100%;margin-right:0}.site-hero-phone{left:auto;right:-8px;width:24%}.site-player,.site-everything{grid-template-columns:minmax(0,1fr)}.site-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.site-gallery .site-shot:last-child{display:none}.site-nav-links{display:none}.site-nav-actions{margin-left:auto}}@media(max-width:600px){.site-wrap{padding:0 16px}.site-hero{padding:40px 0 24px}.site-lead{font-size:17px}.site-actions .site-button{width:100%}.site-hero-phone{width:34%;min-width:0;right:-4px;border-width:4px;border-radius:18px}.site-hero-phone img{border-radius:14px}.site-section{padding:64px 0}.site-heading{margin-bottom:32px}.site-reasons{gap:64px}.site-everything>div{grid-template-columns:minmax(0,1fr);gap:4px}.site-gallery{grid-template-columns:minmax(0,1fr)}.site-gallery .site-shot:not(:first-child){display:none}.site-price-card{padding:24px}.site-shot-bar{height:18px}.site-shot-bar i{width:7px;height:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-shot.is-crop{border:1px solid #d9d2c6;border-radius:12px;box-shadow:0 24px 48px -26px #16232d59}.site-gallery{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.site-gallery-stack{display:flex;flex-direction:column;gap:20px}.site-footer nav .site-link{font-weight:400;font-size:14px;color:var(--site-ink-soft)}@media(max-width:980px){.site-gallery{grid-template-columns:minmax(0,1fr)}.site-gallery .site-shot:last-child{display:block}}@media(max-width:600px){.site-gallery .site-shot:not(:first-child){display:block}.site-gallery-stack{display:none}}.site-legal{max-width:760px;padding-top:48px;padding-bottom:72px}.site-legal h1{margin:0;font-size:clamp(34px,4.4vw,48px);line-height:1.05;letter-spacing:-.03em}.site-legal h2{margin:36px 0 10px;font-size:20px;letter-spacing:-.01em}.site-legal p,.site-legal li{font-size:16px;line-height:1.65;color:var(--site-ink-soft)}.site-legal p{margin:0 0 12px}.site-legal ul{margin:0 0 12px;padding-left:22px}.site-legal li{margin-bottom:6px}.site-legal strong{color:var(--site-ink)}.site-legal a{color:var(--site-accent);text-decoration:underline;text-underline-offset:2px}.site-legal-updated{margin-top:10px!important;font-size:14px!important;color:var(--site-muted)!important}.site-legal-intro{margin-top:18px!important;font-size:18px!important}.site-legal-gap{padding:0 3px;color:inherit;background:#fbe3a7;border-radius:3px}.site-legal-draft{margin:0 0 28px!important;padding:12px 16px;font-size:14px!important;color:#6b4a06!important;background:#fbf1d6;border:1px solid #ecd9a6;border-radius:10px}.site-legal-back{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.site-nav-links a[aria-current=page]{color:var(--site-ink)}@media(max-width:600px){.site-legal{padding-top:32px}.site-legal-back{font-size:13px}}.admin-shell{min-height:100vh;background:var(--bg);color:var(--ink)}.admin-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--sidebar);color:#fff}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand .brand-mark{width:32px;height:32px}.admin-brand strong{display:block;font-size:15px;font-weight:600}.admin-brand small{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f3b597}.admin-topbar-user{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;color:#c9d3da}.admin-topbar-user>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar .button-ghost{color:#fff;border-color:#ffffff47}.admin-topbar .button-ghost:hover{background:#ffffff14;border-color:#ffffff73}.admin-main{max-width:1180px;margin:0 auto;padding:28px 24px 60px}.admin-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-page-head h1{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.4px}.admin-page-head p{max-width:640px;margin-top:4px;font-size:13px;line-height:1.5;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-stats>div{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.admin-stats dt{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.admin-stats dd{margin:3px 0 0;font-family:var(--font-display);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.admin-stats dd.admin-stat-small{font-family:var(--font-sans);font-size:14px;font-weight:600;padding-top:5px}.admin-totals{margin-bottom:18px}.admin-detail .admin-stats>div{background:#f7f9fa}.admin-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.admin-card{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-card-head h2{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-display);font-size:19px;font-weight:700}.admin-card-head p{margin-top:4px;font-size:12px;color:var(--muted)}.admin-list{padding:10px}.admin-list ul,.admin-members{margin:0;padding:0;list-style:none}.admin-search{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding:0 10px;height:36px;color:var(--faint);background:#f7f9fa;border:1px solid var(--line);border-radius:8px}.admin-search input{flex:1;min-width:0;height:100%;font:inherit;font-size:13px;color:var(--ink);background:none;border:0;outline:none}.admin-tenant{display:flex;align-items:center;gap:10px;width:100%;padding:10px;text-align:left;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:9px;cursor:pointer}.admin-tenant:hover{background:#f4f6f8}.admin-tenant.active{background:var(--accent-soft);border-color:#d85c274d}.admin-tenant:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-tenant-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;color:var(--blue);background:#e9f0f4;border-radius:8px}.admin-tenant-meta{display:flex;flex-direction:column;flex:1;min-width:0}.admin-tenant-meta strong{overflow:hidden;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-tenant-meta small{margin-top:2px;font-size:11px;color:var(--muted)}.admin-status{display:inline-flex;align-items:center;flex:0 0 auto;height:20px;padding:0 8px;font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.03em;border-radius:10px}.admin-status.active{color:var(--green);background:var(--green-soft)}.admin-status.suspended{color:var(--red);background:var(--red-soft)}.admin-muted{padding:12px;font-size:12.5px;color:var(--muted)}.admin-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center;color:var(--faint)}.admin-empty h2{font-family:var(--font-display);font-size:17px;color:var(--ink)}.admin-empty p{max-width:360px;font-size:12.5px;line-height:1.5;color:var(--muted)}.admin-form,.admin-inline-form{display:flex;flex-direction:column;gap:12px}.admin-inline-form{margin:4px 0 12px;padding:14px;background:#f7f9fa;border:1px solid var(--line);border-radius:10px}.admin-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-grid-3{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:12px}.admin-actions{display:flex;justify-content:flex-end;gap:8px}.admin-password-row{display:flex;gap:8px}.admin-password-row input{flex:1;min-width:0;height:36px;padding:0 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:8px}.admin-password-row input:focus{outline:none;border-color:#d85c2799;box-shadow:0 0 0 3px #d85c271a}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 8px}.admin-section-head h3,.admin-danger h3{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.admin-members>li{border-bottom:1px solid var(--line)}.admin-members>li:last-child{border-bottom:0}.admin-members>li.disabled .admin-member-meta{opacity:.55}.admin-member-row{display:flex;align-items:center;gap:10px;padding:10px 2px}.admin-member-meta{display:flex;flex-direction:column;flex:1;min-width:0}.admin-member-meta strong{font-size:13px;font-weight:600}.admin-member-meta small{overflow:hidden;margin-top:2px;font-size:11px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.admin-member-actions{display:flex;gap:4px}.admin-role-select{height:30px;padding:0 8px;font:inherit;font-size:12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:7px}.admin-icon-button{display:grid;place-items:center;width:30px;height:30px;color:var(--muted);background:none;border:1px solid transparent;border-radius:7px;cursor:pointer}.admin-icon-button:hover{color:var(--ink);background:#eef2f4}.admin-icon-button.danger:hover{color:var(--red);background:var(--red-soft)}.admin-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-link{padding:0;font:inherit;color:var(--accent-dark);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.admin-edit-name{display:flex;flex-wrap:wrap;gap:8px;flex:1}.admin-edit-name input{flex:1 1 160px;height:34px;padding:0 10px;font:inherit;font-size:13px;border:1px solid var(--line-strong);border-radius:8px}.admin-danger{margin-top:24px;padding:14px;background:#fdf7f6;border:1px solid #efd3d1;border-radius:10px}.admin-danger h3{color:var(--red)}.admin-danger p{margin:4px 0 10px;font-size:12px;line-height:1.5;color:var(--muted)}.admin-delete:not(:disabled){color:#fff;background:var(--red);border-color:var(--red)}.admin-delete:disabled{opacity:.5;cursor:not-allowed}.admin-toast{position:fixed;bottom:22px;left:50%;z-index:20;max-width:calc(100vw - 32px);padding:11px 16px;font-size:12.5px;color:#fff;background:var(--sidebar);border-radius:9px;box-shadow:var(--shadow-lg);transform:translate(-50%)}@media(max-width:860px){.admin-layout{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-3{grid-template-columns:1fr}}@media(max-width:560px){.admin-topbar{padding:10px 16px}.admin-topbar-user>span{display:none}.admin-main{padding:20px 16px 48px}.admin-page-head{flex-direction:column;align-items:stretch}.admin-grid-2{grid-template-columns:1fr}.admin-member-row{flex-wrap:wrap}.admin-member-meta{flex-basis:calc(100% - 44px)}.admin-role-select{margin-left:44px}}.admin-support-visits{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;font-size:12.5px;color:var(--ink-soft)}.admin-support-visits li{padding:8px 10px;border:1px solid var(--line);border-radius:8px}.admin-support-visits small{display:block;margin-top:2px;color:var(--muted)}.admin-icon-button:disabled{opacity:.4;cursor:not-allowed}.admin-plan{flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600;border-radius:10px;white-space:nowrap}.admin-plan.paying{color:var(--green);background:var(--green-soft)}.admin-plan.trial{color:var(--blue);background:#e8f0f5}.admin-plan.soon{color:var(--gold);background:#fbf5e8}.admin-plan.locked{color:var(--red);background:var(--red-soft)}.admin-plan.free{color:var(--ink-soft);background:#eef2f4}.admin-billing-totals{margin-top:-6px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.admin-billing-totals .warn dd{color:var(--red)}.admin-billing-totals .soon dd{color:var(--gold)}.admin-term{display:inline-flex;align-items:center;gap:4px;width:fit-content;margin-top:4px;padding:1px 7px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-soft);background:#eef2f4;border-radius:10px;white-space:nowrap}.admin-term.ok{color:var(--green);background:var(--green-soft)}.admin-term.soon{color:var(--gold);background:#fbf5e8}.admin-term.urgent{color:var(--red);background:var(--red-soft)}.admin-term.ended{color:var(--muted);background:#eef2f4}.admin-term-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:6px 0 4px}.admin-term-row .admin-term{margin-top:0;padding:4px 10px;font-size:13px}.admin-term-row small{font-size:12px;color:var(--muted)}.admin-sort{display:flex;align-items:center;gap:8px;margin:-2px 0 10px;font-size:12px;color:var(--muted)}.admin-sort select{flex:1;height:30px;padding:0 8px;font-size:12.5px}.admin-heard{margin-top:18px}.admin-heard h2{margin:0 0 10px;font-size:15px}.admin-heard table{width:100%;border-collapse:collapse;font-size:13px}.admin-heard th{padding:6px 8px;font-size:11px;font-weight:600;text-align:left;color:var(--muted);border-bottom:1px solid var(--line)}.admin-heard td{padding:8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.admin-heard td:not(:first-child),.admin-heard th:not(:first-child){text-align:right}.admin-heard tr:last-child td{border-bottom:0}.admin-note{margin:0 0 14px;padding:10px 12px;font-size:12.5px;color:var(--gold);background:#fbf5e8;border:1px solid #ecdcb6;border-radius:10px}.admin-billing{margin:4px 0 16px;padding:14px;border:1px solid var(--line);border-radius:10px}.admin-billing .admin-section-head{margin-top:0}.admin-billing-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;margin:8px 0 12px}.admin-billing-facts dt{font-size:11px;color:var(--muted)}.admin-billing-facts dd{margin:0;font-size:13px;color:var(--ink);overflow-wrap:anywhere}.admin-mono{font-family:ui-monospace,Consolas,monospace;font-size:12px!important}.admin-billing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-billing-actions .admin-password-row input{width:70px}.admin-link-box{width:100%;margin-top:10px;height:34px;padding:0 10px;font-size:12px;border:1px solid var(--line-strong);border-radius:8px}:root{--bg: #f4f2ec;--panel: #fffdf8;--card: #ffffff;--ink: #1d241f;--ink-soft: #313b34;--muted: #7a827b;--faint: #a1a8a1;--line: #e5e1d7;--line-strong: #d6d1c4;--accent: #df6b3b;--accent-dark: #c35528;--accent-soft: #fbece2;--green: #3d765a;--green-soft: #eaf2ec;--blue: #54778b;--gold: #ac8341;--red: #b2514d;--red-soft: #faeceb;--sidebar: #161d18;--shadow-sm: 0 1px 2px rgba(24, 31, 26, .04);--shadow-md: 0 14px 34px rgba(24, 31, 26, .08);--shadow-lg: 0 24px 70px rgba(18, 24, 20, .18);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Newsreader", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background-color:var(--bg);background-image:radial-gradient(circle at 92% -8%,rgba(223,107,59,.06),transparent 32%),radial-gradient(circle at 15% 110%,rgba(61,118,90,.05),transparent 32%);font-family:var(--font-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin:0}a{color:inherit}::selection{background:#df6b3b3d}:focus-visible{outline:2px solid rgba(223,107,59,.75);outline-offset:2px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;width:248px;padding:26px 16px 18px;overflow-y:auto;color:#f5f2e9;background:radial-gradient(circle at 15% 0%,rgba(223,107,59,.12),transparent 35%),var(--sidebar);border-right:1px solid rgba(255,255,255,.06)}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 5px}.brand{display:flex;align-items:center;gap:11px;padding:0;color:#fff;background:none;border:0;text-align:left}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:var(--accent);border-radius:11px;box-shadow:inset 0 1px #fff3,0 8px 18px #df6b3b38}.brand-type{display:flex;flex-direction:column;gap:2px}.brand-type strong{font-size:17px;font-weight:600;letter-spacing:-.45px}.brand-type small{font-size:8px;font-weight:600;letter-spacing:.2em;color:#f5f2e961}.sidebar-close{display:none;color:#ffffffb3;background:none;border:0;padding:5px}.sidebar-label{margin:34px 10px 10px;font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#f5f2e952}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;height:43px;padding:0 12px;font-size:12.5px;font-weight:500;color:#f5f2e9a8;background:transparent;border:0;border-radius:10px;text-align:left;transition:background .16s ease,color .16s ease}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:var(--ink);background:#f5f1e8;box-shadow:0 2px 8px #00000029}.nav-item.active svg{color:var(--accent-dark)}.nav-item span:first-of-type{flex:1}.nav-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:9.5px;font-weight:700;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px}.nav-item.active .nav-badge{color:#fff;background:var(--accent)}.sidebar-spacer{flex:1;min-height:24px}.sidebar-nudge{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 11px;color:#f5f2e9d1;background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:12px;text-align:left;transition:background .16s ease,border-color .16s ease}.sidebar-nudge:hover{background:#ffffff14;border-color:#ffffff24}.nudge-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;color:var(--accent);background:#df6b3b21;border-radius:8px}.sidebar-nudge>span:nth-child(2){min-width:0;flex:1}.sidebar-nudge strong{display:block;font-size:10.5px;font-weight:600;line-height:1.35}.sidebar-nudge small{display:block;margin-top:3px;font-size:9.5px;color:#f5f2e961}.nudge-arrow{flex:0 0 auto;margin-top:2px;color:#f5f2e959}.sidebar-footer{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.business-card{display:flex;align-items:center;gap:10px;width:100%;padding:5px;color:#f5f2e9cc;background:transparent;border:0;border-radius:9px;text-align:left}.business-card:hover{background:#ffffff0d}.business-avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;font-size:10px;font-weight:700;color:var(--sidebar);background:#e7dfcd;border-radius:50%}.business-meta{display:flex;flex-direction:column;flex:1;min-width:0}.business-meta strong{overflow:hidden;font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.business-meta small{font-size:9.5px;color:#f5f2e95c}.business-card>svg{color:#f5f2e95c}.sidebar-footnote{margin:11px 5px 0;font-size:8.5px;letter-spacing:.02em;color:#f5f2e942}.sidebar-site-link{margin:9px 5px 0;padding:0;font-size:8.5px;font-weight:500;color:#f5f2e96b;background:none;border:0}.sidebar-site-link:hover{color:#f5f2e9}.sidebar-backdrop{display:none}.main-shell{min-height:100vh;margin-left:248px}.topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:20px;height:67px;padding:0 32px;background:#f4f2ece0;border-bottom:1px solid rgba(214,209,196,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-context{display:flex;align-items:center;gap:18px;min-width:0}.breadcrumb{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);white-space:nowrap}.breadcrumb svg{color:var(--faint)}.breadcrumb-home{color:var(--ink-soft);font-weight:500}.breadcrumb span:last-child{font-weight:600;color:var(--ink)}.topbar-date{padding-left:18px;font-size:10.5px;color:var(--muted);border-left:1px solid var(--line-strong);white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:8px}.mobile-menu-button{display:none;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:9px}.page-container{width:100%;max-width:1600px;margin:0 auto;padding:25px 32px 44px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 14px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:9px;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.button:active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px #df6b3b2e}.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);box-shadow:0 6px 16px #df6b3b3b}.button-dark{color:#f6f2e9;background:var(--ink);border-color:var(--ink)}.button-dark:hover{background:#303b33;border-color:#303b33}.button-ghost{color:var(--ink-soft);background:transparent;border-color:var(--line-strong)}.button-ghost:hover{background:var(--panel);border-color:#c7c1b3}.button-danger-ghost{color:var(--red);background:transparent;border-color:transparent}.button-danger-ghost:hover{background:var(--red-soft)}.button-small{height:32px;padding:0 10px;font-size:10.5px;border-radius:8px}.button-large{height:46px;padding:0 18px;font-size:12.5px;border-radius:10px}.button-full{width:100%}.text-link{display:inline-flex;align-items:center;gap:3px;padding:0;font-size:10.5px;font-weight:600;color:var(--ink-soft);background:none;border:0}.text-link:hover{color:var(--accent-dark)}.icon-button{display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:8px}.icon-button:hover{color:var(--ink);background:#f4f0e7;border-color:var(--line)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:23px}.eyebrow{margin-bottom:8px;font-size:9.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.page-heading h1{font-family:var(--font-serif);font-size:clamp(32px,3.2vw,43px);font-weight:500;line-height:1.02;letter-spacing:-.035em}.heading-dot{color:var(--accent)}.page-subtitle{max-width:620px;margin-top:8px;font-size:13px;color:var(--muted)}.heading-side{display:flex;align-items:center;gap:11px;flex:0 0 auto;max-width:370px;padding:10px 13px;background:#fffdf8b3;border:1px solid var(--line);border-radius:12px}.heading-side-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;color:var(--accent-dark);background:var(--accent-soft);border-radius:9px}.heading-side-icon.ai{color:var(--green);background:var(--green-soft)}.heading-side>div{flex:1;min-width:0}.heading-side strong{display:block;font-size:10.5px;font-weight:600}.heading-side span:not(.heading-side-icon){display:block;margin-top:1px;font-size:9.5px;line-height:1.35;color:var(--muted)}.heading-side .text-link{flex:0 0 auto}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:18px}.stat-grid.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid.employee-grid .stat-card{min-height:104px}.stat-card{display:flex;flex-direction:column;min-width:0;min-height:118px;padding:15px 17px 14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm)}button.stat-card{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}button.stat-card:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stat-icon{display:grid;place-items:center;width:27px;height:27px;color:#7b857e;background:#f2efe7;border-radius:8px}.stat-value{margin-top:auto;padding-top:9px;font-family:var(--font-serif);font-size:29px;font-weight:500;line-height:1;letter-spacing:-.02em}.stat-detail{margin-top:5px;font-size:9.5px;color:var(--muted)}.stat-accent{background:#fdf2ea;border-color:#f2d8c9}.stat-accent .stat-icon{color:var(--accent-dark);background:#f9e2d4}.stat-accent .stat-value{color:var(--accent-dark)}.stat-dark{color:#f6f2e8;background:var(--ink);border-color:var(--ink)}.stat-dark .stat-label{color:#f6f2e885}.stat-dark .stat-icon{color:#e9b28f;background:#ffffff14}.stat-dark .stat-value{color:#fff}.stat-dark .stat-detail{color:#f6f2e873}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:17px;align-items:start}.calendar-card{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 13px}.month-title{display:flex;align-items:baseline;gap:10px}.month-title h2{font-family:var(--font-serif);font-size:24px;font-weight:500;letter-spacing:-.02em}.month-meta{padding:3px 7px;font-size:9px;font-weight:600;color:var(--muted);background:#f2efe7;border-radius:999px}.calendar-controls{display:flex;align-items:center;gap:7px}.today-button{height:31px}.calendar-stepper{display:flex;align-items:center;padding:2px;background:#f2efe7;border:1px solid #eae5da;border-radius:8px}.calendar-stepper button{display:grid;place-items:center;width:28px;height:27px;padding:0;color:var(--ink-soft);background:transparent;border:0;border-radius:6px}.calendar-stepper button:hover{background:var(--panel);box-shadow:var(--shadow-sm)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 11px}.calendar-weekdays span{padding:6px 0 8px;font-size:8.5px;font-weight:600;letter-spacing:.1em;text-align:center;text-transform:uppercase;color:var(--faint)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;background:var(--line);border-top:1px solid var(--line)}.day-cell{display:flex;flex-direction:column;min-width:0;min-height:110px;padding:7px 7px 6px;background:var(--panel);cursor:pointer;transition:background .13s ease}.day-cell:hover{background:#fcf9f2}.day-cell.is-weekend{background:#fcfaf5}.day-cell.is-weekend:hover{background:#faf6ec}.day-cell.outside-month{background:#faf8f2}.day-cell.outside-month .day-number{color:#b7bbb5}.day-cell.outside-month .day-events{opacity:.5}.day-cell.is-selected{background:#fffaf3;box-shadow:inset 0 0 0 1.5px #df6b3b9e}.day-cell.is-today .day-number{color:#fff}.day-cell.is-today .day-number:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;background:var(--ink);border-radius:50%}.day-cell-top{display:flex;align-items:center;justify-content:space-between;min-height:22px}.day-number{position:relative;z-index:0;display:inline-flex;align-items:center;gap:4px;width:21px;height:21px;font-size:10.5px;font-weight:600;color:var(--ink-soft)}.day-cell.is-today .day-number{justify-content:center}.day-number em{position:absolute;left:24px;font-size:8px;font-style:normal;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.day-add-button{display:grid;place-items:center;width:19px;height:19px;padding:0;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:5px;opacity:0;transition:opacity .12s ease,color .12s ease}.day-cell:hover .day-add-button{opacity:1}.day-add-button:hover{color:var(--accent-dark);border-color:#e9c6b3}.day-events{display:flex;flex-direction:column;gap:3px;min-width:0;margin-top:4px}.calendar-event{display:flex;align-items:center;gap:4px;width:100%;min-width:0;height:20px;padding:0 4px 0 5px;font-size:9.5px;text-align:left;border:0;border-radius:4px;overflow:hidden}.job-event{position:relative;color:var(--ink-soft);background:var(--event-tint)}.job-event:before{content:"";position:absolute;inset:0 auto 0 0;width:2.5px;background:var(--event-color)}.job-event:hover{filter:saturate(1.12) brightness(.98)}.event-time{flex:0 0 auto;font-size:8px;font-weight:700;letter-spacing:-.02em;color:var(--event-color)}.event-title{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.event-check{flex:0 0 auto;margin-left:auto;color:var(--green)}.job-event.status-completed{background:#f9eee3}.job-event.status-completed:before{background:var(--accent)}.job-event.status-invoiced{background:#edf4ef}.job-event.status-invoiced:before{background:var(--green)}.leave-event{font-weight:500}.leave-event.holiday{color:#8b651f;background:#f6ebd5}.leave-event.sick{color:#9b4b45;background:#f8e6e3}.leave-event .event-title{font-size:8.5px}.more-events{padding:1px 3px;font-size:8.5px;font-weight:600;color:var(--muted);text-align:left;background:transparent;border:0}.more-events:hover{color:var(--accent-dark)}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:11px 17px;font-size:8.5px;color:var(--muted);border-top:1px solid var(--line)}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot.scheduled{background:#7b8f81}.legend-dot.completed{background:var(--accent)}.legend-dot.invoiced{background:var(--green)}.legend-dash{width:10px;height:4px;border-radius:2px}.legend-dash.holiday{background:#e7c985}.legend-dash.sick{background:#dda5a0}.legend-hint{margin-left:auto;color:var(--faint)}.day-panel{position:sticky;top:85px;padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.day-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--line)}.selected-date{display:flex;align-items:center;gap:11px}.selected-day{font-family:var(--font-serif);font-size:39px;font-weight:500;line-height:.8;letter-spacing:-.04em}.selected-weekday{display:block;font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark)}.selected-month{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}.round-add{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;padding:0;color:#fff;background:var(--ink);border:0;border-radius:50%;transition:background .15s ease,transform .15s ease}.round-add:hover{background:#303b33;transform:rotate(90deg)}.day-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 1px 4px;font-size:9.5px;color:var(--muted)}.day-summary-row strong{font-size:10px;font-weight:600;color:var(--ink-soft)}.day-leave-card{display:flex;align-items:flex-start;gap:9px;width:100%;margin-top:8px;padding:9px 10px;text-align:left;border:1px solid transparent;border-radius:10px}.day-leave-card.holiday{background:#fbf3e4;border-color:#f2e3c4}.day-leave-card.sick{background:#fcf0ee;border-color:#f1d9d5}.day-leave-card:hover{filter:brightness(.985)}.leave-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:8px}.holiday .leave-icon{color:#9a701f;background:#f5e4c1}.sick .leave-icon{color:#a34e47;background:#f6ded9}.day-leave-card strong{display:block;font-size:11px}.day-leave-card small{display:block;font-size:9.5px;color:var(--muted)}.day-leave-card em{display:block;margin-top:3px;font-size:9.5px;font-style:normal;color:var(--muted)}.day-jobs{display:flex;flex-direction:column;gap:7px;margin-top:8px}.day-job-card{position:relative;display:flex;width:100%;overflow:hidden;text-align:left;background:#fbf9f4;border:1px solid var(--line);border-radius:11px;transition:border-color .14s ease,background .14s ease}.day-job-card:hover{background:#fcfaf6;border-color:#cfc9bb}.day-job-stripe{width:3px;flex:0 0 auto}.day-job-body{flex:1;min-width:0;padding:9px 10px 9px 11px}.day-job-topline{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.day-job-time{display:inline-flex;align-items:center;gap:3px;font-size:8.5px;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:7.5px;font-weight:600;letter-spacing:.03em;text-transform:capitalize;border-radius:999px;white-space:nowrap}.status-pill.scheduled{color:#5c7263;background:#edf2ee}.status-pill.completed{color:var(--accent-dark);background:var(--accent-soft)}.status-pill.invoiced{color:var(--green);background:var(--green-soft)}.day-job-body>strong{display:block;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.day-job-customer{display:block;margin-top:2px;overflow:hidden;font-size:9.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.day-job-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:7px;padding-top:6px;border-top:1px dashed var(--line);font-size:10.5px;font-weight:600}.invoice-tick{display:inline-flex;align-items:center;gap:2px;font-size:8px;font-weight:600;color:var(--green)}.day-empty{display:flex;flex-direction:column;align-items:center;padding:28px 13px 20px;text-align:center}.day-empty-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:10px;color:var(--muted);background:#f4f1e9;border-radius:50%}.day-empty strong{font-size:11.5px;font-weight:600}.day-empty p{max-width:190px;margin-top:4px;font-size:9.5px;line-height:1.5;color:var(--muted)}.day-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.day-panel-actions .button{height:35px;padding:0 8px;font-size:10px}.panel-upcoming{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.panel-section-label{margin-bottom:7px;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}.upcoming-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 2px;text-align:left;background:transparent;border:0;border-radius:7px}.upcoming-row:hover{background:#f9f6ef}.upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:34px;height:37px;flex:0 0 auto;font-size:7.5px;font-weight:600;text-transform:uppercase;color:var(--muted);background:#f2efe7;border-radius:7px}.upcoming-date strong{font-size:13px;line-height:1;color:var(--ink)}.upcoming-main{flex:1;min-width:0}.upcoming-main strong{display:block;overflow:hidden;font-size:9.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.upcoming-main small{display:block;overflow:hidden;font-size:8.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.upcoming-color{width:5px;height:5px;flex:0 0 auto;border-radius:50%}.invoice-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:18px}.invoice-stat{display:flex;align-items:center;gap:13px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.invoice-stat.accent{background:#fdf2ea;border-color:#f2d8c9}.invoice-stat-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;color:var(--muted);background:#f3f0e8;border-radius:10px}.invoice-stat.accent .invoice-stat-icon{color:var(--accent-dark);background:#f9e2d4}.invoice-stat>div{display:flex;flex-direction:column;min-width:0}.invoice-stat span:not(.invoice-stat-icon){font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.invoice-stat strong{margin-top:2px;font-family:var(--font-serif);font-size:25px;font-weight:500;line-height:1.05;letter-spacing:-.02em}.invoice-stat.accent strong{color:var(--accent-dark)}.invoice-stat small{margin-top:2px;font-size:9px;color:var(--muted)}.invoice-card{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.invoice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;border-bottom:1px solid var(--line)}.segmented-tabs{display:flex;align-items:center;gap:2px;padding:3px;background:#f2efe7;border-radius:9px}.segmented-tabs button{display:inline-flex;align-items:center;gap:6px;height:29px;padding:0 10px;font-size:10px;font-weight:500;color:var(--muted);background:transparent;border:0;border-radius:7px;white-space:nowrap}.segmented-tabs button:hover{color:var(--ink)}.segmented-tabs button.active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px #181f1a1a}.segmented-tabs button span{display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;font-weight:700;color:var(--muted);background:#e9e4d9;border-radius:999px}.segmented-tabs button.active span{color:var(--accent-dark);background:var(--accent-soft)}.table-search{display:flex;align-items:center;gap:6px;width:220px;height:33px;padding:0 9px;color:var(--muted);background:#faf8f2;border:1px solid var(--line);border-radius:8px}.table-search input{width:100%;min-width:0;padding:0;font-size:10.5px;color:var(--ink);background:none;border:0;outline:none}.table-search input::placeholder{color:var(--faint)}.invoice-table-wrap{overflow-x:auto}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{padding:10px 11px;font-size:8px;font-weight:600;letter-spacing:.1em;text-align:left;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line)}.invoice-table td{padding:10px 11px;border-bottom:1px solid #eeeae1;vertical-align:middle}.invoice-table tbody tr:last-child td{border-bottom:0}.invoice-table tbody tr:hover{background:#fcfaf5}.invoice-table tbody tr.is-invoiced{background:#fcfdfb}.invoice-table tbody tr.is-invoiced:hover{background:#f9fbf8}.invoice-table .check-column{width:37px;padding-left:16px;padding-right:3px}.invoice-table .number-column{text-align:right}.invoice-check{display:inline-flex;align-items:center;cursor:pointer}.invoice-check input{position:absolute;width:1px;height:1px;opacity:0}.invoice-check span{display:grid;place-items:center;width:19px;height:19px;color:#fff;background:transparent;border:1.5px solid #cbc6b9;border-radius:50%;transition:background .14s ease,border-color .14s ease}.invoice-check:hover span{border-color:var(--green)}.invoice-check.checked span{background:var(--green);border-color:var(--green);box-shadow:0 2px 5px #3d765a33}.job-cell{display:flex;flex-direction:column;align-items:flex-start;padding:0;text-align:left;background:transparent;border:0}.job-cell-title{font-size:11.5px;font-weight:600;color:var(--ink)}.job-cell:hover .job-cell-title{color:var(--accent-dark)}.job-cell-sub{margin-top:2px;font-size:8.5px;letter-spacing:.02em;color:var(--faint)}.table-customer{display:flex;align-items:center;gap:8px}.mini-avatar{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;font-size:8.5px;font-weight:700;border-radius:50%}.table-customer strong{display:block;max-width:155px;overflow:hidden;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.table-customer small{display:block;font-size:8.5px;color:var(--muted)}.muted-cell{font-size:9.5px;color:var(--muted);white-space:nowrap}.table-amount{font-size:11px;font-weight:600;white-space:nowrap}.table-status{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;font-size:8px;font-weight:600;border-radius:999px;white-space:nowrap}.table-status.invoiced{color:var(--green);background:var(--green-soft)}.table-status.awaiting{color:var(--accent-dark);background:var(--accent-soft)}.table-status.awaiting>span{width:4px;height:4px;background:var(--accent);border-radius:50%}.row-action-cell{width:32px;padding-left:0!important;padding-right:13px!important}.row-action{display:grid;place-items:center;width:26px;height:26px;padding:0;color:var(--faint);background:transparent;border:0;border-radius:6px}.row-action:hover{color:var(--ink);background:#f2eee5}.invoice-table-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 17px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}.invoice-tip{display:inline-flex;align-items:center;gap:5px}.invoice-table-footer strong{color:var(--ink-soft)}.invoice-empty{display:flex;flex-direction:column;align-items:center;padding:62px 20px;text-align:center}.empty-illustration{display:grid;place-items:center;width:52px;height:52px;margin-bottom:13px;color:var(--muted);background:#f2efe7;border-radius:50%}.invoice-empty h3,.customer-empty h3{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.02em}.invoice-empty p,.customer-empty p{max-width:390px;margin-top:5px;font-size:11px;line-height:1.55;color:var(--muted)}.invoice-empty .button,.customer-empty .button{margin-top:16px}.customer-summary{display:flex;align-items:stretch;gap:9px;margin-bottom:17px}.customer-summary-item{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.summary-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--muted);background:#f2efe7;border-radius:8px}.customer-summary-item>div{display:flex;flex-direction:column}.customer-summary-item span:not(.summary-icon){font-size:8px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.customer-summary-item strong{font-family:var(--font-serif);font-size:19px;font-weight:500;line-height:1.1}.customer-search{display:flex;align-items:center;gap:7px;width:230px;margin-left:auto;padding:0 12px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:11px}.customer-search input{width:100%;min-width:0;padding:0;font-size:10.5px;background:none;border:0;outline:none}.customer-search input::placeholder{color:var(--faint)}.customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.customer-group+.customer-group{margin-top:26px}.customer-group-heading{display:flex;align-items:center;gap:10px;margin-bottom:11px}.customer-group-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;color:var(--accent-dark);background:var(--accent-soft);border-radius:9px}.customer-group-copy{min-width:0}.customer-group-copy h2{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:-.015em}.customer-group-copy p{margin-top:1px;font-size:9px;color:var(--muted)}.customer-group-count{flex:0 0 auto;margin-left:auto;padding:3px 8px;font-size:8px;font-weight:600;color:var(--muted);background:#f1ede4;border-radius:999px}.customer-card{display:flex;flex-direction:column;min-height:250px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.customer-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}.customer-card-top{display:flex;align-items:flex-start;justify-content:space-between}.customer-avatar{display:grid;place-items:center;width:44px;height:44px;font-size:12px;font-weight:700;border:1px solid;border-radius:13px}.customer-identity{margin:12px 0 9px}.customer-identity h3{overflow:hidden;font-size:14px;font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.customer-identity p{margin-top:2px;font-size:9.5px;color:var(--muted)}.customer-contact{display:flex;flex-direction:column;gap:4px;min-width:0}.customer-contact span{display:flex;align-items:center;gap:5px;overflow:hidden;font-size:9px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.customer-contact svg{flex:0 0 auto;color:var(--faint)}.customer-crew{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.crew-label{flex:0 0 auto;font-size:7.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.crew-people{display:flex;align-items:center;gap:6px;min-width:0}.crew-avatars{display:flex;flex:0 0 auto}.crew-avatar{display:grid;place-items:center;width:20px;height:20px;margin-left:-5px;font-size:6.5px;font-weight:700;border:1.5px solid var(--panel);border-radius:50%}.crew-avatar:first-child{margin-left:0}.crew-names{overflow:hidden;font-size:8.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.crew-empty{font-size:8.5px;font-style:italic;color:var(--faint)}.customer-log-toggle{display:flex;align-items:center;gap:5px;width:100%;margin-top:8px;padding:6px 0 0;font-size:8.5px;font-weight:600;color:var(--accent-dark);background:none;border:0}.customer-log-toggle .log-count{padding:1px 5px;font-size:7.5px;font-weight:600;color:var(--muted);background:#f1ede4;border-radius:999px}.customer-log-toggle svg:last-child{margin-left:auto;transition:transform .15s ease}.customer-log-toggle svg.open{transform:rotate(180deg)}.customer-material-log{margin-top:7px;padding:9px 10px;background:#faf8f2;border:1px solid var(--line);border-radius:9px}.customer-material-log ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.customer-material-log li{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid #eee9df}.customer-material-log li:last-child{padding-bottom:0;border-bottom:0}.log-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.log-main strong{overflow:hidden;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.log-main span{flex:0 0 auto;font-size:8px;color:var(--muted)}.log-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:7.5px;color:var(--faint)}.log-date{display:inline-flex;align-items:center;gap:3px;padding:0;font-size:7.5px;font-weight:600;color:var(--accent-dark);background:none;border:0}.log-date:hover{text-decoration:underline}.log-more{padding:6px 0 0;font-size:8px;font-weight:600;color:var(--muted);background:none;border:0}.log-more:hover{color:var(--accent-dark)}.log-empty{margin-top:7px;padding:8px 10px;font-size:8.5px;line-height:1.45;color:var(--faint);background:#faf8f2;border:1px dashed var(--line-strong);border-radius:9px}.customer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:12px 0 10px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.customer-metrics>div{display:flex;flex-direction:column;min-width:0}.customer-metrics span{font-size:7.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.customer-metrics strong{margin-top:1px;font-size:13px;font-weight:600}.customer-metrics .has-outstanding strong{color:var(--accent-dark)}.customer-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.customer-rate{max-width:55%;overflow:hidden;font-size:8.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.add-customer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;padding:26px;text-align:center;background:transparent;border:1.5px dashed #d4cec0;border-radius:16px;transition:border-color .15s ease,background .15s ease}.add-customer-card:hover{background:#fffdf880;border-color:#d6a98e}.add-customer-card>span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:10px;color:var(--accent-dark);background:var(--accent-soft);border-radius:50%}.add-customer-card strong{font-size:11.5px;font-weight:600}.add-customer-card p{max-width:180px;margin-top:3px;font-size:9px;line-height:1.5;color:var(--muted)}.customer-empty{display:flex;flex-direction:column;align-items:center;padding:70px 20px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:18px}.heading-cta{flex:0 0 auto}.estimator-layout{display:grid;grid-template-columns:minmax(350px,.84fr) minmax(0,1.22fr);gap:17px;align-items:start}.estimator-form-card,.estimate-result-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.estimator-form-card{padding:21px}.estimator-card-heading{display:flex;align-items:flex-start;gap:10px}.estimator-card-heading.compact{align-items:center;gap:9px}.step-number{display:grid;place-items:center;width:29px;height:29px;flex:0 0 auto;font-size:8.5px;font-weight:700;color:var(--muted);background:#f2efe7;border:1px solid #e9e4d8;border-radius:8px}.estimator-card-heading h2{font-family:var(--font-serif);font-size:21px;font-weight:500;line-height:1.1;letter-spacing:-.02em}.estimator-card-heading p{margin-top:3px;font-size:9.5px;color:var(--muted)}.estimator-form-card>.field-label{margin-top:20px}.field-label{display:flex;align-items:center;gap:4px;margin-bottom:6px;font-size:9.5px;font-weight:600;letter-spacing:.02em;color:#616b63}.estimate-textarea{display:block;width:100%;min-height:118px;padding:11px 12px;font-size:11.5px;line-height:1.6;color:var(--ink);resize:vertical;background:#fbf9f4;border:1px solid var(--line-strong);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.estimate-textarea:focus{background:#fffdf8;border-color:#df6b3ba6;box-shadow:0 0 0 3px #df6b3b17}.estimate-textarea::placeholder{color:var(--faint)}.character-row{display:flex;justify-content:space-between;margin-top:5px;font-size:8.5px;color:var(--faint)}.character-row button{padding:0;color:var(--muted);background:none;border:0}.character-row button:hover{color:var(--accent-dark)}.example-row{margin:13px 0;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.example-row>span{display:block;margin-bottom:6px;font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.example-chips{display:flex;flex-wrap:wrap;gap:5px}.example-chips button{padding:4px 8px;font-size:8.5px;color:var(--muted);background:#f4f1e9;border:1px solid transparent;border-radius:999px}.example-chips button:hover{color:var(--accent-dark);background:var(--accent-soft)}.form-grid{display:grid;gap:12px}.form-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;min-width:0}.form-field>input,.form-field>select,.form-field>textarea{width:100%;height:38px;padding:0 10px;font-size:11px;color:var(--ink);background:#fffefa;border:1px solid var(--line-strong);border-radius:8px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.form-field>textarea{height:auto;min-height:76px;padding:9px 10px;line-height:1.5;resize:vertical}.form-field>input:focus,.form-field>select:focus,.form-field>textarea:focus{border-color:#df6b3bb3;box-shadow:0 0 0 3px #df6b3b17}.form-field>input::placeholder,.form-field>textarea::placeholder{color:var(--faint)}.form-field>select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237a827b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.quality-toggle{display:flex;gap:2px;height:38px;padding:3px;background:#f2efe7;border:1px solid #eae5da;border-radius:8px}.quality-toggle button{flex:1;min-width:0;padding:0 4px;font-size:8.5px;font-weight:500;color:var(--muted);background:transparent;border:0;border-radius:6px}.quality-toggle button:hover{color:var(--ink)}.quality-toggle button.active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px #181f1a17}.estimate-button{margin-top:17px}.estimate-button .button-tail-icon{margin-left:auto;opacity:.75}.ai-connection{display:flex;align-items:center;gap:9px;width:100%;margin-top:8px;padding:9px 10px;text-align:left;background:#f9f7f1;border:1px solid var(--line);border-radius:9px}.ai-connection:hover{border-color:#cfc8b9;background:#fbf9f4}.ai-connection-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;color:var(--muted);background:#eeeae0;border-radius:6px}.ai-connection.connected .ai-connection-icon{color:var(--green);background:var(--green-soft)}.ai-connection>span:nth-child(2){flex:1;min-width:0}.ai-connection strong{display:block;font-size:9.5px;font-weight:600}.ai-connection small{display:block;margin-top:1px;font-size:8.5px;line-height:1.4;color:var(--muted)}.ai-connection>svg{flex:0 0 auto;color:var(--faint)}.estimate-result-card{position:relative;overflow:hidden}.estimate-result-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px 14px}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:8px;font-weight:600;color:var(--muted);background:#f2efe7;border-radius:999px;white-space:nowrap}.source-badge.ai{color:var(--green);background:var(--green-soft)}.estimate-hero{margin:0 18px;padding:17px 18px 16px;color:#f6f2e9;background:radial-gradient(circle at 90% 0%,rgba(223,107,59,.22),transparent 45%),var(--ink);border-radius:13px}.estimate-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.estimate-summary-row p{max-width:500px;font-size:10.5px;line-height:1.5;color:#f6f2e9a3}.rough-badge{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px 7px;font-size:7.5px;font-weight:600;letter-spacing:.04em;color:#f0bd99;background:#df6b3b24;border:1px solid rgba(223,107,59,.25);border-radius:999px;white-space:nowrap}.estimate-total-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:13px}.estimate-total-label{display:block;font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#f6f2e96b}.estimate-total{display:block;margin-top:1px;font-family:var(--font-serif);font-size:clamp(38px,4vw,48px);font-weight:500;line-height:.95;letter-spacing:-.035em;color:#fffdf8}.estimate-range{padding-bottom:4px;text-align:right}.estimate-range span{display:block;font-size:8px;font-weight:500;color:#f6f2e966}.estimate-range strong{display:block;margin-top:2px;font-size:11px;font-weight:500;color:#efbd9d}.estimate-lines-heading{display:flex;justify-content:space-between;gap:10px;padding:16px 19px 6px;font-size:8px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.estimate-lines-heading span:last-child{font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--faint)}.estimate-lines{margin:0 19px}.estimate-line{display:grid;grid-template-columns:minmax(0,1fr) 91px 67px 71px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #efebe2}.estimate-line.header{padding:5px 0;font-size:7.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line)}.estimate-line.header span:nth-child(n+2){text-align:right}.estimate-line:last-child{border-bottom:0}.line-material{min-width:0}.line-material strong{display:block;font-size:10px;font-weight:500;color:var(--ink-soft)}.line-material small{display:block;margin-top:1px;overflow:hidden;font-size:8px;color:var(--faint);text-overflow:ellipsis;white-space:nowrap}.line-qty,.line-unit{font-size:9px;color:var(--muted);text-align:right}.line-total{font-size:9.5px;font-weight:600;text-align:right;white-space:nowrap}.estimate-notes{display:flex;align-items:flex-start;gap:7px;margin:13px 19px 0;padding:9px 10px;background:#f8f5ee;border-radius:8px}.estimate-note-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto;color:var(--muted);background:#ede8dd;border-radius:5px}.estimate-notes p{margin:0;font-size:8.5px;line-height:1.5;color:var(--muted)}.estimate-notes p+p{margin-top:3px}.estimate-result-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 19px 17px}.estimate-confidence{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted)}.confidence-bars{display:flex;align-items:flex-end;gap:2px;height:13px}.confidence-bars i{display:block;width:3px;height:7px;background:var(--green);border-radius:1px}.confidence-bars i:nth-child(2){height:10px}.confidence-bars i:nth-child(3){height:13px}.confidence-bars i.dim{background:#ddd8cc}.estimate-loading-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#fffdf88c;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.loading-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-size:10px;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-md)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.estimator-footnote-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px}.footnote-card{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;background:#fffdf88c;border:1px solid var(--line);border-radius:12px}.footnote-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;color:var(--muted);background:#f1eee6;border-radius:8px}.footnote-card strong{display:block;font-size:9.5px;font-weight:600}.footnote-card p{margin-top:2px;font-size:8.5px;line-height:1.5;color:var(--muted)}.calculator-tabs{display:flex;gap:3px;width:fit-content;max-width:100%;margin-bottom:17px;padding:4px;overflow-x:auto;background:#f2efe7;border:1px solid #eae5da;border-radius:11px}.calculator-tabs button{display:flex;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:11px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:8px;white-space:nowrap}.calculator-tabs button:hover{color:var(--ink)}.calculator-tabs button.active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px #181f1a1a}.calculator-tabs button.active svg{color:var(--accent-dark)}.calc-layout{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);gap:17px;align-items:start}.calc-form-card{padding:21px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.calc-form-card .estimator-card-heading{margin-bottom:17px}.calc-field{margin-top:14px}.calc-form-card>.calc-field:first-of-type{margin-top:0}.calc-toggle{display:flex;gap:2px;height:38px;padding:3px;background:#f2efe7;border:1px solid #eae5da;border-radius:8px}.calc-toggle button{flex:1;min-width:0;padding:0 5px;overflow:hidden;font-size:9px;font-weight:500;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;border-radius:6px}.calc-toggle button:hover{color:var(--ink)}.calc-toggle button.active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px #181f1a17}.calc-section-label{margin:18px 0 9px;font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.calc-presets{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.calc-presets button{padding:4px 8px;font-size:8.5px;color:var(--muted);background:#f4f1e9;border:1px solid transparent;border-radius:999px}.calc-presets button:hover{color:var(--accent-dark);background:var(--accent-soft)}.calc-presets button.active{color:var(--accent-dark);background:var(--accent-soft);border-color:#eccbb8}.calc-form-note{display:flex;align-items:flex-start;gap:7px;margin-top:16px;padding:9px 10px;font-size:8.5px;line-height:1.5;color:var(--muted);background:#f8f5ee;border-radius:8px}.calc-form-note svg{flex:0 0 auto;margin-top:1px}.calc-result-card{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.calc-result-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px 14px}.calc-result-top .estimator-card-heading{margin-bottom:0}.calc-hero{margin:0 18px;padding:17px 18px 16px;color:#f6f2e9;background:radial-gradient(circle at 90% 0%,rgba(223,107,59,.22),transparent 45%),var(--ink);border-radius:13px}.calc-hero-label{display:block;font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#f6f2e96b}.calc-hero-value{display:flex;align-items:baseline;gap:3px;margin-top:1px;font-family:var(--font-serif);font-size:clamp(46px,4.4vw,56px);font-weight:500;line-height:.95;letter-spacing:-.04em;color:#fffdf8}.calc-hero-value em{font-size:.42em;font-style:normal;letter-spacing:-.01em;color:#efbd9d}.calc-hero-sub{display:block;margin-top:6px;font-size:9.5px;color:#f6f2e98c}.calc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));margin:0 18px;border-bottom:1px solid var(--line)}.calc-metrics>div{min-width:0;padding:12px 0 11px}.calc-metrics>div+div{padding-left:13px;border-left:1px solid var(--line)}.calc-metrics span{display:block;font-size:7.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.calc-metrics strong{display:block;margin-top:3px;overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.calc-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 19px 4px;font-size:8px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.calc-list-heading span:last-child{font-weight:400;letter-spacing:.02em;text-transform:none}.calc-shopping{margin:0 19px}.calc-shopping-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #efebe2}.calc-shopping-row:last-child{border-bottom:0}.calc-shopping-dot{width:6px;height:6px;background:#c6c1b4;border-radius:50%}.calc-shopping-dot.accent{background:var(--accent)}.calc-shopping-copy{min-width:0}.calc-shopping-copy strong{display:block;font-size:10px;font-weight:500;color:var(--ink-soft)}.calc-shopping-copy small{display:block;margin-top:1px;overflow:hidden;font-size:8px;color:var(--faint);text-overflow:ellipsis;white-space:nowrap}.calc-shopping-qty{font-size:9.5px;font-weight:600;text-align:right;white-space:nowrap}.calc-result-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 19px 17px}.calc-live-note{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted)}.calc-live-note i{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px #3d765a1f}.calc-empty{display:flex;flex-direction:column;align-items:center;padding:52px 20px 56px;text-align:center}.calc-empty-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:12px;color:var(--muted);background:#f2efe7;border-radius:50%}.calc-empty strong{font-family:var(--font-serif);font-size:21px;font-weight:500;letter-spacing:-.02em}.calc-empty p{max-width:300px;margin-top:4px;font-size:10px;line-height:1.5;color:var(--muted)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:#11171385;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}.modal{width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--panel);border:1px solid rgba(255,255,255,.4);border-radius:19px;box-shadow:var(--shadow-lg);animation:modalIn .18s cubic-bezier(.2,.7,.3,1);scrollbar-width:thin}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-thumb{background:#d8d2c4;border:2px solid var(--panel);border-radius:99px}.modal.customer-modal{max-width:580px}.modal.leave-modal{max-width:510px}.modal.settings-modal{max-width:700px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 23px 15px}.modal-header h2{font-family:var(--font-serif);font-size:28px;font-weight:500;line-height:1.05;letter-spacing:-.03em}.modal-description{margin-top:5px;font-size:10.5px;line-height:1.5;color:var(--muted)}.modal-body{display:flex;flex-direction:column;gap:14px;padding:9px 23px 22px}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 23px 18px;background:#fcfaf5;border-top:1px solid var(--line)}.modal-footer-actions{display:flex;align-items:center;gap:7px}.form-field{position:relative}.form-field .inline-add-link{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;margin-top:5px;padding:0;font-size:8.5px;color:var(--accent-dark);background:none;border:0}.form-field .inline-add-link:hover{text-decoration:underline}.money-input,.suffix-input,.password-input{display:flex;align-items:center;height:38px;overflow:hidden;background:#fffefa;border:1px solid var(--line-strong);border-radius:8px;transition:border-color .14s ease,box-shadow .14s ease}.money-input:focus-within,.suffix-input:focus-within,.password-input:focus-within{border-color:#df6b3bb3;box-shadow:0 0 0 3px #df6b3b17}.money-input>span,.suffix-input>span{display:flex;align-items:center;align-self:stretch;padding:0 9px;font-size:10.5px;color:var(--muted);background:#f7f3ea;border-right:1px solid var(--line)}.suffix-input>span{border-right:0;border-left:1px solid var(--line)}.money-input input,.suffix-input input,.password-input input{width:100%;min-width:0;height:100%;padding:0 9px;font-size:11px;background:transparent;border:0;outline:none}.password-input input{letter-spacing:.05em}.password-input button{display:grid;place-items:center;width:34px;height:100%;flex:0 0 auto;padding:0;color:var(--muted);background:none;border:0;border-left:1px solid var(--line)}.field-help{margin-top:4px;font-size:8.5px;line-height:1.45;color:var(--faint)}.short-field{max-width:190px}.quick-customer-panel{display:flex;flex-direction:column;gap:10px;padding:11px 12px;background:#f9f6ef;border:1px dashed #d9d2c3;border-radius:10px}.quick-customer-title{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.quick-customer-panel .button{align-self:flex-start}.status-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.status-choice>button{display:flex;align-items:flex-start;gap:7px;padding:9px;text-align:left;background:#fbf9f4;border:1px solid var(--line);border-radius:9px;transition:border-color .14s ease,background .14s ease}.status-choice>button>svg{flex:0 0 auto;margin-top:1px;color:var(--muted)}.status-choice>button>span{min-width:0;flex:1}.status-choice strong{display:block;font-size:9.5px;font-weight:600}.status-choice small{display:block;margin-top:1px;font-size:7.5px;color:var(--muted)}.status-choice>button:hover{border-color:#cbc5b7}.status-choice>button.active{background:#fdf4ed;border-color:#e4b59c}.status-choice>button.active>svg{color:var(--accent-dark)}.status-choice>button.active.invoiced{background:#eef5f0;border-color:#b9d3c2}.status-choice>button.active.invoiced>svg{color:var(--green)}.status-choice>button.active.completed{background:#fdf4ed}.status-check{color:var(--accent-dark)!important}.status-choice>button.active.invoiced .status-check{color:var(--green)!important}.type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.type-choice>button{display:flex;align-items:flex-start;gap:8px;padding:10px;text-align:left;background:#fbf9f4;border:1px solid var(--line);border-radius:10px;transition:border-color .14s ease,background .14s ease}.type-choice>button>svg{flex:0 0 auto;margin-top:1px;color:var(--muted)}.type-choice>button>span{min-width:0;flex:1}.type-choice strong{display:block;font-size:10px;font-weight:600}.type-choice small{display:block;margin-top:1px;font-size:8px;line-height:1.35;color:var(--muted)}.type-choice>button:hover{border-color:#cbc5b7}.type-choice>button.active{background:#fdf4ed;border-color:#e4b59c}.type-choice>button.active>svg{color:var(--accent-dark)}.type-choice.compact>button{padding:8px}.type-choice.compact strong{font-size:9.5px}.type-choice.compact small{font-size:7.5px}.form-note{display:flex;align-items:flex-start;gap:7px;padding:9px 10px;font-size:9px;line-height:1.5;color:var(--green);background:var(--green-soft);border-radius:8px}.form-note svg{flex:0 0 auto;margin-top:1px}.form-note.invoiced{color:var(--accent-dark);background:var(--accent-soft)}.job-customer-address{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;font-size:9.5px;line-height:1.45;color:var(--ink-soft);background:#f8f5ee;border:1px solid #ece6da;border-radius:8px}.job-customer-address svg{flex:0 0 auto;margin-top:1px;color:var(--muted)}.colour-swatches{display:flex;flex-wrap:wrap;gap:5px;height:38px;align-items:center}.colour-swatches button{display:grid;place-items:center;width:23px;height:23px;padding:0;color:#fff;border:2px solid transparent;border-radius:50%}.colour-swatches button.active{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--ink)}.rate-grid{grid-template-columns:150px 1fr}.leave-type-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.leave-type-choice button{display:flex;align-items:flex-start;gap:9px;padding:11px;text-align:left;background:#fbf9f4;border:1px solid var(--line);border-radius:10px}.leave-choice-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;color:var(--muted);background:#f1ede4;border-radius:9px}.leave-type-choice button>span:nth-child(2){flex:1;min-width:0}.leave-type-choice strong{display:block;font-size:10.5px;font-weight:600}.leave-type-choice small{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}.leave-radio{width:14px;height:14px;flex:0 0 auto;margin-top:2px;border:1.5px solid #cbc5b8;border-radius:50%}.leave-type-choice button.active.holiday{background:#f9f5e9;border-color:#dbc78d}.leave-type-choice button.active.holiday .leave-choice-icon{color:#9a701f;background:#f4e6c5}.leave-type-choice button.active.holiday .leave-radio{background:#9a701f;border-color:#9a701f;box-shadow:inset 0 0 0 3px #f9f5e9}.leave-type-choice button.active.sick{background:#fcf1ef;border-color:#e3b3ae}.leave-type-choice button.active.sick .leave-choice-icon{color:var(--red);background:#f7e1dd}.leave-type-choice button.active.sick .leave-radio{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 3px #fcf1ef}.leave-preview{display:flex;align-items:center;gap:9px;padding:9px 11px;background:#f7f4ed;border-radius:9px}.leave-preview-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--muted);background:#ece8dc;border-radius:7px}.leave-preview strong{display:block;font-size:9.5px;font-weight:600}.leave-preview span:not(.leave-preview-icon){display:block;font-size:8.5px;color:var(--muted)}.settings-tabs{display:flex;gap:2px;padding:0 23px;border-bottom:1px solid var(--line)}.settings-tabs button{display:flex;align-items:center;gap:5px;padding:10px 11px;font-size:9.5px;font-weight:500;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent}.settings-tabs button:hover{color:var(--ink)}.settings-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.settings-body{min-height:340px;padding:18px 23px 22px}.settings-panel{display:flex;flex-direction:column;gap:14px}.settings-panel-heading{display:flex;align-items:flex-start;gap:10px}.settings-panel-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;color:var(--muted);background:#f2efe7;border-radius:9px}.settings-panel-icon.ai{color:var(--green);background:var(--green-soft)}.settings-panel-heading h3{font-size:13px;font-weight:600}.settings-panel-heading p{margin-top:2px;font-size:9px;line-height:1.5;color:var(--muted)}.settings-note{display:flex;align-items:flex-start;gap:7px;padding:10px 11px;background:#f8f5ee;border:1px solid #ece6da;border-radius:9px}.settings-note svg{flex:0 0 auto;margin-top:1px;color:var(--muted)}.settings-note p{font-size:8.5px;line-height:1.55;color:var(--muted)}.settings-note.warning{background:#fcf5e9;border-color:#f0dfc1}.settings-note.warning svg{color:var(--gold)}.ai-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;background:#fbf9f3;border:1px solid var(--line);border-radius:9px}.ai-toggle-card strong{display:block;font-size:10.5px;font-weight:600}.ai-toggle-card span{display:block;margin-top:2px;font-size:8.5px;line-height:1.5;color:var(--muted)}.switch{position:relative;width:34px;height:20px;flex:0 0 auto;padding:0;background:#d7d2c7;border:0;border-radius:999px;transition:background .16s ease}.switch span{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .16s ease}.switch.on{background:var(--green)}.switch.on span{transform:translate(14px)}.ai-provider-note{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8.5px;color:var(--muted)}.provider-status{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;color:var(--muted);background:#f2efe7;border-radius:999px;font-weight:600}.provider-status.ready{color:var(--green);background:var(--green-soft)}.data-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.data-summary>div{display:flex;flex-direction:column;padding:10px;background:#f7f4ed;border-radius:9px}.data-summary strong{font-family:var(--font-serif);font-size:21px;font-weight:500;line-height:1}.data-summary span{margin-top:2px;font-size:8px;color:var(--muted)}.data-action-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;border-top:1px solid var(--line)}.data-action-row strong{display:block;font-size:10.5px;font-weight:600}.data-action-row p{margin-top:2px;font-size:8.5px;line-height:1.5;color:var(--muted)}.data-action-row .button{flex:0 0 auto}.danger-row strong{color:var(--red)}.settings-save-note{display:inline-flex;align-items:center;gap:4px;font-size:8.5px;color:var(--faint)}.toast{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;align-items:center;gap:9px;max-width:min(380px,calc(100vw - 32px));padding:10px 11px;font-size:10.5px;font-weight:500;color:#f5f2e9;background:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:var(--shadow-lg);animation:toastIn .22s cubic-bezier(.2,.8,.3,1)}.toast-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:6px}.toast-success .toast-icon{color:#b7dfc7;background:#3d765a40}.toast-error .toast-icon{color:#efb1ad;background:#b2514d3d}.toast-neutral .toast-icon{color:#f0ceb8;background:#df6b3b33}.toast button{display:grid;place-items:center;width:22px;height:22px;margin-left:4px;padding:0;color:#f5f2e980;background:none;border:0;border-radius:5px}.toast button:hover{color:#fff;background:#ffffff14}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}@media(max-width:1320px){.page-container{padding:23px 26px 40px}.topbar{padding:0 26px}.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1240px){.calendar-layout{grid-template-columns:1fr}.day-panel{position:static}.day-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-leave-card{max-width:520px}.panel-upcoming{max-width:560px}}@media(max-width:1160px){.estimator-layout,.calc-layout{grid-template-columns:1fr}.calc-form-card,.estimator-form-card{max-width:none}.estimator-footnote-row{grid-template-columns:repeat(2,minmax(0,1fr))}.footnote-card:last-child{grid-column:1 / -1}.customer-summary{flex-wrap:wrap}.customer-search{flex:1 1 220px;margin-left:0}}@media(max-width:1100px){.sidebar{width:262px;transform:translate(-105%);transition:transform .22s cubic-bezier(.2,.7,.3,1)}.sidebar.is-open{transform:translate(0);box-shadow:24px 0 60px #0003}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;padding:0;background:#1117136b;border:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-shell{margin-left:0}.mobile-menu-button{display:flex}.topbar-context{gap:12px}.brand-type strong{font-size:18px}}@media(max-width:980px){.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.heading-side{max-width:520px;width:100%}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid.employee-grid,.invoice-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-toolbar{flex-direction:column;align-items:stretch}.table-search{width:100%}.segmented-tabs{width:fit-content;max-width:100%;overflow-x:auto}.customer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-search{grid-column:1 / -1;width:100%;height:38px}.estimator-footnote-row{grid-template-columns:1fr 1fr}}@media(max-width:820px){.topbar-date{display:none}.invoice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-stat:last-child{grid-column:1 / -1}.invoice-table th,.invoice-table td{padding-left:9px;padding-right:9px}.table-customer strong{max-width:120px}.invoice-table .check-column{padding-left:12px}.day-jobs{grid-template-columns:1fr}.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-container{padding:20px 17px 34px}.topbar{height:61px;padding:0 17px}.breadcrumb-home,.breadcrumb>svg{display:none}.breadcrumb{font-size:11px}.topbar-actions{gap:6px}.topbar-leave{width:36px;padding:0}.topbar-leave span{display:none}.button{padding:0 12px}.page-heading h1{font-size:35px}.page-subtitle{font-size:12px}.stat-card{min-height:108px;padding:13px 14px}.stat-value{font-size:26px}.stat-detail{font-size:9px}.calendar-toolbar{padding:14px 13px 11px}.month-title{gap:7px}.month-title h2{font-size:21px}.month-meta{display:none}.calendar-weekdays{padding:0 4px}.day-cell{min-height:96px;padding:6px 4px}.day-cell.is-today .day-number:before{top:0;right:0;bottom:0;left:0}.day-number{font-size:9.5px}.calendar-event{font-size:8.5px;padding-left:3px}.event-time{display:none}.calendar-legend{gap:8px;padding:9px 12px}.legend-hint{display:none}.day-panel{padding:15px}.day-panel-header{padding-bottom:11px}.selected-day{font-size:35px}.invoice-card{border-radius:15px}.invoice-table-wrap{overflow:visible}.invoice-table,.invoice-table tbody,.invoice-table tr,.invoice-table td{display:block}.invoice-table thead{display:none}.invoice-table tbody{display:flex;flex-direction:column}.invoice-table tbody tr{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:3px 9px;padding:13px 14px;border-bottom:1px solid var(--line)}.invoice-table tbody tr:last-child{border-bottom:0}.invoice-table td{padding:0;border:0}.invoice-table td.check-column{grid-column:1;grid-row:1 / span 2;align-self:center;width:auto}.invoice-table td:nth-child(2){grid-column:2;grid-row:1}.invoice-table td:nth-child(3){grid-column:2;grid-row:2}.invoice-table td:nth-child(4),.invoice-table td:nth-child(5){display:none}.invoice-table td:nth-child(6){grid-column:3;grid-row:1;display:block;justify-self:end;text-align:right}.invoice-table td:nth-child(7){grid-column:3;grid-row:2;justify-self:end}.invoice-table td:nth-child(8){display:none}.invoice-table .table-amount,.invoice-table .job-cell-title{font-size:11px}.invoice-table .job-cell-sub{font-size:8px}.table-customer{gap:6px}.mini-avatar{width:20px;height:20px;font-size:6.5px}.table-customer strong{max-width:190px;font-size:9px}.table-customer small{display:none}.table-status{padding:3px 6px;font-size:7.5px}.table-status.invoiced{white-space:nowrap}.invoice-table-footer{flex-direction:column;align-items:flex-start;gap:5px}.invoice-tip{font-size:8.5px}.invoice-empty{padding:48px 18px}.customer-summary{gap:7px}.customer-summary-item{padding:9px 10px}.customer-grid{grid-template-columns:1fr}.customer-card{min-height:0}.add-customer-card{min-height:150px}.estimate-result-top{padding:15px 14px 12px}.estimate-hero{margin:0 13px;padding:15px}.estimate-lines-heading{padding:14px 14px 5px}.estimate-lines{margin:0 14px}.estimate-notes{margin:12px 14px 0}.estimate-result-footer{padding:12px 14px 15px}.estimate-total-row{align-items:flex-start;flex-direction:column;gap:7px}.estimate-range{padding:0;text-align:left}.estimate-range span,.estimate-range strong{display:inline}.estimate-range strong{margin-left:5px}.estimate-summary-row p{font-size:9.5px}.estimator-footnote-row{grid-template-columns:1fr}.footnote-card:last-child{grid-column:auto}.settings-body{min-height:0}.calc-form-card{padding:17px 15px}.calc-result-top{padding:15px 14px 12px}.calc-hero{margin:0 13px;padding:15px}.calc-metrics{margin:0 13px}.calc-list-heading{padding:14px 14px 4px}.calc-shopping{margin:0 14px}.calc-result-footer{padding:12px 14px 15px}}@media(max-width:640px){.page-heading{margin-bottom:18px}.page-heading h1{font-size:32px}.heading-side{padding:9px 10px}.heading-cta{width:100%}.stat-grid{gap:8px}.stat-grid.employee-grid{grid-template-columns:1fr}.stat-card{min-height:102px;padding:12px}.stat-value{font-size:24px}.stat-label{font-size:8.5px}.stat-detail{font-size:8.5px;line-height:1.35}.calendar-toolbar{gap:7px}.calendar-weekdays span{font-size:7px;padding:4px 0 6px}.day-cell{min-height:69px;padding:4px 3px}.day-number{width:18px;height:18px;font-size:8.5px}.day-number em,.day-add-button{display:none}.day-events{flex-direction:row;flex-wrap:wrap;gap:3px;margin-top:6px}.calendar-event{width:6px;height:6px;min-height:0;padding:0;color:transparent;background:var(--event-color)!important;border-radius:50%}.job-event.status-completed{background:var(--accent)!important}.job-event.status-invoiced{background:var(--green)!important}.job-event:before{display:none}.leave-event.holiday{background:#c99a3b!important}.leave-event.sick{background:var(--red)!important}.event-time,.event-title,.event-check{display:none}.more-events{padding:0;font-size:7px;line-height:1}.calendar-legend{display:none}.day-panel{border-radius:15px}.day-summary-row{padding-top:8px}.day-panel-actions{grid-template-columns:1fr}.invoice-stats{grid-template-columns:1fr 1fr}.invoice-stat{padding:11px;gap:9px}.invoice-stat-icon{width:32px;height:32px}.invoice-stat strong{font-size:20px}.invoice-stat small{font-size:8px}.invoice-stat span:not(.invoice-stat-icon){font-size:8px}.segmented-tabs{width:100%}.segmented-tabs button{flex:1;justify-content:center;padding:0 5px;font-size:8.5px}.segmented-tabs button span{display:none}.customer-summary{grid-template-columns:1fr 1fr}.customer-summary-item{padding:8px 9px}.customer-summary-item strong{font-size:16px}.customer-summary-item span:not(.summary-icon){font-size:6.5px}.summary-icon{width:26px;height:26px}.estimator-form-card{padding:16px}.estimator-card-heading h2{font-size:19px}.form-grid.two-up,.form-grid.three-up,.rate-grid,.quick-customer-panel .form-grid.three-up{grid-template-columns:1fr}.estimate-line{grid-template-columns:minmax(0,1fr) 88px 62px;gap:6px}.estimate-line>:nth-child(3){display:none}.estimate-line.header>:nth-child(3){display:none}.line-material strong{font-size:9.5px}.line-qty{font-size:8px}.line-total{font-size:9px}.estimate-lines-heading span:last-child{display:none}.estimate-confidence{font-size:7.5px}.estimate-result-footer .button{padding:0 8px;font-size:8.5px}.modal-layer{align-items:flex-end;padding:0}.modal{max-height:92vh;border-radius:18px 18px 0 0;border-bottom:0}.modal-header{padding:19px 17px 12px}.modal-header h2{font-size:25px}.modal-body{padding:8px 17px 18px;gap:12px}.modal-footer{padding:12px 17px 16px}.settings-tabs{padding:0 17px;overflow-x:auto}.settings-tabs button{flex:0 0 auto;padding:10px 8px}.settings-body{padding:15px 17px 18px}.status-choice{grid-template-columns:1fr}.status-choice>button{align-items:center}.status-choice small{display:none}.leave-type-choice{grid-template-columns:1fr}.colour-swatches{height:auto;padding:4px 0}.data-summary{grid-template-columns:repeat(2,1fr)}.data-action-row{align-items:flex-start;flex-direction:column;gap:8px}.data-action-row .button{align-self:flex-start}.settings-save-note{display:none}.toast{right:16px;bottom:16px;left:16px;max-width:none}}@media(max-width:440px){.topbar-actions .button-primary{padding:0 11px}.topbar-actions .button-primary span{display:inline}.breadcrumb span:last-child{max-width:95px;overflow:hidden;text-overflow:ellipsis}.stat-grid{grid-template-columns:1fr 1fr}.stat-icon{width:23px;height:23px}.stat-icon svg{width:14px;height:14px}.stat-value{font-size:22px}.selected-day{font-size:31px}.day-leave-card{max-width:none}.invoice-stats{grid-template-columns:1fr}.invoice-stat:last-child{grid-column:auto}.customer-summary{grid-template-columns:1fr}.customer-search{grid-column:auto}.customer-summary-item{justify-content:flex-start}.estimate-summary-row{flex-direction:column;gap:6px}.rough-badge{align-self:flex-start}.estimate-total{font-size:38px}.estimate-result-footer{align-items:flex-start;flex-direction:column}.estimate-confidence{line-height:1.4}.estimator-form-card{padding:14px}.example-chips button{font-size:8px}.modal-header{gap:10px}.modal-footer{flex-wrap:wrap}}.auth-shell{display:grid;place-items:center;min-height:100vh;padding:34px 18px 46px;background-image:radial-gradient(circle at 88% -10%,rgba(223,107,59,.1),transparent 34%),radial-gradient(circle at 12% 112%,rgba(61,118,90,.09),transparent 36%)}.auth-card{width:100%;max-width:430px;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md)}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:27px}.auth-brand .brand-mark{width:42px;height:42px}.auth-brand-type{display:flex;flex-direction:column;gap:2px}.auth-brand-type strong{font-size:19px;font-weight:600;letter-spacing:-.5px}.auth-brand-type small{font-size:8px;font-weight:600;letter-spacing:.2em;color:var(--faint)}.auth-heading h1{margin:11px 0 8px;font-family:var(--font-serif);font-size:30px;font-weight:500;line-height:1.1;letter-spacing:-.6px}.auth-heading>p{font-size:12px;line-height:1.6;color:var(--muted)}.auth-kicker{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px}.auth-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.auth-form .form-field>input{height:44px;font-size:13px}.auth-submit{width:100%;height:46px;margin-top:4px;font-size:12.5px}.auth-error{padding:9px 11px;font-size:10.5px;line-height:1.45;color:var(--red);background:var(--red-soft);border:1px solid #eccfcd;border-radius:8px}.auth-small-print{display:flex;align-items:flex-start;gap:6px;margin-top:20px;font-size:9px;line-height:1.5;color:var(--faint)}.auth-small-print svg{flex:0 0 auto;margin-top:1px}.auth-text-button{display:block;margin:18px auto 0;padding:0;font-size:10.5px;font-weight:600;color:var(--muted);background:none;border:0}.auth-text-button:hover{color:var(--ink);text-decoration:underline}.auth-footnote{margin-top:18px;font-size:9px;letter-spacing:.04em;color:var(--faint);text-align:center}.auth-loading{text-align:center}.auth-loading h1{margin:16px 0 6px;font-family:var(--font-serif);font-size:24px;font-weight:500}.auth-loading p{font-size:11px;color:var(--muted)}.auth-loader{display:inline-block;width:26px;height:26px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-sent-note{display:flex;align-items:center;gap:7px;margin-top:18px;padding:11px 12px;font-size:10.5px;color:var(--green);background:var(--green-soft);border:1px solid #cfe0d4;border-radius:9px}.business-card.is-static{cursor:default}.business-card.is-static:hover{background:transparent}.role-pill{display:inline-flex;align-items:center;height:19px;padding:0 7px;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:#f5f2e999;background:#ffffff12;border-radius:999px}.role-pill.owner{color:#f6d9c8;background:#df6b3b29}.sidebar-user{display:flex;align-items:center;gap:9px;margin-top:9px;padding:8px 5px 0;border-top:1px solid rgba(255,255,255,.06)}.sidebar-user-avatar{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;font-size:8.5px;font-weight:700;color:#f5f2e9bf;background:#ffffff14;border-radius:50%}.sidebar-user-meta{display:flex;flex-direction:column;flex:1;min-width:0}.sidebar-user-meta strong{overflow:hidden;font-size:9.5px;font-weight:500;color:#f5f2e9a8;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-meta small{font-size:8.5px;color:#f5f2e94d}.sidebar-signout{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;color:#f5f2e966;background:transparent;border:0;border-radius:7px}.sidebar-signout:hover{color:#fff;background:#ffffff14}.team-invite-row{display:flex;gap:7px}.team-invite-input{display:flex;align-items:center;gap:7px;flex:1;min-width:0;height:38px;padding:0 10px;background:#fffefa;border:1px solid var(--line-strong);border-radius:8px}.team-invite-input svg{flex:0 0 auto;color:var(--faint)}.team-invite-input input{width:100%;min-width:0;height:100%;font-size:11px;background:transparent;border:0;outline:none}.team-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.team-row{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#fffdf8;border:1px solid var(--line);border-radius:9px}.team-avatar{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;font-size:9px;font-weight:700;color:var(--ink-soft);background:#efe9dc;border-radius:50%}.team-avatar.pending{color:var(--gold);background:#f7efdf}.team-meta{display:flex;flex-direction:column;flex:1;min-width:0}.team-meta strong{overflow:hidden;font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.team-meta small{font-size:9px;color:var(--muted)}.settings-subheading{margin:16px 0 0;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.materials-block{padding:12px;background:#f8f5ee;border:1px solid #ece6da;border-radius:10px}.materials-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.materials-heading .field-label{margin-bottom:0}.materials-count{display:grid;place-items:center;min-width:20px;height:19px;padding:0 6px;font-size:8.5px;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px}.material-list{display:flex;flex-direction:column;gap:5px;margin:0 0 9px;padding:0;list-style:none}.material-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#fffdf8;border:1px solid var(--line);border-radius:7px}.material-name{flex:1;min-width:0;overflow:hidden;font-size:10.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.material-qty{font-size:9px;color:var(--muted);white-space:nowrap}.material-remove{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;color:var(--faint);background:none;border:0;border-radius:6px}.material-remove:hover{color:var(--red);background:var(--red-soft)}.materials-empty,.materials-hint{font-size:9px;color:var(--faint)}.materials-hint{margin-top:8px}.material-add-row{display:grid;grid-template-columns:minmax(0,1.6fr) 62px 70px auto;gap:6px;margin-top:8px}.material-add-row input{min-width:0;height:32px;padding:0 8px;font-size:10.5px;color:var(--ink);background:#fffefa;border:1px solid var(--line-strong);border-radius:7px}.material-add-row input:focus{outline:none;border-color:#df6b3bb3;box-shadow:0 0 0 3px #df6b3b17}@media(max-width:640px){.auth-shell{place-items:start center;padding:20px 14px 34px}.auth-card{padding:24px 20px;border-radius:15px}.auth-heading h1{font-size:26px}.material-add-row{grid-template-columns:1fr 56px 62px}.material-add-row .button{grid-column:1 / -1;justify-self:start}.team-invite-row{flex-direction:column}}.support-banner{position:fixed;left:50%;bottom:16px;z-index:1000;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;color:#fff;background:var(--accent-dark);border-radius:12px;box-shadow:var(--shadow-lg);font-size:13px}.support-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.support-banner-text small{font-size:11.5px;opacity:.85}.support-banner .button{flex-shrink:0;color:var(--accent-dark);background:#fff;border-color:#fff}.support-banner .button:hover{background:var(--accent-soft)}@media(max-width:640px){.support-banner{bottom:76px;gap:8px;padding:8px 8px 8px 12px;font-size:12px}.support-banner-text small{display:none}}.stacked-modal .modal-layer{z-index:110}.calendar-controls{flex-wrap:wrap;justify-content:flex-end}.calendar-view-switch{margin:0}.time-grid{--hour: 48px;display:flex;flex-direction:column;margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.time-grid-head,.time-grid-allday,.time-grid-body{display:grid;grid-template-columns:54px repeat(var(--day-count),minmax(0,1fr))}.time-grid-head{border-bottom:1px solid var(--line);background:var(--bg)}.time-grid-corner{display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:10.5px;color:var(--faint)}.time-grid-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;font:inherit;color:var(--muted);background:none;border:0;border-left:1px solid var(--line);cursor:pointer}.time-grid-day span{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.time-grid-day strong{font-size:18px;color:var(--ink);line-height:1.1}.time-grid-day.is-today strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 4px;color:#fff;background:var(--accent);border-radius:15px}.time-grid-day.is-selected:not(.is-today) strong{color:var(--accent-dark)}.time-grid.is-day .time-grid-day{flex-direction:row;justify-content:flex-start;gap:8px;padding-left:14px}.time-grid-allday{border-bottom:1px solid var(--line);min-height:30px}.time-grid-allday-cell{display:flex;flex-direction:column;gap:2px;padding:3px;border-left:1px solid var(--line);min-width:0}.time-grid-body{position:relative;max-height:620px;overflow-y:auto}.time-grid-hours{position:relative}.time-grid-hours span{position:absolute;right:8px;transform:translateY(-50%);font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums}.time-grid-hours span:first-child{transform:none}.time-grid-column{position:relative;border-left:1px solid var(--line);cursor:copy}.time-grid-column.is-today{background:#d85c2709}.time-grid-column.is-drop-target{background:var(--accent-soft)}.time-grid-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--line);pointer-events:none}.time-grid-line:first-child{border-top:0}.time-grid-now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--red);z-index:2;pointer-events:none}.time-grid-now:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;background:var(--red);border-radius:50%}.time-grid-job{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 6px 3px 8px;overflow:hidden;font:inherit;font-size:11.5px;line-height:1.25;text-align:left;color:var(--ink);background:var(--event-tint);border:0;border-left:3px solid var(--event-color);border-radius:6px;cursor:pointer}.time-grid-job:hover{filter:brightness(.97);z-index:3}.time-grid-job strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.time-grid-job>span{display:inline-flex;align-items:center;gap:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.time-grid-job-time{font-size:10.5px;color:var(--muted)!important;font-variant-numeric:tabular-nums}.time-grid-job.status-completed{border-left-color:var(--accent)}.time-grid-job.status-invoiced{border-left-color:var(--green);opacity:.85}.time-grid.is-day .time-grid-job{font-size:12.5px;padding:6px 10px}.time-grid.is-day .time-grid-job strong{font-size:13.5px}@media(max-width:720px){.time-grid-head,.time-grid-allday,.time-grid-body{grid-template-columns:40px repeat(var(--day-count),minmax(0,1fr))}.time-grid.is-week .time-grid-day strong{font-size:14px}.time-grid.is-week .time-grid-job{padding:2px 3px 2px 4px;font-size:10px}.time-grid.is-week .time-grid-job strong{font-size:10.5px;white-space:normal}.time-grid.is-week .time-grid-job-time{display:none!important}}.customer-picker{position:relative;width:100%;min-width:0}.customer-picker-field{display:flex;align-items:center;gap:6px;height:40px;padding:0 10px;background:#fffefa;border:1px solid var(--line-strong);border-radius:8px;transition:border-color .14s ease,box-shadow .14s ease;cursor:text}.customer-picker.is-open .customer-picker-field,.customer-picker-field:focus-within{border-color:#df6b3bb3;box-shadow:0 0 0 3px #df6b3b17}.customer-picker.is-disabled .customer-picker-field{opacity:.6;cursor:not-allowed}.customer-picker-field input{flex:1;min-width:0;height:100%;padding:0;font:inherit;font-size:12px;color:var(--ink);background:none;border:0;outline:none;cursor:inherit}.customer-picker-field input::placeholder{color:var(--faint)}.customer-picker:not(.is-open) .customer-picker-field input:placeholder-shown::placeholder{color:var(--ink-soft)}.customer-picker-icon,.customer-picker-chevron{flex-shrink:0;color:var(--faint)}.customer-picker-clear{display:grid;place-items:center;width:22px;height:22px;padding:0;color:var(--muted);background:none;border:0;border-radius:5px;cursor:pointer}.customer-picker-clear:hover{color:var(--ink);background:#eef2f4}.customer-picker-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:280px;margin:0;padding:4px;overflow-y:auto;list-style:none;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lg)}.customer-picker-list li{display:flex;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;color:var(--ink);border-radius:7px;cursor:pointer}.customer-picker-list li.is-active{background:#eef2f4}.customer-picker-list li.is-selected{background:var(--accent-soft)}.customer-picker-list li.is-selected.is-active{background:#f8dfd2}.customer-picker-new{color:var(--accent-dark)!important;font-weight:600;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0!important;margin-bottom:2px}.customer-picker-empty{color:var(--muted)!important}.customer-picker-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.customer-picker-text{display:flex;flex-direction:column;min-width:0}.customer-picker-text strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-picker-text small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-picker-none{color:var(--muted)!important;cursor:default!important}.trial-form{gap:10px}.trial-section{margin:6px 0 -2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.trial-terms{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-soft)}.trial-terms input{margin-top:2px}.trial-included{display:flex;flex-direction:column;gap:6px;margin:4px 0 14px;padding:0;list-style:none;font-size:13px;color:var(--ink-soft)}.trial-included li{display:flex;align-items:center;gap:8px}.trial-included svg{color:var(--green);flex-shrink:0}.auth-trial-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.auth-trial-cta .auth-text-button{margin:0;font-weight:600}.billing-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 24px 0;padding:10px 14px;font-size:13px;color:var(--ink);background:#fbf5e8;border:1px solid #ecdcb6;border-radius:10px}.billing-banner>svg{flex-shrink:0;color:var(--gold)}.billing-banner>span{flex:1;min-width:200px}.billing-banner.urgent,.billing-banner.past_due{background:var(--red-soft);border-color:#eccfcd}.billing-banner.urgent>svg,.billing-banner.past_due>svg{color:var(--red)}.billing-banner .button{flex-shrink:0;color:#fff;background:var(--accent-dark);border-color:var(--accent-dark)}.billing-notice{position:fixed;top:14px;left:50%;z-index:1000;transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 16px;font-size:13px;color:#fff;background:var(--ink);border-radius:10px;box-shadow:var(--shadow-lg);cursor:pointer}.subscription-status{display:flex;flex-direction:column;gap:4px;margin:4px 0 14px;padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.subscription-status strong{font-size:14px;color:var(--ink)}.subscription-status span{font-size:13px;color:var(--ink-soft)}.subscription-status.active,.subscription-status.comped{background:var(--green-soft);border-color:#cfe2d7}.subscription-status.past_due,.subscription-status.canceled{background:var(--red-soft);border-color:#eccfcd}.subscription-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}@media(max-width:720px){.billing-banner{margin:10px 12px 0}}.demo-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 24px 0;padding:10px 14px;font-size:13px;color:var(--ink);background:#eef4f8;border:1px solid #cfdde7;border-radius:10px}.demo-banner>svg{flex-shrink:0;color:var(--blue)}.demo-banner>span{flex:1;min-width:220px;color:var(--ink-soft)}.demo-banner strong{color:var(--ink)}.demo-banner .button{flex-shrink:0}@media(max-width:720px){.demo-banner{margin:10px 12px 0}}:root{--bg: #f3f5f6;--panel: #ffffff;--card: #ffffff;--ink: #18242e;--ink-soft: #35434e;--muted: #5d6b76;--faint: #7b8892;--line: #dfe4e8;--line-strong: #c7d0d7;--accent: #d85c27;--accent-dark: #b8491d;--accent-soft: #fcede6;--green: #2f6b4f;--green-soft: #e8f1ec;--blue: #426c86;--gold: #86652c;--red: #a84b47;--red-soft: #f9eceb;--sidebar: #14232e;--shadow-sm: 0 1px 2px rgba(20, 35, 46, .04);--shadow-md: 0 8px 24px rgba(20, 35, 46, .08);--shadow-lg: 0 22px 54px rgba(20, 35, 46, .16);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Archivo", "Inter", sans-serif;--font-display: "Archivo", "Inter", sans-serif}body{background-color:var(--bg);background-image:none}::selection{background:#d85c2733}:focus-visible{outline-color:#d85c27d9}.button{height:40px;padding:0 16px;font-size:12.5px;border-radius:6px;box-shadow:none}.button-primary,.button-primary:hover{box-shadow:none}.button-primary:hover{background:var(--accent-dark)}.button-dark{color:#fff;background:var(--sidebar);border-color:var(--sidebar)}.button-dark:hover{background:#243642;border-color:#243642}.button-ghost:hover{background:#fff;border-color:#aebac2}.button-small{height:33px;font-size:11.5px;border-radius:5px}.button-large{height:46px;border-radius:6px}.text-link{font-size:11.5px}.icon-button:hover{background:#eef2f4}.page-container{padding-top:30px}.page-heading{margin-bottom:26px}.eyebrow{margin-bottom:9px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--accent-dark)}.page-heading h1{font-family:var(--font-display);font-size:clamp(32px,3.2vw,42px);font-weight:700;line-height:1.08;letter-spacing:-.04em}.page-subtitle{margin-top:10px;font-size:13.5px;line-height:1.6}.heading-side{background:#fff;border-radius:8px;box-shadow:none}.heading-side strong{font-size:12px}.heading-side span:not(.heading-side-icon){font-size:11px;line-height:1.45}.field-label{margin-bottom:7px;font-size:11px;color:var(--ink-soft)}.field-help{font-size:10px}.form-field>input,.form-field>select,.form-field>textarea{height:40px;font-size:12px;background:#fff;border-radius:6px}.form-field>textarea{height:auto}.estimate-textarea{font-size:12.5px;background:#fff;border-radius:6px}.money-input,.suffix-input,.password-input{height:40px;background:#fff;border-radius:6px}.money-input input,.suffix-input input,.password-input input{font-size:12px}.modal{border-radius:12px}.modal-header h2{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.035em}.modal-description{font-size:12px;line-height:1.55}.modal-footer{background:#f7f9fa}.form-note{font-size:11px}.status-choice strong,.type-choice strong{font-size:11.5px}.status-choice small,.type-choice small{font-size:10px}.type-choice.compact strong{font-size:11px}.type-choice.compact small{font-size:9.5px}.material-name{font-size:12px}.material-qty,.materials-empty,.materials-hint{font-size:11px}.quick-customer-title{font-size:10px}.sidebar{background:var(--sidebar);border-right-color:#ffffff14}.brand-mark{border-radius:7px;box-shadow:none}.brand-type strong{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.035em}.brand-type small{font-size:8px;letter-spacing:.18em;color:#ffffff75}.sidebar-label{font-size:9px;color:#ffffff6b}.sidebar-nav{gap:3px}.sidebar-groups{gap:6px;margin-top:22px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group .sidebar-label{margin:12px 10px 6px}.nav-group-items{display:flex;flex-direction:column;gap:3px}.nav-group-head{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:4px 10px;border:0;border-radius:6px;background:transparent;color:#ffffff80;font:inherit;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.nav-group-head span:first-child{flex:1;text-align:left}.nav-group-head:hover{color:#fff;background:#ffffff0a}.nav-group-head:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nav-group.has-active:not(.is-open) .nav-group-head{color:#f08a58}.nav-group-chevron{transition:transform .15s ease;transform:rotate(-90deg)}.nav-group.is-open .nav-group-chevron{transform:none}@media(prefers-reduced-motion:reduce){.nav-group-chevron{transition:none}}.nav-item{height:44px;font-size:13px;color:#ffffffb8;border-radius:6px}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item.active{color:#fff;background:#ffffff17;box-shadow:inset 3px 0 0 var(--accent)}.nav-item.active svg{color:#f08a58}.nav-badge{font-size:10px}.sidebar-nudge{background:#ffffff0a;border-radius:7px}.sidebar-nudge strong{font-size:11.5px}.sidebar-nudge small{font-size:10px;color:#ffffff7a}.business-meta strong{font-size:12px}.business-meta small{font-size:10px;color:#ffffff75}.business-avatar{color:#fff;background:#3c4e59;border-radius:6px}.sidebar-footnote,.sidebar-site-link{font-size:9.5px}.topbar{height:64px;background:#fffffff0;border-bottom-color:var(--line)}.breadcrumb{font-size:12px}.topbar-date{font-size:11.5px}.demo-banner{background:#f7f9fa;border-bottom-color:var(--line)}.demo-banner-text{color:var(--muted)}.stat-card,.calendar-card,.day-panel,.invoice-card,.invoice-stat,.customer-card,.customer-summary-item,.customer-search,.estimator-form-card,.estimate-result-card,.calc-form-card,.calc-result-card,.heading-side{border-radius:10px;box-shadow:none}.stat-card{min-height:120px;padding:17px 18px}button.stat-card:hover,.customer-card:hover{transform:none;box-shadow:var(--shadow-md)}.stat-label{font-size:10px;letter-spacing:.07em}.stat-icon{background:#eef2f4;border-radius:6px}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.04em}.stat-detail{font-size:11px}.stat-accent{background:#fff8f4;border-color:#efd5c8}.stat-dark{background:var(--sidebar);border-color:var(--sidebar)}.stat-dark .stat-label{color:#ffffffa3}.stat-dark .stat-detail{color:#ffffff94}.month-title h2{font-family:var(--font-display);font-size:23px;font-weight:700;letter-spacing:-.035em}.month-meta{font-size:10px;background:#eef2f4;border-radius:5px}.calendar-stepper{background:#eef2f4;border-color:var(--line);border-radius:6px}.calendar-weekdays span{font-size:9.5px;color:var(--muted)}.day-cell{background:#fff}.day-cell:hover{background:#f7f9fa}.day-cell.is-weekend{background:#fafbfc}.day-cell.is-weekend:hover{background:#f3f6f7}.day-cell.outside-month{background:#f7f9fa}.day-cell.is-selected{background:#fff8f4}.day-number{font-size:12px}.calendar-event{font-size:10px;border-radius:3px}.calendar-legend{font-size:10px}.day-summary-row,.day-summary-row strong{font-size:11px}.day-job-time{font-size:10px}.day-job-body>strong{font-size:12.5px}.day-job-customer{font-size:11px}.day-job-footer{font-size:11.5px}.day-job-card{border-radius:6px}.day-job-card:hover{background:#f7f9fa;border-color:var(--line-strong)}.day-empty strong{font-size:13px}.day-empty p,.day-panel-actions .button{font-size:11px}.invoice-tick{font-size:9.5px}.invoice-stat-icon{background:#eef2f4;border-radius:7px}.invoice-stat span:not(.invoice-stat-icon){font-size:10px}.invoice-stat strong{font-family:var(--font-display);font-size:27px;font-weight:700}.invoice-stat small{font-size:10.5px}.invoice-table th{font-size:10px;letter-spacing:.07em}.invoice-table td{font-size:12px;border-bottom-color:#edf0f2}.invoice-table tbody tr:hover{background:#f7f9fa}.invoice-table .job-cell-title{font-size:12px}.invoice-table .job-cell-sub{font-size:10px}.invoice-table-footer{font-size:10.5px}.invoice-empty h3,.customer-empty h3{font-family:var(--font-display);font-weight:700}.invoice-empty p,.customer-empty p,.table-search input{font-size:12px}.segmented-tabs button{font-size:11px}.customer-summary-item span:not(.summary-icon){font-size:9.5px}.customer-summary-item strong{font-family:var(--font-display);font-size:23px;font-weight:700}.summary-icon{background:#eef2f4;border-radius:6px}.customer-search input{font-size:12px}.customer-group-copy h2{font-family:var(--font-display);font-size:20px;font-weight:700}.customer-group-copy p{font-size:11px}.customer-group-count{font-size:10px;background:#e9eef1;border-radius:5px}.customer-identity p{font-size:11.5px}.customer-contact span{font-size:11px}.crew-label{font-size:8.5px;color:var(--muted)}.crew-names,.crew-empty{font-size:10.5px}.customer-log-toggle{font-size:11px}.customer-log-toggle .log-count{font-size:9px;background:#eef2f4}.customer-metrics span{font-size:9px}.customer-metrics strong{font-size:16px}.customer-rate{font-size:10.5px}.customer-material-log{background:#f7f9fa}.customer-material-log li{border-bottom-color:#e7ecef}.log-main strong{font-size:11px}.log-main span{font-size:10px}.log-meta,.log-date{font-size:9.5px}.log-more{font-size:10px}.log-empty{font-size:10.5px;background:#f7f9fa}.add-customer-card{border-radius:10px}.add-customer-card strong{font-size:13px}.add-customer-card p{font-size:11px}.estimator-card-heading h2{font-family:var(--font-display);font-size:21px;font-weight:700}.estimator-card-heading p{font-size:11px}.step-number{background:#eef2f4;border-color:var(--line);border-radius:6px}.example-row>span{font-size:9px}.example-chips button{font-size:10px;background:#eef2f4;border-radius:5px}.estimate-hero,.calc-hero{background:var(--sidebar);border-radius:8px}.estimate-total,.calc-hero-value{font-family:var(--font-display);font-weight:700}.estimate-summary-row p{font-size:11.5px;color:#ffffffb8}.estimate-total-label{color:#ffffff94}.calc-section-label{font-size:9.5px}.calc-shopping-copy strong{font-size:11.5px}.calc-shopping-copy small{font-size:9.5px}.calc-shopping-qty{font-size:11px}.calc-metrics span{font-size:8.5px}.calc-metrics strong{font-size:13px}.calc-live-note{font-size:9.5px}.auth-main{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.auth-card{border-radius:10px}.auth-heading h1{font-family:var(--font-display);font-weight:700}.wall-picker{display:grid;grid-template-columns:168px minmax(0,1fr);gap:12px 14px;align-items:center;margin-top:10px;padding:12px;background:#f7f9fa;border:1px solid var(--line);border-radius:8px}.wall-picker>.calc-toggle{grid-column:1 / -1;width:100%}.wall-plan{position:relative;width:168px;height:126px}.wall-plan-floor{position:absolute;top:22px;right:22px;bottom:22px;left:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line)}.wall-plan-floor small{font-size:9px;font-weight:500;color:var(--faint)}.wall-edge{position:absolute;display:grid;place-items:center;padding:0;font-size:9px;font-weight:600;color:var(--muted);background:#e3e8ec;border:1px dashed #b8c3cb;border-radius:3px;transition:background .14s ease,color .14s ease,border-color .14s ease}.wall-edge:hover{border-color:var(--accent)}.wall-edge.active{color:#fff;background:var(--accent);border:1px solid var(--accent-dark)}.wall-edge.wall-a{top:0;left:22px;right:22px;height:20px}.wall-edge.wall-c{bottom:0;left:22px;right:22px;height:20px}.wall-edge.wall-b{top:22px;bottom:22px;right:0;width:20px}.wall-edge.wall-d{top:22px;bottom:22px;left:0;width:20px}.wall-edge.wall-b span,.wall-edge.wall-d span{writing-mode:vertical-rl}.wall-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.wall-chip{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:7px 9px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:6px}.wall-chip strong{font-size:11px;font-weight:600;color:var(--ink-soft)}.wall-chip span{font-size:10px;color:var(--muted)}.wall-chip:hover{border-color:var(--line-strong)}.wall-chip.active{background:var(--accent-soft);border-color:#eec3ae}.wall-chip.active strong{color:var(--accent-dark)}.wall-total{grid-column:1 / -1;display:flex;justify-content:space-between;padding:7px 2px 0;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.wall-total strong{color:var(--ink)}@media(max-width:520px){.wall-picker{grid-template-columns:1fr;justify-items:center}.wall-summary{width:100%}}@media(max-width:760px){.page-container{padding-top:24px}.page-heading h1{font-size:34px}.customer-identity h3{font-size:15px}}:root{--faint: #66727b}.button-primary{background:var(--accent-dark);border-color:var(--accent-dark)}.button-primary:hover{background:#a8471f;border-color:#a8471f}.event-time{color:var(--muted)}.job-event.status-invoiced .event-time{color:var(--green)}.leave-event.holiday{color:#6f4f14;background:#f6ebd5}.day-cell.outside-month .day-number,.day-cell.outside-month .day-number em{color:var(--muted)}.day-cell.outside-month .day-events{opacity:1}.day-number em,.legend-hint,.panel-section-label{color:var(--muted)}.text-link{min-height:24px;align-items:center}.calc-hero-label,.estimate-total-label{color:#ffffffb8}.estimate-range span{color:#ffffffbd}.estimate-range strong{color:#fffdf8}.character-row button{min-height:24px;padding:0 4px}.brand-type small,.sidebar-label,.nav-group-head{color:#9aa5ad}.nav-group-head:hover{color:#fff}.sidebar-nudge small{color:#a3adb4}.business-meta small{color:#9aa5ad}.sidebar-footnote{color:#8b959c}.sidebar-site-link,.sidebar-user-meta small{color:#9aa5ad}.sidebar-close{color:#aab3b9}.nudge-arrow{color:#9aa5ad}.business-card>svg{color:#9aa5ad}.joblist-page{display:flex;flex-direction:column;gap:17px}.joblist-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px}.joblist-summary-item{display:flex;align-items:center;gap:10px;min-width:150px;flex:1;padding:11px 14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px}.joblist-summary-item>div{display:flex;flex-direction:column}.joblist-summary-item span:not(.summary-icon):not(.priority-dot){font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.joblist-summary-item strong{font-family:var(--font-display);font-size:22px;font-weight:700}button.joblist-summary-item{cursor:pointer}button.joblist-summary-item:hover{border-color:var(--line-strong)}.joblist-summary-item.attention{border-color:color-mix(in srgb,var(--priority) 32%,var(--line));background:#fff}.joblist-summary-item.attention span:not(.priority-dot){color:var(--priority)}.joblist-summary-item.attention strong{color:var(--priority)}.priority-dot{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;background:none;border-radius:0}.priority-dot:after{content:"";width:10px;height:10px;background:var(--priority);border-radius:50%}.joblist{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}.joblist-row{--priority: #426c86;display:flex;align-items:stretch;gap:12px;padding:13px 15px 13px 0;background:var(--panel);border:1px solid var(--line);border-radius:10px;transition:border-color .14s ease,box-shadow .14s ease}.joblist-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.joblist-row.status-booked,.joblist-row.status-done{opacity:.78}.joblist-row.status-done .joblist-info h2{text-decoration:line-through;text-decoration-color:var(--faint)}.joblist-rail{flex:0 0 4px;align-self:stretch;background:var(--priority);border-radius:4px}.joblist-row.status-booked .joblist-rail,.joblist-row.status-done .joblist-rail{opacity:.35}.joblist-main{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.joblist-info{min-width:0;flex:1}.joblist-info h2{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.joblist-who{margin-top:3px;font-size:11.5px;color:var(--muted)}.joblist-address,.joblist-booked{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:11px;color:var(--muted)}.joblist-booked{color:var(--green)}.joblist-note{margin-top:7px;padding:8px 10px;font-size:12px;line-height:1.5;color:var(--ink-soft);background:#f7f9fa;border-left:2px solid var(--line);border-radius:0 6px 6px 0}.joblist-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;flex:0 0 auto}.joblist-estimate{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--muted)}.joblist-actions{display:flex;align-items:center;gap:6px}.joblist-footnote{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.joblist-priority{display:inline-flex}.joblist-priority select{height:32px;padding:0 8px;font-size:11.5px;font-weight:600;color:var(--priority);background:#fff;border:1px solid var(--line);border-left:3px solid var(--priority);border-radius:6px;outline:none}.joblist-priority select:hover{border-color:var(--line-strong);border-left-color:var(--priority)}.priority-pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--priority, #426c86);background:#eef2f4;border-radius:999px}.priority-pill.urgent{color:#a84b47;background:#a84b471a}.priority-pill.high{color:#b8491d;background:#b8491d1a}.priority-pill.normal{color:#426c86;background:#426c861a}.priority-pill.low{color:#5f6b72;background:#5f6b721f}.modal.joblist-modal{max-width:560px}.priority-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.priority-choice>button{--priority: #426c86;display:flex;align-items:flex-start;gap:8px;padding:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .14s ease,background .14s ease}.priority-choice>button:hover{border-color:var(--line-strong)}.priority-choice>button>i{flex:0 0 auto;width:10px;height:10px;margin-top:4px;background:#d5dde3;border-radius:50%}.priority-choice>button>span{min-width:0;flex:1}.priority-choice strong{display:block;font-size:11.5px;font-weight:600}.priority-choice small{display:block;margin-top:1px;font-size:9.5px;line-height:1.35;color:var(--muted)}.priority-choice>button.active{border-color:var(--priority);background:#fff}.priority-choice>button.active>i{background:var(--priority)}.priority-choice>button.active strong{color:var(--priority)}.priority-readonly{display:flex;align-items:center;gap:9px}.priority-readonly small{font-size:10.5px;color:var(--muted)}.team-card-avatar{color:var(--ink-soft)}.team-stats dt{color:var(--muted)}.team-card-name .role-pill.employee{color:var(--green);background:var(--green-soft)}.team-page{display:flex;flex-direction:column;gap:17px}.team-back{align-self:flex-start}.team-summary{display:flex;flex-wrap:wrap;gap:9px}.team-summary-item{display:flex;align-items:center;gap:10px;min-width:150px;flex:1;padding:11px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.team-summary-item>div{display:flex;flex-direction:column}.team-summary-item span:not(.summary-icon){font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.team-summary-item strong{font-family:var(--font-display);font-size:22px;font-weight:700}.team-allow-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:10px}.team-allow-card.on{border-left-color:var(--green)}.team-allow-card h2{font-family:var(--font-display);font-size:16px;font-weight:700}.team-allow-card p{max-width:760px;margin-top:4px;font-size:12px;line-height:1.55;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.team-card{display:flex;flex-direction:column;padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.team-card-top{display:flex;align-items:center;gap:11px}.team-card-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;font-size:12px;font-weight:700;border:1px solid;border-radius:9px}.team-card-name{min-width:0}.team-card-name h3{font-size:15.5px;font-weight:600}.team-card-name p{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:10.5px;color:var(--muted)}.team-card-name .role-pill{color:var(--muted);background:#eef2f4}.team-card-name .role-pill.owner{color:var(--accent-dark);background:var(--accent-soft)}.team-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.team-stats>div{min-width:0}.team-stats dt{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.team-stats dd{margin:2px 0 0;font-family:var(--font-display);font-size:17px;font-weight:700}.team-stats dd small{display:block;margin-top:1px;font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--muted)}.team-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;font-size:12px;color:var(--ink-soft)}.team-allowance-row{display:flex;flex-direction:column;gap:5px;margin-top:13px}.team-allowance-row>label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.team-allowance-row small{font-size:10.5px;color:var(--muted)}.team-allowance-value{display:flex;align-items:center;justify-content:space-between;gap:10px}.team-allowance-value span{font-family:var(--font-display);font-size:17px;font-weight:700}.team-allowance-edit{display:flex;align-items:center;gap:6px}.team-allowance-edit input{width:84px;height:34px;padding:0 9px;font-size:13px;background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:none}.team-allowance-edit input:focus{border-color:#d85c2799;box-shadow:0 0 0 3px #d85c271a}.team-calendar-button{margin-top:15px}.team-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.team-detail-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.team-detail-card h2{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-soft)}.team-count strong{display:block;font-family:var(--font-display);font-size:27px;font-weight:700;line-height:1}.team-count span{font-size:11px;color:var(--muted)}.team-progress{height:5px;background:#e7ecef;border-radius:3px;overflow:hidden}.team-progress i{display:block;height:100%;background:var(--accent);border-radius:3px}.team-detail-note{font-size:11px;line-height:1.5;color:var(--muted)}.team-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.team-records-col{padding:15px 17px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.team-records-col h2{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:8px}.team-month{margin:13px 0 4px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.team-record{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f2}.team-record:last-child{border-bottom:0}.team-record-date{flex:0 0 62px;font-size:11px;font-weight:600;color:var(--muted)}.team-record-main{display:flex;flex-direction:column;flex:1;min-width:0}.team-record-main strong{overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.team-record-main small{font-size:10.5px;color:var(--muted)}.team-record-days{font-size:11px;font-weight:700;color:var(--muted)}.team-record-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;color:var(--muted);background:#eef2f4;border-radius:6px}.team-record.leave.holiday .team-record-icon{color:var(--gold);background:#f7efdf}.team-record.leave.sick .team-record-icon{color:var(--red);background:var(--red-soft)}.team-empty{padding:12px 0;font-size:11.5px;color:var(--muted)}.team-calendar{margin-top:4px}button.customer-identity{width:100%;padding:0;text-align:left;background:none;border:0;cursor:pointer}.customer-identity h3{font-size:16px}.customer-identity:hover h3{color:var(--accent-dark)}.customer-open-hint{display:inline-flex;align-items:center;gap:3px;margin-top:5px;font-size:10.5px;font-weight:600;color:var(--muted)}.customer-open-hint svg{transition:transform .15s ease}button.customer-identity:hover .customer-open-hint{color:var(--accent-dark)}button.customer-identity:hover .customer-open-hint svg{transform:translate(2px,-2px)}.modal.customer-detail-modal{max-width:760px}.customer-detail-body{display:flex;flex-direction:column;gap:18px;padding:8px 23px 22px}.customer-detail-rate{align-self:flex-start;font-size:11.5px;font-weight:600;color:var(--muted)}.customer-detail-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:13px 14px;background:#f7f9fa;border-radius:9px}.customer-detail-stats>div{min-width:0}.customer-detail-stats span{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.customer-detail-stats strong{display:block;margin-top:2px;font-family:var(--font-display);font-size:17px;font-weight:700}.customer-detail-stats .has-outstanding strong{color:var(--accent-dark)}.customer-detail-section h3{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:14px;font-weight:700}.customer-detail-empty{margin-top:6px;font-size:12px;color:var(--muted)}.customer-detail-hint{display:flex;align-items:center;gap:5px;margin-top:9px;font-size:11px;color:var(--muted)}.customer-hours-list{display:flex;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none}.customer-hours-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #edf0f2}.customer-hours-list li:last-child{border-bottom:0}.customer-hours-avatar{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;font-size:9.5px;font-weight:700;border:1px solid;border-radius:7px}.customer-hours-name{display:flex;flex-direction:column;flex:1;min-width:0}.customer-hours-name strong{font-size:12.5px;font-weight:600}.customer-hours-name small{font-size:10.5px;color:var(--muted)}.customer-hours-value{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font-display);font-size:15px;font-weight:700}.customer-hours-value small{font-family:var(--font-sans);font-size:9.5px;font-weight:500;color:var(--muted)}.customer-sites{display:flex;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none}.customer-sites li{display:flex;align-items:flex-start;gap:8px;padding:7px 0;font-size:12px;border-bottom:1px solid #edf0f2}.customer-sites li:last-child{border-bottom:0}.customer-sites svg{flex:0 0 auto;margin-top:2px;color:var(--faint)}.customer-sites strong{display:block;font-weight:600}.customer-sites small{color:var(--muted);font-size:10.5px}.customer-job-list{display:flex;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none}.customer-job-list>li{border-bottom:1px solid #edf0f2}.customer-job-list>li:last-child{border-bottom:0}.customer-job-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.customer-job-main{display:flex;align-items:center;gap:11px;flex:1;min-width:0;padding:9px 0;text-align:left;background:none;border:0}.customer-job-main:disabled{cursor:default}.customer-job-date{display:flex;flex-direction:column;align-items:center;flex:0 0 42px}.customer-job-date strong{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1}.customer-job-date{font-size:9.5px;color:var(--muted)}.customer-job-copy{display:flex;flex-direction:column;min-width:0;flex:1}.customer-job-copy strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.customer-job-copy small{font-size:10.5px;color:var(--muted)}.customer-job-materials-count{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:11px;font-weight:600;color:var(--accent-dark)}.customer-job-materials-count svg:last-child{transition:transform .15s ease}.customer-job-materials-count svg.open{transform:rotate(180deg)}.customer-job-materials{margin:0 0 10px;padding:10px 12px;list-style:none;background:#f7f9fa;border-radius:8px}.customer-job-materials li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:11.5px}.customer-job-materials strong{font-weight:600}.customer-job-materials small{display:block;color:var(--muted);font-size:10.5px}.customer-job-cost{font-weight:600;color:var(--muted)}.job-row-site,.joblist-site-note{color:var(--faint);font-style:italic}.joblist-actions .visibility-toggle.on{color:var(--green);background:var(--green-soft)}.visibility-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.visibility-choice>button{display:flex;flex-direction:column;gap:2px;padding:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px}.visibility-choice>button:hover{border-color:var(--line-strong)}.visibility-choice strong{font-size:11.5px;font-weight:600}.visibility-choice small{font-size:9.5px;line-height:1.35;color:var(--muted)}.visibility-choice>button.active{border-color:#e0a484;background:#fffaf7}.visibility-choice>button.active strong{color:var(--accent-dark)}.login-card{max-width:470px}.login-portals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:24px}.login-portals button{display:flex;align-items:center;justify-content:center;gap:7px;height:44px;font-size:12.5px;font-weight:600;color:var(--muted);background:#f2f5f7;border:1px solid var(--line);border-radius:7px;transition:background .14s ease,color .14s ease,border-color .14s ease}.login-portals button:hover{color:var(--ink);border-color:var(--line-strong)}.login-portals button.active{color:var(--accent-dark);background:var(--accent-soft);border-color:#e8b598}.login-people{display:flex;flex-direction:column;gap:7px;margin-top:20px}.login-person{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .14s ease,background .14s ease}.login-person:hover{border-color:var(--line-strong);background:#f8fafb}.login-person.active{border-color:#e0a484;background:#fffaf7;box-shadow:0 0 0 2px #d85c2717}.login-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;font-size:12px;font-weight:700;border:1px solid;border-radius:8px}.login-person-meta{display:flex;flex-direction:column;flex:1;min-width:0}.login-person-meta strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.login-person-meta small{overflow:hidden;font-size:11px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.login-lock{flex:0 0 auto;color:var(--muted)}.login-empty{padding:14px;font-size:12px;line-height:1.55;color:var(--muted);background:#f2f5f7;border-radius:8px}.jobs-page{display:flex;flex-direction:column;gap:17px}.jobs-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px}.jobs-summary-item{display:flex;align-items:center;gap:11px;min-width:168px;flex:1;padding:11px 14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px}button.jobs-summary-item{cursor:pointer;transition:border-color .14s ease,background .14s ease}button.jobs-summary-item:hover{border-color:var(--line-strong);background:#fbfcfd}.jobs-summary-item>span:not(.summary-icon){display:flex;flex-direction:column}.jobs-summary-item small{font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.jobs-summary-item strong{font-family:var(--font-display);font-size:23px;font-weight:700}.jobs-summary-item.attention{background:#fff8f4;border-color:#eed3c4}.jobs-summary-item.attention strong{color:var(--accent-dark)}.jobs-crew{flex:2 1 280px}.jobs-crew-list{display:flex;flex-direction:column;min-width:0;flex:1}.jobs-crew-list>span{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.jobs-crew-list em{font-size:11px;color:var(--faint)}.crew-count{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:11px;color:var(--ink-soft);background:#f2f5f7;border:1px solid transparent;border-radius:999px}.crew-count b{font-size:11px;font-weight:700;color:var(--accent-dark)}.crew-count:hover{border-color:var(--line-strong)}.crew-count.active{background:var(--accent-soft);border-color:#e8b598}.jobs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.jobs-toolbar .segmented-tabs{flex:0 0 auto}.jobs-person-filter{display:flex;align-items:center;gap:7px;height:38px;padding:0 11px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:8px}.jobs-person-filter select{padding-right:4px;font-size:12px;color:var(--ink);background:none;border:0;outline:none}.jobs-search{flex:1 1 220px}.jobs-list{display:flex;flex-direction:column;gap:18px}.jobs-day h2{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.jobs-day h2 span{font-size:10.5px;font-weight:500;color:var(--muted)}.jobs-day h2.is-today{color:var(--accent-dark)}.job-row{display:flex;min-width:0;margin-bottom:7px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;transition:border-color .14s ease,box-shadow .14s ease}.job-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.job-row-stripe{flex:0 0 4px}.job-row-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:13px 15px}.job-row-main{display:flex;align-items:flex-start;gap:14px}.job-row-time{display:flex;flex-direction:column;flex:0 0 62px}.job-row-time strong{font-size:13px;font-weight:700}.job-row-time span{font-size:11px;color:var(--muted)}.job-row-info{flex:1;min-width:0}.job-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.job-row-title h3{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.job-row-customer{margin-top:3px;font-size:12px;color:var(--ink-soft)}.job-row-customer span{color:var(--muted)}.job-row-address{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:11.5px;color:var(--muted)}.job-row-address svg{flex:0 0 auto;color:var(--faint)}.job-row-side{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:flex-end}.job-row-notes{margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.5;color:var(--ink-soft);background:#f7f9fa;border-left:2px solid var(--line-strong);border-radius:0 6px 6px 0}.job-row-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:11px}.job-materials-toggle{display:inline-flex;align-items:center;gap:6px;padding:0;font-size:11.5px;font-weight:600;color:var(--ink-soft);background:none;border:0}.job-materials-toggle:hover{color:var(--accent-dark)}.job-materials-toggle svg:last-child{transition:transform .15s ease}.job-materials-toggle svg.open{transform:rotate(180deg)}.job-row-materials{margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.job-assign{display:flex;flex-direction:column;gap:4px}.job-assign>span{font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.job-assign-select{display:flex;align-items:center;gap:6px;height:34px;padding:0 9px;background:#fff;border:1px solid var(--line);border-radius:7px}.job-assign-select i{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;font-size:8.5px;font-style:normal;font-weight:700;color:var(--assignee, var(--muted));background:var(--assignee-tint, #eef2f4);border-radius:50%}.job-assign-select.unassigned{border-style:dashed}.job-assign-select select{min-width:128px;font-size:12px;color:var(--ink);background:none;border:0;outline:none}.job-assign-select:hover{border-color:var(--line-strong)}.material-editor{display:flex;flex-direction:column;gap:8px}.material-row.editable{align-items:center;gap:9px}.material-row.editable .material-name{display:flex;flex-direction:column}.material-row.editable .material-name small{margin-top:1px;font-size:10px;color:var(--muted)}.material-edit{display:flex;flex:0 0 auto;gap:5px}.material-edit input{min-width:0;height:30px;padding:0 7px;font-size:11.5px;background:#fff;border:1px solid var(--line);border-radius:5px;outline:none}.material-edit input:first-child{width:58px}.material-edit input:last-child{width:74px}.material-edit input:focus{border-color:#d85c2799;box-shadow:0 0 0 3px #d85c271a}.day-job-assignee{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:10.5px;color:var(--muted)}.day-job-assignee svg{color:var(--faint)}.day-panel-actions.single{grid-template-columns:1fr}.form-note.assigned{color:var(--ink-soft);background:#f2f5f7}.role-pill.employee,.sidebar .role-pill.employee{color:#cbe4d6;background:#2f6b4f47}.team-member-form{display:flex;flex-direction:column;gap:12px;padding:14px;background:#f7f9fa;border:1px solid var(--line);border-radius:9px}.team-member-actions{display:flex;justify-content:flex-end;gap:7px}.team-add{justify-content:center}.team-you{font-size:10px;font-style:normal;color:var(--accent-dark)}.team-role-select{height:38px;padding:0 9px;font-size:12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.job-row-main{flex-wrap:wrap}.job-row-side{width:100%;justify-content:flex-start}.job-assign{width:100%}.job-assign-select select{min-width:0;width:100%}}@media(max-width:780px){.joblist-row{flex-wrap:wrap;padding-left:12px;gap:10px}.joblist-rail{display:none}.joblist-main{width:100%}.joblist-side{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.joblist-summary-item{min-width:0}}@media(max-width:560px){.joblist-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.joblist-summary-item{padding:9px 11px}.joblist-summary-item .summary-icon,.joblist-summary-item .priority-dot{display:none}.joblist-side{flex-wrap:wrap;row-gap:8px}.joblist-actions{flex-wrap:wrap;margin-left:auto;justify-content:flex-end}}@media(max-width:640px){.jobs-summary{flex-direction:column}.jobs-toolbar{flex-direction:column;align-items:stretch}.jobs-person-filter{width:100%}.job-row-time{flex-basis:54px}.material-row.editable{flex-wrap:wrap}.material-edit{width:100%;justify-content:flex-start}.login-portals{grid-template-columns:1fr}}@media(max-width:1180px){.team-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1020px){.team-grid,.team-records{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.team-allow-card{align-items:flex-start;flex-direction:column}.customer-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.team-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}}@media(max-width:560px){.team-detail-grid{grid-template-columns:minmax(0,1fr)}.customer-job-copy small{font-size:10px}}@media(max-width:760px){.button.topbar-leave{width:38px;padding:0;justify-content:center}.button.topbar-leave svg{flex-shrink:0}}@media(max-width:640px){.jobs-toolbar .jobs-search{flex:0 0 auto}}.team-rate-values{display:flex;align-items:flex-end;gap:14px}.team-rate-values>span{display:flex;flex-direction:column;gap:1px}.team-rate-values strong{font-family:var(--font-display);font-size:15px;font-weight:700}.team-rate-values .text-link{margin-left:auto}.team-rate-edit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.team-rate-edit>label{display:flex;flex:1 1 120px;flex-direction:column;gap:3px;font-size:10.5px;color:var(--muted)}.team-rate-edit .money-input input{width:100%}.team-rate-actions{display:flex;gap:6px}.profile-brand-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.profile-logo{display:grid;place-items:center;width:150px;height:64px;padding:6px;background:#fff;border:1px dashed var(--line-strong);border-radius:8px}.profile-logo img{max-width:100%;max-height:100%;object-fit:contain}.profile-logo span{font-size:11px;color:var(--faint)}.profile-logo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1;min-width:180px}.profile-color input[type=color]{width:56px;height:36px;padding:2px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}.profile-number-row{display:grid;grid-template-columns:70px 1fr;gap:6px}.profile-number-row input,.profile-link-row input{min-width:0;height:36px;padding:0 10px;font:inherit;font-size:12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:8px}.profile-link-row{display:flex;gap:6px;align-items:center}.profile-link-row input{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.public-loading{min-height:100vh;background:var(--bg)}.public-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.public-header{background:#fff;border-top:4px solid var(--brand);border-bottom:1px solid var(--line)}.public-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:860px;margin:0 auto;padding:14px 16px}.public-logo{max-height:48px;max-width:200px;object-fit:contain}.public-name{font-family:var(--font-display);font-size:18px;font-weight:700}.public-contact{font-size:12px;color:var(--muted);text-align:right}.public-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:24px 16px 48px}.public-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;max-width:860px;width:100%;margin:0 auto;padding:16px;font-size:11px;color:var(--faint)}.public-powered{display:inline-flex;align-items:center;gap:5px}.public-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.public-card+.public-card{margin-top:14px}.public-message{text-align:center;padding:42px 22px}.public-message h1{font-family:var(--font-display);font-size:22px}.public-message p{max-width:460px;margin:8px auto 0;font-size:13px;line-height:1.55;color:var(--muted)}.public-button{color:#fff;background:var(--brand);border-color:var(--brand)}.public-button:hover{filter:brightness(.92)}@media(max-width:560px){.public-header-inner{flex-direction:column;align-items:flex-start}.public-contact{text-align:left}.public-card{padding:16px}}.module-tabs{align-self:flex-start;margin-bottom:4px}.module-tabs button{display:inline-flex;align-items:center;gap:6px}.doc-status{display:inline-flex;align-items:center;gap:4px;height:21px;padding:0 8px;font-size:10.5px;font-weight:700;border-radius:11px;color:var(--muted);background:#eef2f4;white-space:nowrap}.doc-status.blue{color:var(--blue);background:#e7eff5}.doc-status.green{color:var(--green);background:var(--green-soft)}.doc-status.red{color:var(--red);background:var(--red-soft)}.doc-status.amber{color:var(--gold);background:#f7efdf}.doc-status.muted{color:var(--faint);background:#f0f2f4}.doc-status-sub{display:block;margin-top:3px;font-size:10px;color:var(--faint)}.doc-page{display:flex;flex-direction:column;gap:14px}.doc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.doc-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}.doc-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.doc-header h1{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.3px}.doc-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:11.5px;color:var(--muted)}.doc-status-row>span:not(.doc-status){display:inline-flex;align-items:center;gap:4px}.doc-card{padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:12px}.doc-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.doc-card-head h2{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:16px;font-weight:700}.doc-card-sub{margin-top:3px;font-size:12px;color:var(--muted)}.doc-card-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.doc-check{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-soft);cursor:pointer;white-space:nowrap}.doc-check input{width:15px;height:15px;accent-color:var(--accent)}.doc-editor{display:flex;flex-direction:column;gap:12px}.doc-section{border:1px solid var(--line);border-radius:10px;overflow:visible}.doc-section.optional{border-style:dashed;border-color:#e2b9a3;background:#fffaf7}.doc-section-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;color:var(--muted);background:#f7f9fa;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}.doc-section.optional .doc-section-head{background:#fdf1ea}.doc-section-title{flex:1 1 180px;min-width:0;height:30px;padding:0 8px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:6px}.doc-section-title:hover,.doc-section-title:focus{background:#fff;border-color:var(--line-strong);outline:none}.doc-section-total{margin-left:auto;font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.doc-section-actions{display:flex;gap:2px}.doc-lines{display:flex;flex-direction:column}.doc-line{display:grid;grid-template-columns:34px minmax(160px,1fr) 128px 92px 96px 76px;align-items:start;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.doc-line.with-vat{grid-template-columns:34px minmax(160px,1fr) 128px 92px 66px 96px 76px}.doc-line.with-costs{grid-template-columns:34px minmax(160px,1fr) 128px 92px 92px 96px 76px}.doc-line.with-costs.with-vat{grid-template-columns:34px minmax(140px,1fr) 128px 92px 92px 66px 96px 76px}.doc-line:last-child{border-bottom:0}.doc-line-main{display:flex;flex-direction:column;gap:4px;min-width:0}.doc-line-qty{display:grid;grid-template-columns:1fr 1fr;gap:4px}.doc-line-qty .doc-cell-label{grid-column:1 / -1}.doc-line-cost small{display:block;margin-top:3px;font-size:10px;color:var(--green);text-align:right}.doc-line-cost small.negative{color:var(--red)}.doc-line-amount{text-align:right}.doc-line-amount strong{display:block;padding-top:7px;font-size:13px;font-variant-numeric:tabular-nums}.doc-line-actions{display:flex;justify-content:flex-end;gap:1px;padding-top:3px}.doc-cell-label{display:none;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.doc-cell-input{width:100%;min-width:0;height:32px;padding:0 8px;font:inherit;font-size:12.5px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:7px}.doc-cell-input:focus{outline:none;border-color:#d85c2799;box-shadow:0 0 0 3px #d85c271a}.doc-cell-input.number{text-align:right;font-variant-numeric:tabular-nums}.doc-cell-input.name{font-weight:600}.doc-cell-input.description{height:auto;min-height:30px;padding:6px 8px;font-size:11.5px;color:var(--ink-soft);resize:vertical;line-height:1.4}.doc-cell-input[readonly]{background:#f7f9fa}.doc-kind-select{position:relative;display:grid;place-items:center;width:32px;height:32px;color:var(--blue);background:#e9f0f4;border-radius:7px}.doc-kind-select select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.doc-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--faint);background:none;border:0;border-radius:6px;cursor:pointer}.doc-icon:hover:not(:disabled){color:var(--ink);background:#eef2f4}.doc-icon.danger:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.doc-icon:disabled{opacity:.35;cursor:default}.doc-empty{padding:14px 10px;font-size:12px;color:var(--muted)}.doc-add-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-top:1px solid var(--line)}.doc-section-add{display:flex;flex-wrap:wrap;gap:6px}.doc-picker{position:relative}.doc-picker-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:min(360px,86vw);padding:6px;background:#fff;border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lg)}.doc-picker-search{display:flex;align-items:center;gap:6px;padding:0 8px;height:34px;color:var(--faint);border-bottom:1px solid var(--line)}.doc-picker-search input{flex:1;font:inherit;font-size:12.5px;border:0;outline:none}.doc-picker-panel ul{max-height:280px;margin:4px 0 0;padding:0;overflow:auto;list-style:none}.doc-picker-panel li button{display:flex;flex-direction:column;gap:1px;width:100%;padding:7px 8px;text-align:left;font:inherit;color:inherit;background:none;border:0;border-radius:7px;cursor:pointer}.doc-picker-panel li button:hover,.doc-picker-panel li button:focus{background:var(--accent-soft);outline:none}.doc-picker-panel li strong{font-size:12.5px}.doc-picker-panel li small{font-size:11px;color:var(--muted)}.doc-picker-empty{padding:12px 8px;font-size:12px;color:var(--muted)}.doc-totals{min-width:240px;margin:0;font-variant-numeric:tabular-nums}.doc-totals>div{display:flex;justify-content:space-between;gap:18px;padding:3px 0;font-size:12.5px}.doc-totals dt{color:var(--muted)}.doc-totals dd{margin:0;font-weight:600}.doc-totals .grand{margin-top:4px;padding-top:7px;border-top:1px solid var(--ink);font-size:16px}.doc-totals .grand dt{color:var(--ink);font-weight:700}.doc-totals .grand dd{font-family:var(--font-display);font-weight:700}.doc-totals .muted{font-size:11.5px}.doc-totals .margin{margin-top:6px;padding:6px 8px;font-size:11.5px;color:var(--green);background:var(--green-soft);border-radius:7px}.doc-totals .margin dt{color:inherit}.doc-totals .margin.negative{color:var(--red);background:var(--red-soft)}.doc-response{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;border-radius:12px;background:var(--green-soft);border:1px solid #cfe2d6}.doc-response.declined{background:var(--red-soft);border-color:#efd3d1}.doc-response img{max-width:200px;max-height:70px;padding:4px;background:#fff;border-radius:6px}.doc-response strong{font-size:13.5px}.doc-response p{margin-top:4px;font-size:12.5px;color:var(--ink-soft)}.doc-response-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.doc-footer-actions{display:flex;flex-wrap:wrap;gap:6px}.doc-preview-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--blue)}.price-page{display:flex;flex-direction:column;gap:14px}.price-import{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12px;color:var(--muted);background:#f7f9fa;border:1px dashed var(--line-strong);border-radius:9px}.price-import code{font-size:11px}.price-markup{width:90px}.price-form{margin:4px 0}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.kit-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.kit-card header{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.kit-card p{font-size:11.5px;color:var(--muted)}.kit-card ul{margin:0;padding-left:16px;font-size:11.5px;color:var(--ink-soft)}.kit-card footer{display:flex;gap:6px;margin-top:auto;padding-top:6px}.kit-editor{background:#fbfcfc}.kit-total{margin-right:auto;font-size:12px;color:var(--muted)}.public-preview-banner{margin-bottom:12px;padding:9px 12px;font-size:12px;color:var(--blue);background:#e7eff5;border-radius:8px}.public-banner{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px}.public-banner.success{color:var(--green);background:var(--green-soft);border-color:#cfe2d6}.public-banner strong{display:block;color:var(--ink);font-size:14px}.public-banner span{font-size:12.5px;color:var(--ink-soft)}.public-doc-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.public-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.public-doc-head h1{margin-top:4px;font-family:var(--font-display);font-size:25px;font-weight:700;letter-spacing:-.3px}.public-meta{margin-top:4px;font-size:12.5px;color:var(--muted)}.public-doc-to{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-content:start;font-size:12.5px}.public-doc-to span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding-top:2px}.public-doc-to small{grid-column:2;color:var(--muted);white-space:pre-line}.public-intro{margin:16px 0 4px;font-size:13.5px;line-height:1.6;white-space:pre-line}.public-section{margin-top:16px}.public-section>header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:6px;border-bottom:2px solid var(--ink)}.public-section>header h2{font-size:15px;font-weight:700}.public-section>header strong{margin-left:auto;font-variant-numeric:tabular-nums}.public-section.optional{padding:10px 12px;border:1px dashed #d9c1b3;border-radius:10px}.public-section.optional>header{border-bottom-width:1px}.public-section.optional.chosen{background:#fffaf7;border-style:solid;border-color:var(--brand)}.public-optional-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--brand);background:#fff;border:1px solid currentColor;border-radius:16px;cursor:pointer}.public-optional-toggle input{accent-color:var(--brand)}.public-lines{margin:0;padding:0;list-style:none}.public-lines li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.public-lines li strong{font-weight:600}.public-lines li small{display:block;margin-top:2px;font-size:12px;color:var(--muted);line-height:1.45}.public-line-qty{font-size:12px;color:var(--muted);white-space:nowrap}.public-line-amount{min-width:80px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.public-totals{max-width:300px;margin:18px 0 0 auto;font-variant-numeric:tabular-nums}.public-totals>div{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.public-totals dt{color:var(--muted)}.public-totals dd{margin:0;font-weight:600}.public-totals .grand{margin-top:4px;padding-top:8px;border-top:2px solid var(--ink);font-size:18px}.public-totals .grand dt{color:var(--ink);font-weight:700}.public-totals .grand dd{font-family:var(--font-display);font-weight:700;color:var(--brand)}.public-terms{margin-top:20px;padding:12px 14px;background:#f7f9fa;border-radius:9px}.public-terms h3{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.public-terms p{margin-top:4px;font-size:12.5px;line-height:1.55;white-space:pre-line}.public-doc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px}.public-respond{display:flex;flex-direction:column;gap:12px}.public-respond h2{font-family:var(--font-display);font-size:18px}.public-respond p{font-size:13px}.signature-pad{position:relative;height:150px;background:#fff;border:1px solid var(--line-strong);border-radius:9px;touch-action:none}.signature-pad canvas{width:100%;height:100%;display:block;cursor:crosshair}.signature-hint{position:absolute;left:14px;bottom:30px;right:14px;padding-top:6px;font-size:12px;color:var(--faint);border-top:1px dashed var(--line-strong);pointer-events:none}.signature-clear{position:absolute;top:6px;right:6px}@media(max-width:900px){.doc-line,.doc-line.with-vat,.doc-line.with-costs,.doc-line.with-costs.with-vat{grid-template-columns:34px 1fr 1fr}.doc-line-main{grid-column:2 / -1}.doc-line-kind{grid-row:span 1}.doc-line-qty{grid-column:1 / -1}.doc-line-cost,.doc-line-price,.doc-line-vat,.doc-line-amount{grid-column:span 1}.doc-cell-label{display:block;margin-bottom:2px}.doc-line-amount{text-align:left}.doc-line-amount strong{padding-top:4px}.doc-line-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:560px){.doc-header{padding:14px}.doc-card{padding:12px}.doc-totals{min-width:0;width:100%}.public-lines li{grid-template-columns:1fr auto}.public-line-qty{grid-column:1}}.ready-hint{font-size:12px;color:var(--muted)}.payment-list{margin:0;padding:0;list-style:none}.payment-list li{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:12.5px}.payment-list li:last-child{border-bottom:0}.payment-list li>span{flex:1;min-width:0}.payment-list li small{color:var(--muted)}.xero-card .auth-error{margin-top:6px}.choice-list{display:flex;flex-direction:column;gap:6px}.choice-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.choice-row.active{border-color:var(--accent);background:var(--accent-soft)}.choice-row input{margin-top:3px;accent-color:var(--accent)}.choice-row strong{display:block;font-size:13px}.choice-row small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}.integration-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.integration-row.connected{color:var(--green);background:var(--green-soft);border-color:#cfe2d6}.integration-row>div{flex:1;min-width:180px}.integration-row strong{display:block;font-size:13px;color:var(--ink)}.integration-row span{font-size:11.5px;color:var(--ink-soft)}.integration-connect{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.integration-connect .form-field{width:100%}.field-help a{display:inline-flex;align-items:center;gap:2px;color:var(--blue)}.public-pay{display:flex;flex-direction:column;gap:10px;margin-top:18px}.public-pay-card,.public-pay-bank{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px}.public-pay-card{border-color:var(--brand);background:#fffaf7;color:var(--brand)}.public-pay-card>div,.public-pay-bank>div{flex:1;min-width:200px}.public-pay-card strong,.public-pay-bank strong{display:block;color:var(--ink);font-size:14px}.public-pay-card span,.public-pay-bank span{font-size:12px;color:var(--muted)}.public-pay-bank{color:var(--blue)}.public-pay-bank p{margin:4px 0;font-size:12.5px;color:var(--ink);white-space:pre-line}.spin{animation:td-spin .9s linear infinite}@keyframes td-spin{to{transform:rotate(360deg)}}.offline-banner{padding:9px 16px;font-size:12.5px;color:#6b4a12;background:#fbefd5;border-bottom:1px solid #ecd7a8}.timer-pill{display:inline-flex;align-items:stretch;height:38px;color:#fff;background:var(--green);border-radius:8px;overflow:hidden}.timer-pill-main{display:inline-flex;align-items:center;gap:7px;padding:0 10px;font:inherit;font-size:12px;color:inherit;background:none;border:0;cursor:pointer;max-width:260px}.timer-pill-main strong{font-variant-numeric:tabular-nums}.timer-pill-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.timer-pill-stop{display:grid;place-items:center;width:34px;color:inherit;background:#00000024;border:0;cursor:pointer}.timer-pill-stop:hover{background:#00000042}.timer-pulse{animation:td-pulse 1.6s ease-in-out infinite}@keyframes td-pulse{50%{opacity:.35}}.timer-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.timer-card.running{background:var(--green-soft);border-color:#cfe2d6}.timer-card-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--green);background:#fff;border-radius:10px;border:1px solid var(--line)}.timer-card>div{flex:1;min-width:min(220px,100%)}.timer-card strong{display:block;font-size:16px;font-family:var(--font-display)}.timer-card span{font-size:12px;color:var(--muted)}.timer-card-pick{display:flex;flex-wrap:wrap;gap:8px}.timer-card-pick select{flex:1 1 200px;min-width:0;max-width:100%;height:40px;padding:0 10px;font:inherit;font-size:13px;background:#fff;border:1px solid var(--line-strong);border-radius:8px}.timer-card .button{height:40px}.week-nav{display:flex;align-items:center;gap:8px}.week-nav strong{font-size:13.5px}.week-summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--line)}.week-summary strong{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}.week-people{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;font:inherit;font-size:11.5px;color:var(--ink-soft);background:#eef2f4;border:0;border-radius:14px;cursor:pointer}.chip:hover{background:var(--accent-soft);color:var(--accent-dark)}.week-days{display:flex;flex-direction:column}.week-day{padding:10px 16px;border-bottom:1px solid var(--line)}.week-day.today{background:#fbfcf8}.week-day header{display:flex;justify-content:space-between;font-size:12.5px}.week-day header span{font-weight:700;font-variant-numeric:tabular-nums}.week-day ul{margin:6px 0 0;padding:0;list-style:none}.week-day li{display:flex;align-items:center;gap:10px;padding:6px 0}.week-empty{margin-top:2px;font-size:12px;color:var(--faint)}.time-entry-main{flex:1;min-width:0}.time-entry-main strong{display:block;font-size:13px;font-weight:600}.time-entry-main small{font-size:11.5px;color:var(--muted)}.time-entry-length{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.time-entry-length.live{color:var(--green)}.duration-row{grid-template-columns:1fr 1fr}.job-extras{display:flex;flex-direction:column;gap:14px;margin-top:4px}.extras-note{margin-top:6px}.extras-block{display:flex;flex-direction:column;gap:8px}.checklist{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:9px}.checklist li{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line)}.checklist li:last-child{border-bottom:0}.checklist label{display:flex;align-items:center;gap:9px;flex:1;font-size:13px;cursor:pointer}.checklist input{width:17px;height:17px;accent-color:var(--green)}.checklist li.done span{color:var(--faint);text-decoration:line-through}.checklist-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.checklist-add input{flex:1 1 200px;height:34px;padding:0 10px;font:inherit;font-size:12.5px;border:1px solid var(--line-strong);border-radius:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.photo-grid figure{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#eef2f4}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.photo-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;color:#fff;background:#14232eb3;border:0;border-radius:6px;cursor:pointer}.file-list{margin:0;padding:0;list-style:none}.file-list li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12.5px;color:var(--muted)}.file-list li a,.file-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}@media(max-width:640px){.timer-pill-main span{display:none}}.repeat-list{margin:0;padding:0;list-style:none}.repeat-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}.repeat-row:last-child{border-bottom:0}.repeat-row.paused .repeat-main{opacity:.55}.repeat-badge{display:grid;place-items:center;width:32px;height:32px;color:var(--blue);background:#e9f0f4;border-radius:8px;flex:0 0 auto}.repeat-badge.overdue{color:var(--red);background:var(--red-soft)}.repeat-main{flex:1;min-width:200px}.repeat-main strong{display:block;font-size:13.5px;font-weight:600}.repeat-main small{font-size:11.5px;color:var(--muted)}.repeat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.extras-repeat{align-self:flex-start}.enquiries-panel{margin-bottom:14px;background:#fffaf7;border:1px solid #f0cdb9;border-radius:12px;overflow:hidden}.enquiries-panel>header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;color:var(--accent-dark);border-bottom:1px solid #f0cdb9}.enquiries-panel>header strong{color:var(--ink);font-size:13.5px}.enquiries-panel>header span{font-size:11.5px;color:var(--muted)}.enquiries-panel ul{margin:0;padding:0;list-style:none}.enquiries-panel li{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid #f5ddd0}.enquiries-panel li:last-child{border-bottom:0}.enquiry-main{flex:1;min-width:220px}.enquiry-main strong{font-size:13.5px}.enquiry-main p{margin:4px 0;font-size:12.5px;color:var(--ink-soft);white-space:pre-line}.enquiry-main small{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted)}.enquiry-main a{display:inline-flex;align-items:center;gap:3px;color:var(--blue)}.public-enquiry{display:flex;flex-direction:column;gap:12px}.public-enquiry h1{font-family:var(--font-display);font-size:24px}.public-small{font-size:11.5px;color:var(--faint);text-align:right}.public-success-icon{color:var(--green);margin-bottom:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.day-cell.is-drop-target,.schedule-cell.is-drop-target{outline:2px dashed var(--accent);outline-offset:-3px;background:var(--accent-soft)}.job-event[draggable=true]{cursor:grab}.schedule-card{overflow:hidden}.schedule-warning{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--red)}.schedule-scroll{overflow-x:auto}.schedule-grid{display:grid;min-width:760px}.schedule-corner,.schedule-day-head{position:sticky;top:0;z-index:1;padding:8px 10px;font-size:11.5px;font-weight:700;color:var(--muted);background:#f7f9fa;border-bottom:1px solid var(--line)}.schedule-day-head.today{color:var(--accent-dark)}.schedule-person{display:flex;flex-direction:column;justify-content:center;padding:8px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fbfcfc}.schedule-person strong{font-size:12.5px}.schedule-person small{font-size:10.5px;color:var(--muted)}.schedule-cell{position:relative;display:flex;flex-direction:column;gap:4px;min-height:76px;padding:6px 6px 24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.schedule-cell.away{background:repeating-linear-gradient(45deg,#fbf8f1,#fbf8f1 6px,#f5efe2 6px,#f5efe2 12px)}.schedule-leave{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--gold)}.schedule-job{display:flex;flex-direction:column;gap:1px;padding:5px 7px;text-align:left;font:inherit;color:var(--ink);background:var(--event-tint);border:0;border-left:3px solid var(--event-color);border-radius:6px;cursor:grab}.schedule-job.status-completed{opacity:.7}.schedule-job.clash{box-shadow:inset 0 0 0 1.5px var(--red)}.schedule-job-time{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--muted)}.schedule-job.clash .schedule-job-time{color:var(--red)}.schedule-job strong{overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.schedule-job small{overflow:hidden;font-size:10.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.schedule-add{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:20px;height:20px;color:var(--faint);background:none;border:1px dashed var(--line-strong);border-radius:5px;cursor:pointer;opacity:0}.schedule-cell:hover .schedule-add,.schedule-add:focus-visible{opacity:1}.stage-chip{align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:9.5px;font-weight:700;color:var(--stage);background:color-mix(in srgb,var(--stage) 14%,white);border-radius:8px}.report-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.report-tiles .negative,.negative{color:var(--red)!important}.report-heading{font-family:var(--font-display);font-size:15px;font-weight:700;padding:0 0 4px}.invoice-card>.report-heading{padding:14px 16px 6px}.report-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.invoice-table.compact td,.invoice-table.compact th{padding-top:7px;padding-bottom:7px}.report-note{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:12px;color:var(--gold)}.ai-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--blue)}.stage-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.stage-list li{display:flex;align-items:center;gap:6px}.stage-list input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.stage-list input:not([type=color]){flex:1;height:32px;padding:0 9px;font:inherit;font-size:12.5px;border:1px solid var(--line-strong);border-radius:7px}.template-material{display:grid;grid-template-columns:1fr 70px 80px 80px 28px;gap:6px;margin-bottom:6px}.template-material input{min-width:0;height:32px;padding:0 8px;font:inherit;font-size:12px;border:1px solid var(--line-strong);border-radius:7px}.template-add{align-self:flex-start}.calendar-feed{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:14px;border-top:1px solid var(--line)}.calendar-feed p{font-size:12px;line-height:1.5;color:var(--muted)}@media(max-width:560px){.template-material{grid-template-columns:1fr 60px 60px 28px}.template-material input:nth-child(3){display:none}}.support-visit-list{display:flex;flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none}.support-visit-list>li{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.support-visit-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:13px;color:var(--ink)}.support-visit-head span{font-size:12px;color:var(--muted)}.support-visit-reason{margin:6px 0 0;font-size:13px;color:var(--ink-soft)}.support-visit-changes{margin:8px 0 0;padding:0 0 0 14px;font-size:12px;color:var(--ink-soft)}.support-visit-changes li span{color:var(--muted);font-variant-numeric:tabular-nums}.support-visit-changes li.failed{color:var(--muted)}.support-visit-none{margin:6px 0 0;font-size:12px;color:var(--muted)}.xero-choose{flex-direction:column;align-items:stretch}.xero-choose fieldset{margin:0;padding:0;border:0;min-width:0}.xero-choice{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:8px;cursor:pointer}.xero-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.xero-choose-actions{display:flex;justify-content:flex-end;gap:8px}.timesheet-materials{margin-top:14px}.timesheet-materials-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.timesheet-materials-head>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.timesheet-materials-head strong{font-size:14px;color:var(--ink)}.timesheet-materials-head span:not(.timer-card-icon){font-size:12.5px;color:var(--muted)}.timesheet-materials .timer-card-icon{color:var(--accent-dark)}.timesheet-used{margin-top:12px;display:flex;flex-direction:column;gap:6px}.timesheet-used .field-label{display:inline-flex;align-items:center;gap:6px}.doc-icon{position:relative}.doc-icon-count{position:absolute;top:-2px;right:-3px;min-width:14px;height:14px;padding:0 3px;font-size:9.5px;line-height:14px;font-weight:700;color:#fff;background:var(--accent-dark);border-radius:7px}.modal.bill-jobs-modal{max-width:860px}.bill-jobs-body{display:flex;flex-direction:column;gap:14px;padding:4px 23px 18px;overflow-y:auto}.bill-job{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:12px}.bill-job-head strong{display:block;font-size:15px;color:var(--ink)}.bill-job-head span{font-size:12px;color:var(--muted)}.bill-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bill-mode label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:12.5px}.bill-mode label.active{border-color:var(--accent);background:var(--accent-soft)}.bill-mode label>span:nth-of-type(1){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bill-mode label strong{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}.bill-mode small{color:var(--muted);font-size:11.5px}.bill-amount{width:120px;flex-shrink:0}.bill-amount-static{flex-shrink:0;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.bill-detail{display:flex;flex-direction:column;gap:10px}.bill-detail.muted{opacity:.72}.bill-row{display:grid;grid-template-columns:minmax(0,1fr) 96px auto 104px 96px;align-items:center;gap:8px}.bill-row-label{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600;color:var(--ink)}.bill-row-label small{font-weight:400;font-size:11.5px;color:var(--muted)}.bill-row-label svg{display:inline;vertical-align:-2px;margin-right:4px}.bill-times{color:var(--muted);font-size:12px;text-align:center}.bill-line-total{text-align:right;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.bill-materials-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink)}.bill-materials-head>span:first-child{display:inline-flex;align-items:center;gap:6px}.bill-markup{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--muted)}.bill-markup .suffix-input{width:92px}.bill-materials{display:flex;flex-direction:column;gap:6px}.bill-materials-labels,.bill-material{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px 96px;align-items:center;gap:8px}.bill-materials-labels{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.bill-materials-labels span:last-child{text-align:right}.bill-material-name{display:flex;flex-direction:column;font-size:13px;color:var(--ink);min-width:0}.bill-material-name small{font-size:11.5px;color:var(--muted)}.bill-none{font-size:12px;color:var(--muted)}.bill-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bill-figure{padding:10px 12px;border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:2px}.bill-figure span{font-size:11.5px;color:var(--muted)}.bill-figure strong{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.bill-figure small{font-size:11px;color:var(--faint)}.bill-figure.positive strong,.bill-total .positive{color:var(--green)}.bill-figure.negative strong{color:var(--red)}.bill-compare{font-size:12.5px;color:var(--ink-soft)}.bill-quote-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bill-quote-compare>div{padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}.bill-quote-compare>div:first-child{border-color:var(--accent);background:var(--accent-soft)}.bill-quote-compare span{font-size:11.5px;color:var(--muted)}.bill-quote-compare strong{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.bill-quote-compare small{font-size:11px;color:var(--faint)}.bill-quote-compare .over strong{color:var(--red)}.bill-quote-compare .under strong{color:var(--green)}.bill-range{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:0 23px 4px;padding:10px 12px;background:var(--accent-soft);border:1px solid rgba(216,92,39,.25);border-radius:10px}.bill-range label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}.bill-range small{flex-basis:100%;font-size:11.5px;color:var(--muted)}.bill-jobs-body.is-loading{opacity:.6;pointer-events:none}.bill-previous{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--bg);font-size:12.5px;color:var(--ink-soft)}.bill-previous>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}.bill-previous strong{color:var(--ink)}.bill-previous small{font-size:11.5px;color:var(--muted)}.bill-worklog{border:1px solid var(--line);border-radius:8px}.bill-worklog-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:34px;padding:6px 10px;border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}.bill-worklog-toggle svg:last-child{margin-left:auto;transition:transform .15s ease}.bill-worklog-toggle svg.open{transform:rotate(180deg)}.bill-worklog ul{list-style:none;margin:0;padding:0 10px 8px;display:flex;flex-direction:column;gap:4px}.bill-worklog li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;font-size:12px;color:var(--ink-soft)}.bill-worklog li strong{color:var(--ink);font-weight:600}.bill-percent{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.bill-percent .suffix-input{width:84px}.bill-adjustments{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--line-strong);border-radius:10px}.bill-adjustments-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;font-size:13px;font-weight:600;color:var(--ink)}.bill-adjustments-head small{font-size:11px;font-weight:400;color:var(--muted)}.bill-adjustment{display:grid;grid-template-columns:118px minmax(0,1fr) 120px auto;align-items:center;gap:8px}.bill-adjustment.discount .money-input{color:var(--red)}.bill-adjustment-actions{display:flex;flex-wrap:wrap;gap:6px}.bill-detail-note{font-size:12px;color:var(--muted);padding-bottom:6px;border-bottom:1px solid var(--line)}.bill-add-extra{display:inline-flex;gap:3px;align-self:flex-start;padding:0}.bill-warning{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--gold)}.bill-warning svg{flex-shrink:0;margin-top:2px}.bill-total{font-size:13px;color:var(--ink-soft)}@media(max-width:720px){.bill-mode,.bill-quote-compare{grid-template-columns:1fr}.bill-adjustment{grid-template-columns:1fr 1fr auto}.bill-adjustment input[type=text]{grid-column:1 / -1;grid-row:2}.bill-row{grid-template-columns:1fr 1fr auto 1fr}.bill-row-label,.bill-row .bill-line-total{grid-column:1 / -1}.bill-materials-labels{display:none}.bill-material{grid-template-columns:1fr 1fr}.bill-material-name,.bill-material .bill-line-total{grid-column:1 / -1}.bill-figures{grid-template-columns:1fr}}.form-grid.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-form{margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.vehicle-form .vehicle-notes{grid-column:span 2}.vehicle-remove{margin-right:auto}.vehicle-attention{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:12px 14px;color:var(--gold);background:#fbf5e8;border:1px solid #ecdcb6;border-radius:12px}.vehicle-attention svg{flex-shrink:0;margin-top:2px}.vehicle-attention ul{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ink-soft)}.vehicle-attention li.overdue{color:var(--red)}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.vehicle-card{display:flex;flex-direction:column;gap:12px}.vehicle-card.mine{border-color:var(--accent)}.vehicle-head{display:flex;align-items:center;gap:12px}.vehicle-plate{flex-shrink:0;padding:5px 9px;font-family:Arial Narrow,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;color:#111;background:#f6d33b;border:1px solid #c9a919;border-radius:5px}.vehicle-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.vehicle-title strong{font-size:14.5px;color:var(--ink)}.vehicle-title>span{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.vehicle-fuel{padding:1px 7px;font-size:11px;font-weight:600;border-radius:10px;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line)}.vehicle-fuel.diesel{color:#1f2a33;background:#e6eaee}.vehicle-fuel.petrol{color:var(--green);background:var(--green-soft);border-color:#cfe2d7}.vehicle-fuel.electric,.vehicle-fuel.hybrid{color:var(--blue);background:#e8f0f5}.vehicle-dues{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.vehicle-due{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:9px;background:var(--bg);border:1px solid var(--line)}.vehicle-due span{font-size:11px;color:var(--muted)}.vehicle-due strong{font-size:13px;color:var(--ink)}.vehicle-due small{font-size:11px;font-weight:600}.vehicle-due.none strong{color:var(--faint);font-weight:500}.vehicle-due.soon{background:#fbf5e8;border-color:#ecdcb6}.vehicle-due.soon small{color:var(--gold)}.vehicle-due.overdue{background:var(--red-soft);border-color:#eccfcd}.vehicle-due.overdue small{color:var(--red)}.vehicle-spend{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}.vehicle-spend span{display:inline-flex;align-items:center;gap:6px}.vehicle-spend strong{color:var(--ink)}.vehicle-actions{display:flex;flex-wrap:wrap;gap:6px}.vehicle-inline-form{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg);border-radius:10px}.vehicle-history{display:flex;flex-direction:column;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.vehicle-history h3{margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.vehicle-history ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.vehicle-history li{display:grid;grid-template-columns:92px minmax(0,1fr) auto 26px;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}.vehicle-history li>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.vehicle-money{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}@media(max-width:720px){.form-grid.four-up{grid-template-columns:1fr 1fr}.vehicle-form .vehicle-notes{grid-column:1 / -1}.vehicle-grid{grid-template-columns:1fr}.vehicle-history li{grid-template-columns:74px minmax(0,1fr) auto 26px}}.timesheet-note{grid-column:span 2}.pay-summary{margin-top:14px}.pay-period{margin-right:6px}.pay-table tfoot td{padding-top:10px;border-top:1px solid var(--line-strong);font-size:13px}.pay-table tr.pay-open td{border-bottom:0}.pay-daylog-row>td{padding:0 0 12px!important}.pay-daylog{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:12px;background:var(--bg);border-radius:10px}.pay-day{padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.pay-day header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px;color:var(--ink)}.pay-day header span{color:var(--muted);font-variant-numeric:tabular-nums}.pay-day ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.pay-day li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;font-size:12.5px}.pay-kind{padding:1px 7px;font-size:10.5px;font-weight:600;border-radius:10px;white-space:nowrap;color:var(--green);background:var(--green-soft)}.pay-kind.travel{color:var(--blue);background:#e8f0f5}.pay-kind.collection{color:var(--gold);background:#fbf5e8}.pay-kind.admin{color:var(--ink-soft);background:#eef2f4}.pay-what{display:flex;flex-direction:column;min-width:0;color:var(--ink)}.pay-what small{color:var(--muted);font-size:12px}.pay-len{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.pay-used{display:flex;align-items:flex-start;gap:5px;margin-top:8px;font-size:11.5px;color:var(--muted)}.pay-used svg{flex-shrink:0;margin-top:2px}@media(max-width:720px){.timesheet-note{grid-column:1 / -1}}.bill-row-name{display:inline-flex;align-items:center;gap:5px}.pay-table .job-cell-sub,.pay-table .job-cell-title{display:block}.vehicle-form,.vehicle-card{padding:18px}.contract-client{display:flex;flex-direction:column;gap:10px;margin:0;padding:12px 14px 14px;background:#f7f9fa;border:1px solid var(--line);border-radius:10px;min-width:0}.contract-client legend{display:inline-flex;align-items:center;gap:6px;padding:0 6px;font-size:12px;font-weight:600;color:var(--ink-soft)}.contract-client .field-label{display:inline-flex;align-items:center;gap:5px}.customer-detail-ready{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--accent-soft);border:1px solid rgba(216,92,39,.25);border-radius:10px}.customer-detail-ready>div{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-detail-ready strong{font-size:13px;color:var(--ink)}.customer-detail-ready span{font-size:12px;color:var(--ink-soft)}.job-days{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.job-days-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.job-days-head small{font-size:11.5px;color:var(--muted)}.job-days-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.job-day{display:grid;grid-template-columns:minmax(136px,1.1fr) minmax(118px,.8fr) minmax(118px,.8fr) minmax(120px,1fr) auto;align-items:center;gap:6px}.job-day input[type=time]{padding:0 6px}.job-day input,.job-day select{min-width:0}.job-day-person{font-size:13px;color:var(--ink)}.job-day-actions{display:inline-flex;gap:2px;justify-content:flex-end;min-width:30px}.job-days-actions{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:620px){.job-day{grid-template-columns:1fr 1fr;padding-bottom:8px;border-bottom:1px solid var(--line)}.job-day input[type=date]{grid-column:1 / -1}}.customer-ready-jobs{flex-basis:100%;list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.customer-ready-jobs li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--card);border:1px solid var(--line);border-radius:8px}.customer-detail-ready .customer-ready-job{display:flex;flex-direction:column;gap:1px;min-width:0}.customer-detail-ready .customer-ready-job strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-detail-ready .customer-ready-job small{font-size:11px;color:var(--muted)}.customer-detail-ready .customer-ready-worker{flex-shrink:0;padding:3px 8px;border:1px solid;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.customer-detail-ready .customer-ready-worker.is-unknown{font-style:italic}.customer-job-client{display:block;color:var(--accent-dark)!important}.customer-job-status{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:11px;font-weight:600;color:var(--muted)}.customer-job-status small{font-weight:500;color:var(--ink-soft)}.customer-job-status.status-completed{color:var(--accent-dark)}.customer-job-status.status-invoiced{color:var(--green)}.bill-labour-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.bill-labour-head small{font-size:11px;color:var(--muted)}.job-day input,.job-day select,.crm-toolbar select,.crm-date input,.bill-range input,.crm-note-form select,.crm-note-form textarea,.crm-person-form input,.bill-adjustment select,.bill-adjustment input[type=text]{min-width:0;height:36px;padding:0 9px;font-size:12.5px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:none}.crm-note-form textarea{height:auto;min-height:64px;padding:8px 9px;line-height:1.5}.job-day select,.crm-toolbar select,.crm-note-form select,.bill-adjustment select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237a827b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.job-day :is(input,select):focus,.crm-toolbar select:focus,.crm-date input:focus,.bill-range input:focus,.crm-note-form :is(select,textarea):focus,.crm-person-form input:focus,.bill-adjustment :is(select,input):focus{border-color:#df6b3bb3;box-shadow:0 0 0 3px #df6b3b17}.job-day :is(input,select):disabled{background:var(--bg);color:var(--muted)}.crm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:4px 0 12px}.crm-toolbar-inset{margin:0;padding:14px 16px 6px}.crm-search{flex:1 1 260px;min-width:0}.crm-search input{width:100%}.crm-sort{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.crm-sort select{min-height:34px}.crm-date{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.crm-table td{vertical-align:middle}.crm-name{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:inherit;min-width:0}.crm-name>span:last-child{display:flex;flex-direction:column;min-width:0}.crm-name strong{color:var(--ink);font-size:13.5px}.crm-name:hover strong{color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px}.crm-name small,.crm-contact-cell small,.crm-sub{display:block;font-size:11.5px;color:var(--muted);font-weight:400}.crm-contact-cell span{display:block;font-size:12.5px;color:var(--ink)}.crm-avatar{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border:1px solid;border-radius:50%;font-size:12px;font-weight:700}.crm-avatar-large{width:56px;height:56px;font-size:18px}.crm-to-invoice{display:block;font-size:11px;color:var(--accent-dark)}.crm-overdue-text{color:var(--red)!important}small.crm-overdue-text{display:inline-flex;align-items:center;gap:3px;font-size:11px}td small.crm-overdue-text{display:flex;justify-content:flex-end}.crm-negative{color:var(--red)}.crm-row .row-action-cell{white-space:nowrap}.crm-row-buttons{display:inline-flex;align-items:center;gap:4px}.crm-page{display:flex;flex-direction:column;gap:14px}.crm-back{align-self:flex-start;display:inline-flex;align-items:center;gap:5px}.crm-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.crm-head-copy{flex:1 1 240px;min-width:0}.crm-head-copy h1{margin:0}.crm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.crm-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0}.crm-stat span{font-size:11.5px;color:var(--muted)}.crm-stat strong{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.crm-stat small{font-size:11px;color:var(--faint)}.crm-stat.warn small,.crm-stat.warn strong{color:var(--red)}.crm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.crm-column{display:flex;flex-direction:column;gap:14px;min-width:0}.crm-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0}.crm-card header,.crm-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.crm-card-head{padding:14px 16px 8px}.crm-card h2,.crm-card-head h2{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px;color:var(--ink)}.crm-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 14px;margin:0;font-size:13px}.crm-details dt{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.crm-details dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.crm-details a,.crm-people a{color:var(--accent-dark)}.crm-pre{white-space:pre-wrap}.crm-people,.crm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.crm-people li,.crm-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.crm-people li:first-child,.crm-list li:first-child{border-top:0}.crm-list li{padding:9px 16px}.crm-people li>span:first-child,.crm-list li>span:first-child{display:flex;flex-direction:column;min-width:0}.crm-people small,.crm-list small{font-size:11.5px;color:var(--muted)}.crm-people-contact{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:12px;color:var(--ink-soft);text-align:right;min-width:0;overflow-wrap:anywhere}.crm-list-end{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.crm-row-actions{display:inline-flex;gap:2px;flex-shrink:0}.crm-person-form{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;background:var(--bg);border-radius:8px}.crm-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:6px}.crm-note-form{display:grid;grid-template-columns:140px minmax(0,1fr);gap:6px}.crm-note-form textarea{grid-column:1 / -1;resize:vertical}.crm-note-form button{grid-column:2;justify-self:end}.crm-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.crm-event{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;padding:8px 0}.crm-event:before{content:"";position:absolute;left:6px;top:22px;bottom:-8px;width:2px;background:var(--line)}.crm-event:last-child:before{display:none}.crm-event-dot{width:10px;height:10px;margin:5px 0 0 1px;border-radius:50%;background:var(--card);border:2px solid var(--muted)}.crm-event-note .crm-event-dot,.crm-event-call .crm-event-dot,.crm-event-email .crm-event-dot,.crm-event-visit .crm-event-dot,.crm-event-meeting .crm-event-dot{border-color:var(--accent);background:var(--accent)}.crm-event-payment .crm-event-dot{border-color:var(--green)}.crm-event-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}.crm-event-head strong{font-size:13px;color:var(--ink)}.crm-event-head time{font-size:11.5px;color:var(--muted)}.crm-event p{margin:2px 0 0;font-size:12.5px;color:var(--ink-soft)}.crm-event small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}.crm-sums{margin:0;padding:0 16px 10px;font-size:12.5px;color:var(--muted)}.crm-pad{padding:0 16px 16px}.crm-people-cell{font-size:12.5px;color:var(--ink-soft);max-width:220px}.crm-chevron{transition:transform .15s ease}.crm-chevron.open{transform:rotate(180deg)}.crm-detail-row>td{background:var(--bg)}.crm-job-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:6px 4px}.crm-job-detail h3{display:inline-flex;align-items:center;gap:5px;margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.crm-job-detail ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-soft)}.crm-job-detail strong{color:var(--ink);font-weight:600}.crm-job-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.crm-money,.crm-reports{display:flex;flex-direction:column;gap:14px}.crm-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:16px}.crm-chart{margin:0;min-width:0}.crm-chart figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin-bottom:6px}.crm-chart figcaption strong{font-size:13px;color:var(--ink)}.crm-chart figcaption span{font-size:11.5px;color:var(--muted)}.crm-chart-plot{position:relative}.crm-chart svg{display:block;width:100%;height:auto;overflow:visible}.crm-chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3}.crm-chart-axis{stroke:var(--line-strong);stroke-width:1}.crm-chart-bar path{fill:var(--accent);opacity:.85}.crm-chart-bar.is-active path{opacity:1}.crm-chart-bar:focus{outline:none}.crm-chart-bar:focus-visible path{stroke:var(--ink);stroke-width:2}.crm-chart-label{font-size:10px;fill:var(--muted)}.crm-chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 6px));display:flex;flex-direction:column;align-items:center;padding:5px 8px;background:var(--ink);color:var(--panel);border-radius:6px;font-size:11.5px;white-space:nowrap;pointer-events:none;z-index:2}.crm-chart-tip strong{font-size:12.5px;color:inherit}.crm-footnote{margin:0;padding:8px 16px 14px;font-size:11.5px;color:var(--muted)}@media(max-width:900px){.crm-grid,.crm-charts,.crm-job-detail{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.crm-person-form,.crm-note-form{grid-template-columns:minmax(0,1fr)}.crm-note-form button{grid-column:1}.crm-details{grid-template-columns:minmax(0,1fr);gap:2px}.crm-details dd{margin-bottom:6px}.crm-people-cell{max-width:none}}@media(prefers-reduced-motion:reduce){.crm-chevron{transition:none}}@media(max-width:760px){.invoice-table.stack-table tbody tr{display:flex;flex-direction:column;gap:4px;padding:12px 14px}.invoice-table.stack-table td,.invoice-table.stack-table td:nth-child(n){display:flex;justify-content:space-between;align-items:baseline;gap:12px;grid-column:auto;grid-row:auto;text-align:right;font-size:12.5px}.invoice-table.stack-table td[data-label]:before{content:attr(data-label);flex-shrink:0;font-size:11px;font-weight:600;color:var(--muted);text-align:left}.invoice-table.stack-table td:first-child{display:block;text-align:left;margin-bottom:4px}.invoice-table.stack-table td:first-child:before{content:none}.invoice-table.stack-table td.number-column{justify-content:space-between}.invoice-table.stack-table td small{display:inline;margin-left:6px}.invoice-table.stack-table td.row-action-cell{width:auto;justify-content:flex-end;margin-top:4px;padding-right:0!important}.invoice-table.stack-table tr.crm-detail-row{padding-top:0}.invoice-table.stack-table tr.crm-detail-row>td{display:block;text-align:left}.invoice-table.stack-table .crm-people-cell{max-width:none}}
