@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#1e40af;--brand-strong:#1e3a8a;--brand-2:#2563eb;--sky:#38bdf8;--amber:#f59e0b;--amber-ink:#92400e;--ink:#0f172a;--ink-2:#334155;--muted:#64748b;--line:#e2e8f0;--tint:#eff6ff;--paper-2:#f8fafc;--brand-grad:linear-gradient(135deg, #1e40af 0%, #38bdf8 100%);--brand-action:linear-gradient(135deg, #1e40af 0%, #2563eb 100%);--s-0:.125rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--r-1:.5rem;--r-2:.75rem;--r-3:1rem;--r-4:1.5rem;--fs-caption:.8125rem;--fs-small:.875rem;--fs-body:1rem;--fs-lead:1.1875rem;--fs-h3:1.25rem;--fs-h2:clamp(2rem, 3.6vw, 2.75rem);--fs-display:clamp(2.75rem, 6vw, 4.75rem);--w-body:400;--w-ui:600;--w-heading:700;--w-display:800;--text:#1e293b;--bg:#fff;--link:#1e40af;font-feature-settings:"cv11", "ss03";--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:400 16px/1.55 Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,select,textarea{font:inherit}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700;line-height:1.2}a{color:var(--link)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.ld{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);min-height:100vh;font-size:var(--fs-body);background:#fff;line-height:1.6;overflow-x:clip}.ld *,.ld :before,.ld :after{box-sizing:border-box}.ld a{color:inherit}:where(.ld) p{margin:0}.ld-wrap{max-width:1200px;padding-inline:clamp(var(--s-4),4.2vw,2.5rem);margin-inline:auto}.ld-main{max-width:none;margin:0;padding:0}.ld nav{box-shadow:none;border:0;padding:0}.ld h1,.ld h2,.ld h3,.ld h4{color:var(--ink);text-wrap:balance;margin:0}.ld h2{font-size:var(--fs-h2);font-weight:var(--w-heading);letter-spacing:-.03em;line-height:1.1}.ld h3{font-size:var(--fs-h3);font-weight:var(--w-heading);letter-spacing:-.015em;line-height:1.25}.ld-lead{font-size:var(--fs-lead);color:var(--muted);max-width:38rem;line-height:1.6}.ld-muted{color:var(--muted);font-size:var(--fs-small)}.ld-sec{padding-block:clamp(var(--s-8),9vw,var(--s-10))}.ld-head{gap:var(--s-4);max-width:44rem;margin-bottom:var(--s-7);display:grid}.ld-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ld-takeaway{margin-top:var(--s-4);font-size:var(--fs-body);color:var(--ink-2);max-width:40rem;line-height:1.55}.ld-cap-title{font-size:var(--fs-small);font-weight:var(--w-ui);color:var(--ink-2);margin-bottom:var(--s-3)}.ld-cap-note{margin-top:var(--s-3);font-size:var(--fs-caption);color:var(--muted)}.ld-fine{margin-top:var(--s-5);font-size:var(--fs-small);color:var(--muted);max-width:42rem}.ld-btn{min-height:3rem;padding:0 var(--s-5);border-radius:var(--r-2);font-weight:var(--w-ui);font-size:var(--fs-body);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;text-decoration:none;transition:transform .15s,background .2s,border-color .2s;display:inline-flex}.ld-btn-sm{min-height:2.75rem;padding:0 var(--s-4);font-size:var(--fs-small)}.ld a.ld-btn-primary{background:var(--brand-action);color:#fff}.ld a.ld-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.ld a.ld-btn-ghost{color:var(--ink);background:#fff;border-color:#cbd5e1}.ld a.ld-btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.ld a.ld-btn-amber{background:var(--amber);color:var(--ink)}.ld a.ld-btn-amber:hover{background:#fbbf24}.ld a.ld-btn-ghost-dark{color:#fff;border-color:#fff6}.ld a.ld-btn-ghost-dark:hover{border-color:#fff}.ld :focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:var(--r-0,6px)}.ld-final :focus-visible,.ld-demo :focus-visible{outline-color:var(--amber)}.ld-nav{z-index:20;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.ld-nav-in{align-items:center;gap:var(--s-6);min-height:4.25rem;display:flex}.ld-brand{text-decoration:none;display:inline-flex}.ld-links{gap:var(--s-5);display:flex}.ld-links a{font-weight:500;font-size:var(--fs-small);color:var(--ink-2);padding:var(--s-2) 0;text-decoration:none}.ld-links a:hover{color:var(--brand)}.ld-nav-cta{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.ld a.ld-login{white-space:nowrap;font-weight:var(--w-ui);font-size:var(--fs-small);padding:0 var(--s-3);border-radius:var(--r-1);min-height:2.75rem;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.ld a.ld-login:hover{background:var(--tint);color:var(--brand)}.ld-hero{padding-block:clamp(var(--s-7),6vw,var(--s-9)) clamp(var(--s-8),8vw,var(--s-9))}.ld-hero-grid{gap:clamp(var(--s-5),4vw,var(--s-8));grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;display:grid}.ld-hero h1{font-size:var(--fs-display);font-weight:var(--w-display);letter-spacing:-.045em;margin:0 0 var(--s-5);line-height:.98}.ld-hero h1 span{display:block}.ld-blue{color:var(--brand)!important}.ld-snap{width:max-content;max-width:100%;position:relative}.ld-snap:after{content:"";background:var(--amber);transform-origin:0;border-radius:99px;height:.085em;animation:.9s cubic-bezier(.2,.8,.2,1) .4s backwards ld-snap;position:absolute;bottom:-.05em;left:0;right:0}@keyframes ld-snap{0%{transform:scaleX(.02)}}.ld-cta{gap:var(--s-3);margin:var(--s-6) 0 var(--s-5);flex-wrap:wrap;display:flex}.ld-facts{gap:var(--s-2) var(--s-5);font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ld-facts b{color:var(--ink);font-weight:var(--w-ui)}.ld-facts li+li:before{content:"·";margin-right:var(--s-5);color:var(--faint,#94a3b8)}.ld-stack{min-height:38rem;position:relative}.ld-stack:before{content:"";inset:var(--s-5) 0 0 var(--s-8);background:var(--tint);border-radius:var(--r-4);position:absolute}.ld-tag{right:var(--s-4);top:var(--s-2);z-index:3;font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted);position:absolute}.ld-card{z-index:1;border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-4) var(--s-5);font-size:var(--fs-small);background:#fff;line-height:1.4;animation:.8s cubic-bezier(.2,.7,.2,1) backwards ld-rise;position:absolute;box-shadow:0 12px 32px -16px #0f172a47}.ld-c1{width:min(22.5rem,88%);top:var(--s-5);left:0}.ld-c2{width:min(21rem,86%);top:14.5rem;right:var(--s-4);z-index:2;animation-delay:.14s}.ld-c3{width:min(21rem,86%);top:28rem;left:var(--s-5);animation-delay:.28s}@keyframes ld-rise{0%{transform:translateY(var(--s-4));opacity:0}}.ld-card-h{align-items:center;gap:var(--s-2);font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted);margin-bottom:var(--s-3);display:flex}.ld-card-h time{color:#94a3b8;margin-left:auto;font-weight:500}.ld-card-t{font-size:var(--fs-h3);font-weight:var(--w-heading);letter-spacing:-.015em;display:block}.ld-card-t.sm{font-size:var(--fs-body);margin-bottom:var(--s-1)}.ld-who{align-items:center;gap:var(--s-3);margin:var(--s-3) 0;display:flex}.ld-av{background:var(--tint);width:2rem;height:2rem;color:var(--brand);font-size:var(--fs-caption);font-weight:var(--w-heading);border-radius:50%;flex:none;place-items:center;display:grid}.ld-pill{height:1.5rem;padding:0 var(--s-3);font-size:var(--fs-caption);font-weight:var(--w-ui);white-space:nowrap;border-radius:99px;align-items:center;display:inline-flex}.ld-ok{color:#166534;background:#dcfce7}.ld-sig{color:#92400e;background:#fef3c7}.ld-mut{color:#334155;background:#e2e8f0}.ld-crit{color:#991b1b;background:#fee2e2}.ld-amount{font-size:2rem;font-weight:var(--w-heading);letter-spacing:-.04em;margin:var(--s-1) 0;font-variant-numeric:tabular-nums;display:block}.ld-kv{justify-content:space-between;gap:var(--s-3);padding-top:var(--s-3);margin-top:var(--s-3);color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px dashed #cbd5e1;display:flex}.ld-kv b{color:var(--ink)}.ld-trades{padding-block:var(--s-7);background:var(--tint)}.ld-trades-in{gap:var(--s-5) var(--s-7);grid-template-columns:minmax(0,19rem) minmax(0,1fr);align-items:start;display:grid}.ld-trades p{color:var(--muted)}.ld-trades p b{color:var(--ink)}.ld-chips{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ld-chips li{padding:var(--s-2) var(--s-3);font-weight:500;font-size:var(--fs-small);color:var(--ink-2);background:#fff;border:1px solid #bfdbfe;border-radius:99px}.ld-chips li.lead{background:var(--brand);border-color:var(--brand);color:#fff}.ld-feat-list{display:grid}.ld-feat{gap:var(--s-5) var(--s-8);padding-block:var(--s-7);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.ld-feat:last-child{border-bottom:1px solid var(--line)}.ld-feat-text{gap:var(--s-3);max-width:34rem;display:grid}.ld-feat-text p{color:var(--ink-2)}.ld-feat-visual{width:100%;max-width:32rem}.ld-mini,.ld-paper,.ld-facts-list,.ld-thread{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-4);font-size:var(--fs-small)}.ld-url{border:1px solid var(--line);border-radius:var(--r-1);padding:var(--s-2) var(--s-3);font-size:var(--fs-caption);color:var(--muted);margin-bottom:var(--s-3);background:#fff}.ld-slots{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.ld-slots span{padding:var(--s-2) var(--s-3);border-radius:var(--r-1);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #cbd5e1;font-weight:500}.ld-slots .on{background:var(--brand);border-color:var(--brand);color:#fff}.ld-slots .off{color:#64748b;border-style:dashed;text-decoration:line-through}.ld-thread{gap:var(--s-2);display:grid}.ld-thread small{font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted)}.ld-bub{max-width:86%;padding:var(--s-2) var(--s-3);border-radius:var(--r-2);font-size:var(--fs-small);line-height:1.4}.ld-bub.in{border-bottom-left-radius:var(--s-1);background:#e2e8f0}.ld-bub.out{background:var(--brand);color:#fff;border-bottom-right-radius:var(--s-1);margin-left:auto}.ld-facts-list{gap:var(--s-3);margin:0;display:grid}.ld-facts-list div{gap:var(--s-3);grid-template-columns:8rem 1fr;align-items:center;display:grid}.ld-facts-list dt{color:var(--muted)}.ld-facts-list dd{margin:0;font-weight:500}.ld-inv{justify-content:space-between;gap:var(--s-4);padding-block:var(--s-2);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;display:flex}.ld-inv.total{font-weight:var(--w-heading);font-size:var(--fs-body);border-bottom:0}.ld-inv-foot{justify-content:space-between;align-items:center;gap:var(--s-3);margin-top:var(--s-3);display:flex}.ld-inv-foot small{color:var(--muted);font-size:var(--fs-caption)}.ld-paper{background:#fff}.ld-paper .hdr{justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-3);margin-bottom:var(--s-3);border-bottom:2px solid var(--brand);display:flex}.ld-paper .hdr b{display:block}.ld-paper small{color:var(--muted)}.ld-paper .hdr span{font-weight:var(--w-ui);font-variant-numeric:tabular-nums;white-space:nowrap}.ld-paper dl{gap:var(--s-2) var(--s-4);grid-template-columns:auto 1fr;margin:0;display:grid}.ld-paper dt{color:var(--muted)}.ld-paper dd{font-weight:var(--w-ui);margin:0}.ld-shift{gap:var(--s-2) var(--s-3);font-size:var(--fs-small);grid-template-columns:3rem 1fr;align-items:center;display:grid}.ld-shift .hours{font-size:var(--fs-caption);color:var(--muted);justify-content:space-between;font-style:normal;display:flex}.ld-shift .hours em{font-variant-numeric:tabular-nums;font-style:normal}.ld-shift .track{border-radius:var(--r-1);background:repeating-linear-gradient(90deg,#f1f5f9 0 calc(20% - 1px),#cbd5e1 calc(20% - 1px) 20%);height:1.5rem;position:relative}.ld-shift i{top:var(--s-1);bottom:var(--s-1);border-radius:var(--s-1);background:var(--brand);position:absolute}.ld-shift i.q{background:var(--amber)}.ld-legend{gap:var(--s-2) var(--s-5);margin:var(--s-3) 0 0;font-size:var(--fs-caption);color:var(--ink-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ld-legend li{align-items:center;gap:var(--s-2);display:inline-flex}.ld-legend .sw{border-radius:3px;width:.875rem;height:.875rem;display:inline-block}.sw.minimum{background:#93c5fd}.sw.pct{background:var(--brand)}.sw.cap{background:var(--amber)}.sw.flat{border-top:2px dashed var(--ink);border-radius:0;width:1.25rem;height:0}.ld-chart{width:100%;height:auto;display:block;overflow:visible}.ld-chart .grid{stroke:var(--line);stroke-width:1px}.ld-chart .ax{fill:#475569;font-family:inherit;font-size:13px}.ld-chart .ax.row{fill:var(--ink-2);font-size:14px}.ld-chart .ax-title{fill:var(--ink-2);font-family:inherit;font-size:13px;font-weight:600}.ld-chart .val{fill:var(--ink);font-family:inherit;font-size:13px;font-weight:600}.ld-chart .bar.pct{fill:var(--brand)}.ld-chart .bar.minimum{fill:#93c5fd}.ld-chart .bar.cap{fill:var(--amber)}.ld-chart .bar.soft{fill:#bfdbfe}.ld-chart .flat{stroke:var(--ink);stroke-width:2px;stroke-dasharray:6 5}.ld-chart .flat-val{font-size:14px}.ld-demo{color:#fff;background:#1e3a8a}.ld-demo h2,.ld-demo h3,.ld-demo h4{color:#fff}.ld-demo .ld-lead{color:#dbeafe}.ld-tabs{gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-3);margin-bottom:var(--s-7);border:1px solid #ffffff4d;flex-wrap:wrap;display:inline-flex}.ld-tabs button{color:#dbeafe;padding:var(--s-3) var(--s-5);border-radius:var(--r-2);font-weight:var(--w-ui);font-size:var(--fs-small);cursor:pointer;min-height:2.75rem;box-shadow:none;background:0 0;border:0;transition:background .2s,color .2s}.ld-tabs button:hover{color:#fff;filter:none;transform:none}.ld-tabs button[aria-selected=true]{color:var(--brand-strong);background:#fff}.ld-demo-note{margin-top:var(--s-5);font-size:var(--fs-caption);color:#bfdbfe}.ld-demo-note.center{text-align:center}.ld-demo-book{gap:clamp(var(--s-6),6vw,var(--s-9));grid-template-columns:minmax(0,1fr) 21.25rem;align-items:start;display:grid}.ld-steps{gap:var(--s-2);counter-reset:s;margin:0;padding:0;list-style:none;display:grid}.ld-steps li{gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-3);counter-increment:s;grid-template-columns:2.75rem 1fr;transition:background .3s;display:grid}.ld-steps li:before{content:counter(s);width:2.75rem;height:2.75rem;font-weight:var(--w-ui);color:#dbeafe;border:1.5px solid #fff6;border-radius:50%;place-items:center;display:grid}.ld-steps li h3{color:#bfdbfe}.ld-steps li p{margin-top:var(--s-1);color:#bfdbfe;font-size:var(--fs-small)}.ld-steps li.on{background:#ffffff1a}.ld-steps li.on:before{background:var(--amber);border-color:var(--amber);color:var(--ink)}.ld-steps li.on h3{color:#fff}.ld-steps li.done:before{border-color:var(--amber);color:var(--amber)}.ld-phone{background:#0b1b4a;border-radius:3rem;width:21.25rem;max-width:100%;margin-inline:auto;padding:.75rem}.ld-screen{color:var(--ink);background:#fff;border-radius:2.25rem;flex-direction:column;height:36rem;display:flex;overflow:hidden}.ld-phead{align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-2);min-height:3.5rem;display:flex}.ld-back{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;box-shadow:none;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.ld-pbody{padding:var(--s-2) var(--s-5) var(--s-5);flex-direction:column;flex:1;display:flex;overflow:auto}.ld-pbody h4{font-size:1.5rem;font-weight:var(--w-heading);letter-spacing:-.03em;margin:var(--s-2) 0 var(--s-1);color:var(--ink);line-height:1.15}.ld-pbody .sub{color:var(--muted);font-size:var(--fs-small);margin:0 0 var(--s-4)}.ld-tgrid{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.ld-tbtn{text-align:left;border:1.5px solid var(--line);color:var(--ink);border-radius:var(--r-3);padding:var(--s-3);cursor:pointer;gap:var(--s-1);box-shadow:none;background:#fff;min-height:4.5rem;transition:border-color .15s;display:grid}.ld-tbtn:hover{border-color:var(--brand);filter:none;transform:none}.ld-tbtn b{font-weight:var(--w-heading);font-size:var(--fs-small);letter-spacing:-.01em}.ld-tbtn span{font-size:var(--fs-caption);color:var(--muted);line-height:1.3}.ld-tbtn.sel{background:var(--brand);border-color:var(--brand);color:#fff}.ld-tbtn.sel span{color:#dbeafe}.ld-days{gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.ld-day{border:1.5px solid var(--line);border-radius:var(--r-2);color:var(--ink);padding:var(--s-2) 0;cursor:pointer;gap:var(--s-1);min-height:3.5rem;box-shadow:none;background:#fff;flex:1;justify-items:center;display:grid}.ld-day:hover{border-color:var(--brand);filter:none;transform:none}.ld-day span{font-size:var(--fs-caption);color:var(--muted)}.ld-day b{font-weight:var(--w-heading)}.ld-day.sel{background:var(--brand);border-color:var(--brand);color:#fff}.ld-day.sel span{color:#dbeafe}.ld-sgrid{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.ld-sbtn{border:1.5px solid var(--line);border-radius:var(--r-2);min-height:2.75rem;color:var(--ink);cursor:pointer;box-shadow:none;font-variant-numeric:tabular-nums;background:#fff;font-weight:500}.ld-sbtn:hover:not(:disabled){border-color:var(--brand);filter:none;transform:none}.ld-sbtn.sel{background:var(--amber);border-color:var(--amber);color:var(--ink);font-weight:var(--w-ui)}.ld-sbtn:disabled{color:#64748b;background:var(--paper-2);cursor:not-allowed;border-style:dashed;text-decoration:line-through}.ld-pfoot{padding-top:var(--s-4);margin-top:auto}.ld-confirm{border-radius:var(--r-2);background:var(--brand-action);color:#fff;width:100%;min-height:3.25rem;font-weight:var(--w-ui);cursor:pointer;box-shadow:none;border:0}.ld-confirm:disabled{color:#475569;cursor:not-allowed;background:#e2e8f0}.ld-confirmed{text-align:center}.ld-ok-ring{width:5rem;height:5rem;margin:var(--s-4) auto var(--s-3);background:#dcfce7;border-radius:50%;place-items:center;animation:.5s cubic-bezier(.2,1.4,.4,1) backwards ld-pop;display:grid}.ld-ok-ring svg{fill:none;stroke:#15803d;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;width:2.5rem;height:2.5rem}@keyframes ld-pop{0%{opacity:0;transform:scale(.4)}}.ld-sum{margin:var(--s-4) 0 0;border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-1) var(--s-4);text-align:left;background:var(--paper-2)}.ld-sum div{justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0;font-size:var(--fs-small);border-bottom:1px dashed #cbd5e1;display:flex}.ld-sum div:last-child{border:0}.ld-sum dt{color:var(--muted)}.ld-sum dd{font-weight:var(--w-ui);text-align:right;margin:0}.ld-linkbtn{box-shadow:none;color:var(--muted);text-underline-offset:3px;cursor:pointer;font-size:var(--fs-small);padding:var(--s-3);margin-top:var(--s-2);background:0 0;border:0;min-height:2.75rem;text-decoration:underline}.ld-linkbtn:hover{color:var(--ink);filter:none;transform:none}.ld-demo-dash{gap:clamp(var(--s-5),4vw,var(--s-7));grid-template-columns:19rem minmax(0,1fr);align-items:start;display:grid}.ld-stops{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.ld-stops button{text-align:left;gap:var(--s-1);width:100%;padding:var(--s-4) var(--s-5);border-radius:var(--r-3);color:#bfdbfe;cursor:pointer;box-shadow:none;background:0 0;border:0;min-height:2.75rem;display:grid}.ld-stops button:hover{filter:none;background:#ffffff0f;transform:none}.ld-stops button b{font-weight:var(--w-heading);font-size:var(--fs-body);color:#dbeafe}.ld-stops button span{font-size:var(--fs-small);font-weight:400;line-height:1.45}.ld-stops button[aria-current=true]{background:#ffffff1f}.ld-stops button[aria-current=true] b{color:#fff}.ld-win{color:var(--ink);border-radius:var(--r-4);font-size:var(--fs-small);background:#fff;grid-template-columns:10.5rem minmax(0,1fr);min-height:35rem;line-height:1.4;display:grid;overflow:hidden}.ld-side{background:var(--paper-2);border-right:1px solid var(--line);padding:var(--s-4) var(--s-3);gap:var(--s-1);flex-direction:column;display:flex}.ld-side .logo{margin:0 var(--s-2) var(--s-4)}.ld-side .item{padding:var(--s-2) var(--s-3);border-radius:var(--r-1);color:var(--muted);font-weight:500}.ld-side .item.on{background:var(--brand);color:#fff}.ld-mainp{padding:var(--s-5);min-width:0}.ld-pane{animation:.3s ld-fade}@keyframes ld-fade{0%{opacity:0}}.ld-ph{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.ld-ph h4{font-size:1.25rem;font-weight:var(--w-heading);letter-spacing:-.02em;color:var(--ink)}.ld-kpis{gap:var(--s-3);margin-bottom:var(--s-4);grid-template-columns:repeat(3,1fr);display:grid}.ld-kpis div{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-3) var(--s-4)}.ld-kpis span{color:var(--muted);font-size:var(--fs-caption)}.ld-kpis b{font-size:1.25rem;font-weight:var(--w-heading);letter-spacing:-.03em;margin-top:var(--s-1);font-variant-numeric:tabular-nums;display:block}.ld-list{border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.ld-list .row{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);grid-template-columns:3.25rem minmax(0,1fr) auto;align-items:center;display:grid}.ld-list .row.two{grid-template-columns:minmax(0,1fr) auto}.ld-list .row:last-child{border:0}.ld-list .t{color:var(--muted);font-variant-numeric:tabular-nums}.ld-list b{font-weight:var(--w-ui);display:block}.ld-list small{color:var(--muted);font-size:var(--fs-caption)}.ld-fee{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4)}.ld-fee span{color:var(--muted);font-size:var(--fs-caption)}.ld-fee b{font-size:1.25rem;font-weight:var(--w-heading);letter-spacing:-.03em;font-variant-numeric:tabular-nums;display:block}.ld-fee em{font-style:normal;font-size:var(--fs-caption);color:var(--muted);letter-spacing:0;font-weight:400}.ld-fee .meter{height:.5rem;margin-top:var(--s-2);background:#e2e8f0;border-radius:99px;overflow:hidden}.ld-fee .meter i{background:var(--brand);height:100%;display:block}.ld-scroll{overflow-x:auto}.ld-tbl2{border-collapse:collapse;width:100%}.ld-tbl2 th,.ld-tbl2 td{background:0 0;border:0}.ld-tbl2 th{font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted);text-align:left;padding:0 var(--s-3) var(--s-2)}.ld-tbl2 td{padding:var(--s-3);white-space:nowrap;font-variant-numeric:tabular-nums;border-top:1px solid var(--line)!important}.ld-twocol{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.ld-fields label{gap:var(--s-1);margin-bottom:var(--s-3);display:grid}.ld-fields span{font-size:var(--fs-caption);color:var(--muted)}.ld-fields div{border-radius:var(--r-1);padding:var(--s-2) var(--s-3);border:1px solid #cbd5e1;font-weight:500}.ld-fields div.empty{color:#64748b;font-weight:400}.ld-convo{border:1px solid var(--line);border-radius:var(--r-2);grid-template-columns:11.25rem minmax(0,1fr);min-height:21rem;display:grid;overflow:hidden}.ld-threads{border-right:1px solid var(--line)}.ld-threads .th{padding:var(--s-3);border-bottom:1px solid var(--line)}.ld-threads .th.on{background:var(--paper-2)}.ld-threads b{font-weight:var(--w-ui);display:block}.ld-threads small{color:var(--muted)}.ld-chat{padding:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.ld-chat .links{gap:var(--s-2);flex-wrap:wrap;margin-top:auto;display:flex}.ld-trust{background:var(--paper-2);padding-block:clamp(var(--s-8),7vw,var(--s-9));border-block:1px solid var(--line)}.ld-trust-in{gap:var(--s-7);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.ld-trust-text{gap:var(--s-4);max-width:40rem;display:grid}.ld-trust-text p{color:var(--ink-2)}.ld-trust-text b{color:var(--ink);font-weight:var(--w-ui)}.ld-trust-text a{color:var(--brand);text-underline-offset:3px}.ld-price-grid{gap:var(--s-8);margin-bottom:var(--s-8);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.ld-tbl{border-radius:var(--r-3);border:1px solid #cbd5e1;overflow:hidden}.ld-compare{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.ld-compare th,.ld-compare td{padding:var(--s-4);text-align:left;border-top:1px solid var(--line);vertical-align:middle}.ld-compare thead th{background:var(--paper-2);font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--ink-2);border-top:0}.ld-compare thead th.k{background:var(--brand);color:#fff}.ld-compare tbody th{font-weight:var(--w-heading);font-variant-numeric:tabular-nums}.ld-compare tbody th span{font-weight:400;font-size:var(--fs-caption);color:var(--muted);display:block}.ld-compare td.k{background:var(--tint);font-variant-numeric:tabular-nums}.ld-compare td.k b{letter-spacing:-.02em;color:var(--brand);font-size:1.25rem}.ld-compare td.k em{font-style:normal;font-size:var(--fs-caption);font-weight:var(--w-ui);color:#92400e;padding:var(--s-0) var(--s-2);margin-left:var(--s-2);background:#fef3c7;border-radius:99px}.ld-compare td.flat{border-left:1px solid var(--line);text-align:center;background:var(--paper-2);color:var(--muted);width:30%}.ld-compare td.flat b{color:var(--ink-2);font-size:1.25rem;display:block}.ld-compare td.flat span{margin-top:var(--s-2);font-size:var(--fs-small);display:block}.ld-check{gap:var(--s-7);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-4);padding:clamp(var(--s-5),3vw,var(--s-7));grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}.ld-check-form{gap:var(--s-4);align-content:start;display:grid}.ld-check label{gap:var(--s-2);font-size:var(--fs-small);font-weight:var(--w-ui);color:var(--ink-2);display:grid}.ld-hint{font-weight:400;font-size:var(--fs-caption);color:var(--muted)}.ld-check input,.ld-check select{font:inherit;min-height:2.875rem;padding:0 var(--s-3);border-radius:var(--r-1);color:var(--ink);background:#fff;border:1.5px solid #cbd5e1;width:100%;font-weight:500}.ld-check select{appearance:none;padding-right:var(--s-7);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231E40AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right var(--s-3) center}.ld-check input:focus,.ld-check select:focus{border-color:var(--brand)}.ld-check-res{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.ld-check-res>div{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-3) var(--s-4);background:#fff}.ld-check-res .kr{background:var(--brand-action);color:#fff;border-color:#0000}.ld-check-res small{font-size:var(--fs-caption);font-weight:var(--w-ui);opacity:.85;display:block}.ld-check-res b{font-size:1.75rem;font-weight:var(--w-heading);letter-spacing:-.04em;margin-top:var(--s-1);font-variant-numeric:tabular-nums;display:block}.ld-check-res span{font-size:var(--fs-caption);opacity:.85}.ld-verdict{font-size:var(--fs-body);color:var(--ink);min-height:3em;line-height:1.5}.ld-check-chart{min-width:0}.ld-faq{gap:var(--s-8);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;display:grid}.ld-faq .ld-head{margin:0;position:sticky;top:7rem}.ld details{border-top:1px solid #cbd5e1}.ld details:last-child{border-bottom:1px solid #cbd5e1}.ld summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-1);min-height:2.75rem;font-weight:var(--w-heading);font-size:var(--fs-lead);letter-spacing:-.01em;list-style:none;display:flex}.ld summary::-webkit-details-marker{display:none}.ld summary:after{content:"";background:linear-gradient(var(--brand),var(--brand)) center/12px 2px no-repeat,linear-gradient(var(--brand),var(--brand)) center/2px 12px no-repeat;border:1.5px solid #cbd5e1;border-radius:50%;flex:none;width:2rem;height:2rem;transition:transform .3s}.ld details[open] summary:after{border-color:var(--amber);transform:rotate(45deg)}.ld summary:hover{color:var(--brand)}.ld details p{padding:0 var(--s-1) var(--s-5);max-width:40rem;color:var(--ink-2)}.ld-final{background:var(--brand-strong);color:#fff;padding-block:clamp(var(--s-8),10vw,var(--s-10))}.ld-final-in{gap:var(--s-7);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;display:grid}.ld-final h2{color:#fff;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:var(--w-display);letter-spacing:-.045em;line-height:1}.ld-final h2 span{display:block}.ld-terms{font-size:var(--fs-small);color:#dbeafe;line-height:1.8}.ld-terms b{color:#fff;font-weight:var(--w-ui)}.ld-foot{border-top:1px solid var(--line);padding-block:var(--s-7);font-size:var(--fs-small);color:var(--muted);background:#fff}.ld-foot-in{gap:var(--s-5) var(--s-8);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.ld-foot nav{gap:var(--s-1) var(--s-5);flex-wrap:wrap;display:flex}.ld-foot nav a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.ld-foot nav a:hover{color:var(--brand)}.ld-foot p{font-size:var(--fs-caption);flex-basis:100%}@media (width<=1020px){.ld-hero-grid,.ld-price-grid,.ld-faq,.ld-final-in,.ld-trades-in,.ld-trust-in,.ld-feat,.ld-demo-book,.ld-demo-dash,.ld-check{grid-template-columns:minmax(0,1fr)}.ld-faq .ld-head{position:static}.ld-stack{gap:var(--s-3);min-height:0;display:grid}.ld-stack:before{display:none}.ld-card{width:100%;max-width:26rem;position:relative;inset:auto}.ld-c2{margin-left:auto}.ld-tag{position:static}.ld-links{display:none}.ld-demo-book .ld-phone{order:-1}.ld-feat{gap:var(--s-5)}}@media (width<=720px){.ld-nav-in{gap:var(--s-2)}.ld a.ld-login{padding:0 var(--s-2)}.ld-btn-sm{padding:0 var(--s-3)}.ld-brand .logo{width:auto;height:1.75rem}.ld-win{grid-template-columns:minmax(0,1fr)}.ld-side{display:none}.ld-kpis,.ld-twocol,.ld-convo{grid-template-columns:minmax(0,1fr)}.ld-threads{display:none}.ld-check-res{grid-template-columns:1fr}.ld-compare th,.ld-compare td{padding:var(--s-3)}.ld-compare td.flat{width:auto}.ld-facts-list div{grid-template-columns:6rem 1fr}.ld-hero .ld-cta .ld-btn,.ld-final .ld-cta .ld-btn{flex:100%}}@media (prefers-reduced-motion:reduce){.ld *,.ld :before,.ld :after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}html{scroll-behavior:smooth}.skip-link{color:#fff;z-index:1000;background:#000;padding:.75rem 1.25rem;text-decoration:none;position:absolute;top:-80px;left:0}.skip-link:focus{top:0}@media (width<=600px){main{margin:1rem auto}}h1{margin-bottom:1rem}.business-logo{width:auto;max-width:240px;height:auto;max-height:80px;margin-bottom:.75rem;display:block}button{font:inherit;border:1px solid var(--brand);background:var(--brand-action);color:#fff;cursor:pointer;border-radius:10px;min-height:44px;padding:.5rem 1.25rem;font-weight:600;transition:transform .15s,box-shadow .2s,filter .2s;box-shadow:inset 0 1px #ffffff29,0 6px 14px -8px #1e40afb3}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.public-booking-page button[type=submit],.public-booking-page .slot-button.selected{background:var(--accent,var(--brand));border-color:var(--accent,var(--brand))}.business-description{font-style:italic}.business-registration{margin:.25rem 0 .5rem;font-size:.9rem}.business-registration-disclaimer{color:#666;font-size:.8rem}.business-trade-badge{background:var(--accent,var(--brand));color:#fff;letter-spacing:.02em;border-radius:999px;margin:.25rem 0 .5rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.business-social-links a{color:var(--accent,var(--ink-2))}.business-confirmation-message{white-space:pre-wrap}button:disabled{opacity:.6;cursor:not-allowed}@media (width>=900px) and (pointer:fine){button,.button-link,.calendar-dropdown-item,.email-suggestion-button{min-height:38px}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.error{color:#b00020}td .error{margin-top:.25rem;font-size:.85rem}td select{font:inherit;padding:.25rem}@media (width<=900px){td select{min-height:44px;padding:.5rem}}.success{color:#1a7f37}.button-danger{background:#b00020;border-color:#b00020}.button-danger:hover:not(:disabled){background:#8f001a;border-color:#8f001a}.danger-zone{border:1px solid #b00020;border-radius:4px;margin-top:.5rem;padding:1rem}nav{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 1px #0f172a05,0 8px 20px -18px #1e40af73}nav a{color:inherit;padding:.25rem 0;font-weight:500;text-decoration:none}nav a:hover{color:var(--link)}nav a.nav-brand{align-items:center;margin-right:.75rem;padding:0;display:inline-flex}.logo{height:auto;display:block}.booking-brand{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.78rem;display:flex}.app-footer{border-top:1px solid #ccc;justify-content:center;gap:1.5rem;margin-top:2rem;padding:1.5rem 1rem;font-size:.85rem;display:flex}.app-footer a{color:#555}.legal-page{max-width:700px}.legal-page h2{margin-top:1.5rem}.legal-links{font-size:.9rem}@media print{.app-footer{display:none!important}}nav a.active{color:var(--link);box-shadow:inset 0 -3px 0 var(--amber);font-weight:600;text-decoration:none}nav .nav-logout{color:inherit;margin-left:auto;text-decoration:none}@media (width<=900px){nav a,nav .nav-logout{align-items:center;min-height:44px;padding:0 .125rem;display:flex}}@media (width<=600px){nav{gap:.25rem 1.25rem;padding:.5rem 1rem;font-size:.95rem}}form{flex-direction:column;gap:1rem;max-width:480px;display:flex}form.form-wide{max-width:700px}.field{flex-direction:column;gap:.25rem;display:flex}.field label{font-weight:600}.field input,.field textarea,.field select{font:inherit;border:1px solid #ccc;border-radius:4px;min-height:44px;padding:.5rem}form button{align-self:flex-start}.field-checkbox{flex-direction:row;align-items:center;gap:.5rem}.field-checkbox label{font-weight:400}.field-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background:0 0;border:none;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;position:relative}.field-checkbox input[type=checkbox]:before{content:"";box-sizing:border-box;background:#ccc;border:1px solid #999;border-radius:999px;width:40px;height:22px;transition:background .15s,border-color .15s;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.field-checkbox input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 1px 2px #0000004d}.field-checkbox input[type=checkbox]:checked:before{background:var(--brand);border-color:var(--brand)}.field-checkbox input[type=checkbox]:checked:after{transform:translate(18px,-50%)}.field-checkbox input[type=checkbox]:focus-visible:before{outline:2px solid var(--brand);outline-offset:2px}.booking-confirmation{flex-direction:column;gap:1.5rem;max-width:480px;display:flex}.confirmation-summary,.confirmation-business{background:#fafafa;border:1px solid #ccc;border-radius:4px;padding:1rem}.confirmation-summary h2,.confirmation-business h2{margin:0 0 .5rem;font-size:1.1rem}.confirmation-summary p,.confirmation-business p{margin:.25rem 0}.confirmation-actions{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.button-link{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:4px;justify-content:center;align-items:center;min-height:44px;padding:.5rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.calendar-dropdown{position:relative}.calendar-dropdown-menu{z-index:10;background:#fff;border:1px solid #ccc;border-radius:4px;flex-direction:column;min-width:260px;display:flex;position:absolute;top:calc(100% + .35rem);left:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.calendar-dropdown-item{box-sizing:border-box;min-height:44px;color:var(--ink-2);border-bottom:1px solid #eee;padding:.75rem 1rem;text-decoration:none;display:block}.calendar-dropdown-item:last-child{border-bottom:none}.calendar-dropdown-item:hover,.calendar-dropdown-item:focus-visible{background:#f5f5f5}.phone-input-group{align-items:stretch;display:flex}.phone-prefix{box-sizing:border-box;min-height:44px;color:var(--ink-2);white-space:nowrap;background:#f5f5f5;border:1px solid #ccc;border-right:none;border-radius:4px 0 0 4px;align-items:center;padding:.5rem;font-weight:600;display:flex}.phone-input-group input{border-radius:0 4px 4px 0;flex:1;min-width:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.email-suggestions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.email-suggestion-button{color:var(--ink-2);background:#fff;min-height:44px;padding:.25rem .75rem;font-size:.9rem}.photo-selection-summary{color:#666;margin:0;font-size:.9rem}.camera-support-note{color:#666;margin:0;font-size:.85rem}.date-picker{max-width:320px}.date-picker-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.date-picker-toolbar button{padding:.5rem .75rem}.date-picker-month-label{font-weight:600}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-weekday{text-align:center;color:#666;padding:.25rem 0;font-size:.75rem;font-weight:600}.date-picker-weekday.closed{color:#b00020}.date-picker-cell{aspect-ratio:1;color:var(--ink-2);font:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.date-picker-cell:hover:not(:disabled){background:#f5f5f5}.date-picker-cell.empty{cursor:default;background:0 0;border:none}.date-picker-cell.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.date-picker-cell:disabled{cursor:not-allowed;color:#bbb;background:#f5f5f5;border-color:#eee}.date-picker-cell.closed:disabled{color:#c99;background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 4px,#ececec 4px 8px)}.closed-day-message{color:#8a6d1f;background:#fdf6e3;border:1px solid #d4a72c;border-radius:4px;margin:0;padding:.5rem .75rem}.zone-warning{color:#8a6d1f;background:#fdf6e3;border:1px solid #d4a72c;border-radius:4px;margin:0 0 .5rem;padding:.5rem .75rem}@media (width<=500px){.date-picker-grid{gap:2px}}.photo-thumb-gallery{flex-wrap:wrap;gap:.25rem;display:flex}.photo-thumb{object-fit:cover;border:1px solid #ccc;border-radius:4px;width:48px;height:48px;display:block}.photo-thumb-loading,.photo-thumb-error{color:#666;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:48px;height:48px;font-size:.85rem;display:flex}.photo-thumb-error{color:#b00020;font-weight:700}.photo-none{color:#666}.secondary-button{color:var(--ink-2);background:#fff}.star-input{gap:.25rem;display:flex}.star-button{color:#ccc;cursor:pointer;background:0 0;border:none;padding:0;font-size:2rem;line-height:1}.star-button.star-filled{color:#f5a623}.reviews-display,.reviews-list{margin:1rem 0}.reviews-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.review-item{border:1px solid #e0e0e0;border-radius:6px;padding:.75rem}.review-item.review-hidden{opacity:.75;background:#fafafa}.review-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.review-rating{color:#f5a623;letter-spacing:1px}.review-customer{font-weight:600}.review-date{color:#666;font-size:.85rem}.review-comment{margin:.5rem 0 0}.review-job{color:#666;margin:.25rem 0 0;font-size:.85rem}.review-hidden-note{color:#b45309;margin:.25rem 0 .5rem;font-size:.85rem;font-style:italic}.reviews-average{font-size:1.1rem}.cancel-confirm{flex-direction:column;gap:.75rem;width:100%;max-width:400px;display:flex}.cancel-confirm p{margin:0}.cancel-form-buttons,.slot-grid{flex-wrap:wrap;gap:.5rem;display:flex}.slot-button{color:var(--ink-2);background:#fff}.slot-button.selected{background:var(--brand);color:#fff}table{border-collapse:collapse;width:100%}@media (width<=900px){table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}}th,td{text-align:left;border:1px solid #ccc;padding:.5rem .75rem}th{background:#f5f5f5}.view-toggle{gap:.5rem;margin:1rem 0;display:flex}.kanban-board{gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.kanban-column{background:#fafafa;border:1px solid #ccc;border-radius:4px;flex:0 0 260px;padding:.75rem}.kanban-column h3{text-transform:capitalize;margin:0 0 .75rem}.kanban-card{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.5rem}.kanban-card-title{margin-top:0;font-weight:600}.kanban-card-actions{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.kanban-card-actions button{padding:.25rem .5rem;font-size:.8rem}@media (width<=600px){.kanban-board{flex-direction:column}.kanban-column{flex:auto}}.item-rows{flex-direction:column;gap:.5rem;display:flex}.item-row{grid-template-columns:2fr 1fr 1fr auto;gap:.5rem;display:grid}.item-row input{font:inherit;border:1px solid #ccc;border-radius:4px;min-width:0;min-height:44px;padding:.5rem}@media (width<=600px){.item-row{grid-template-columns:1fr}.item-row button{width:100%}}.invoice-preview{background:#f5f5f5;border-radius:4px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.link-button{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}@media (width<=900px){.link-button{align-items:center;min-height:44px;display:inline-flex}}.payment-section{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1rem;display:flex}.payment-form{flex-direction:column;gap:.75rem;width:100%;max-width:400px;display:flex}.card-element-wrapper{background:#fff;border:1px solid #ccc;border-radius:4px;padding:.75rem}.customer-detail{padding:.5rem 0 1rem}.customer-detail h3{margin:1.25rem 0 .5rem}.customer-detail .field{max-width:480px}.customer-detail textarea{font:inherit;border:1px solid #ccc;border-radius:4px;padding:.5rem}.hours-grid{flex-direction:column;gap:.5rem;max-width:560px;margin-bottom:1rem;display:flex}.hours-row{grid-template-columns:100px 90px 1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.hours-day-label{font-weight:600}.hours-closed-toggle{align-items:center;gap:.5rem;font-weight:400;display:flex}.hours-row input[type=time]{font:inherit;border:1px solid #ccc;border-radius:4px;min-height:44px;padding:.5rem}@media (width<=900px){.hours-closed-toggle input[type=checkbox]{appearance:none;cursor:pointer;background:0 0;border:none;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;position:relative}.hours-closed-toggle input[type=checkbox]:before{content:"";box-sizing:border-box;background:#ccc;border:1px solid #999;border-radius:999px;width:40px;height:22px;transition:background .15s,border-color .15s;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.hours-closed-toggle input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 1px 2px #0000004d}.hours-closed-toggle input[type=checkbox]:checked:before{background:var(--brand);border-color:var(--brand)}.hours-closed-toggle input[type=checkbox]:checked:after{transform:translate(18px,-50%)}.hours-closed-toggle input[type=checkbox]:focus-visible:before{outline:2px solid var(--brand);outline-offset:2px}.hours-row{grid-template-columns:100px 120px 1fr auto 1fr}}@media (width<=560px){.hours-grid{max-width:100%}.hours-row{border-bottom:1px solid #eee;flex-wrap:wrap;row-gap:.5rem;padding-bottom:.75rem;display:flex}.hours-day-label,.hours-closed-toggle,.hours-row input[type=time]{flex:100%}}.team-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.team-calendar-column{background:#fafafa;border:1px solid #ccc;border-radius:4px;padding:1rem}.team-calendar-column.unavailable{background:#fdf6e3;border-color:#d4a72c}.team-calendar-column-header{margin-bottom:.75rem}.team-calendar-column-header h3{margin:0 0 .5rem}.skill-tags{flex-wrap:wrap;gap:.25rem;margin:.25rem 0;display:flex}.skill-tag{background:var(--brand);color:#fff;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.no-skills{color:#666;font-size:.85rem}.unavailable-badge{color:#8a6d1f;margin:.25rem 0 0;font-weight:600}.team-calendar-empty{color:#666;font-size:.9rem}.team-calendar-job{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.5rem .75rem}.team-calendar-job p{margin:.125rem 0}.team-calendar-job-time{font-weight:600}.team-calendar-job-description{color:#444;font-size:.9rem}.team-calendar-job-status{color:#666;text-transform:capitalize;font-size:.8rem}.skills-editor{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.skills-editor input{font:inherit;border:1px solid #ccc;border-radius:4px;min-width:180px;min-height:44px;padding:.5rem}.skills-display{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.activity-log-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.activity-log-entry{background:#fafafa;border:1px solid #eee;border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.5rem .85rem;display:flex}.activity-log-time{color:#666;white-space:nowrap;font-size:.85rem}.activity-log-actor{font-weight:600}.activity-log-details{color:var(--ink-2)}.assignment-display{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.assignment-editor{flex-direction:column;gap:.25rem;min-width:200px;display:flex}.assignment-editor-option{align-items:center;gap:.5rem;font-weight:400;display:flex}.suggested-badge{color:#fff;background:#1a7f37;border-radius:999px;padding:.125rem .5rem;font-size:.7rem}.after-hours-badge{background:var(--brand-strong);color:#fff;white-space:nowrap;border-radius:999px;padding:.125rem .5rem;font-size:.7rem}.urgency-badge{white-space:nowrap;border-radius:999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.urgency-badge.urgency-high{color:#fff;background:#b91c1c}.urgency-badge.urgency-medium{color:#fff;background:#d97706}.urgency-badge.urgency-low{color:var(--ink-2);background:#e5e7eb}.no-show-badge{color:#fff;white-space:nowrap;background:#7c2d12;border-radius:999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.no-show-button{margin-top:.25rem;font-size:.85rem;display:block}.sms-conversations-list{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.sms-conversation-item{border:1px solid #e0e0e0;border-radius:6px;padding:.75rem}.sms-conversation-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.conv-phone{font-weight:600}.conv-state{background:#f0f0f0;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.conv-language{color:#1e3a8a;text-transform:uppercase;background:#dbeafe;border-radius:999px;padding:.125rem .5rem;font-size:.7rem}.new-conversation-badge{color:#fff;background:#16a34a;border-radius:999px;padding:.125rem .5rem;font-size:.7rem;font-weight:700}.rating-control{align-items:center;gap:.25rem;margin-top:.5rem;display:flex}.rating-control button{padding:.25rem .5rem}.conv-rating{color:#666;font-size:.85rem}.assignment-editor-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.assignment-suggest-note{color:#666;max-width:240px;margin:.25rem 0 0;font-size:.8rem}.clock-in-button{background:#1a7f37;border-color:#1a7f37}.clock-out-button{background:#b00020;border-color:#b00020}.clocked-in-note{color:#1a7f37;font-size:.8rem;font-weight:600}.busy-badge{color:#fff;background:#b00020;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.available-badge{color:#fff;background:#1a7f37;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.leaderboard-list{flex-direction:column;gap:.5rem;max-width:480px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{background:#fafafa;border:1px solid #ccc;border-radius:4px;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.leaderboard-rank{min-width:2.5rem;font-weight:700}.leaderboard-name{flex:1;font-weight:600}.leaderboard-count{color:#666}.leaderboard-row:first-child{background:#f0f9f2;border-color:#1a7f37}.leaderboard-toggle{gap:.5rem;margin-bottom:1rem;display:flex}.team-tabs{border-bottom:1px solid #ccc;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.team-tab{color:var(--ink-2);background:#fff;border:1px solid #ccc;border-radius:999px;padding:.5rem 1rem}.team-tab.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.team-tab-panel h2{margin-top:0}.skill-preset-editor{flex-direction:column;gap:.5rem;min-width:260px;display:flex}.skill-preset-options{flex-wrap:wrap;gap:.5rem;display:flex}.skill-preset-chip{color:var(--ink-2);background:#fff;border:1px solid #ccc;border-radius:999px;min-height:36px;padding:.25rem .75rem;font-size:.85rem}.skill-preset-chip.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.skill-other-input{gap:.5rem;display:flex}.skill-other-input input{font:inherit;border:1px solid #ccc;border-radius:4px;flex:1;min-width:0;min-height:40px;padding:.5rem}.skill-tag.removable{align-items:center;gap:.25rem;display:inline-flex}.skill-tag.removable button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.availability-manager{flex-direction:column;gap:.5rem;min-width:240px;display:flex}.availability-manager-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.availability-manager-list li{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.availability-manager-form{flex-wrap:wrap;gap:.5rem;display:flex}.availability-manager-form input[type=date],.availability-manager-form input[type=text]{font:inherit;border:1px solid #ccc;border-radius:4px;min-height:36px;padding:.25rem}.dashboard-chart-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.dashboard-chart-grid h4{margin:0 0 .5rem}.bar-chart{margin-bottom:1.5rem}.bar-chart-vertical{border-bottom:1px solid #ccc;align-items:flex-end;gap:.5rem;height:180px;margin-bottom:1.5rem;display:flex;overflow-x:auto}.bar-chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.25rem;min-width:18px;height:100%;display:flex}.bar-chart-value{color:#666;white-space:nowrap;min-height:1em;font-size:.65rem}.bar-chart-bar-vertical{background:var(--brand);border-radius:3px 3px 0 0;width:60%;min-width:8px;transition:height .2s}.bar-chart-label{color:#666;white-space:nowrap;font-size:.65rem}.bar-chart-horizontal{flex-direction:column;gap:.5rem;display:flex}.bar-chart-row{grid-template-columns:100px 1fr auto;align-items:center;gap:.5rem;display:grid}.bar-chart-row-label{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.bar-chart-track{background:#f0f0f0;border-radius:4px;height:20px;overflow:hidden}.bar-chart-bar-horizontal{background:var(--brand);border-radius:4px;height:100%;transition:width .2s}.bar-chart-row-value{color:#666;text-align:right;min-width:3ch;font-size:.8rem}@media (width<=600px){.bar-chart-row{grid-template-columns:80px 1fr auto}}.performance-summary-box{background:#fafafa;border:1px solid #ccc;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem 2rem;display:inline-block}.performance-summary-total{font-size:2.5rem;font-weight:700;line-height:1.2}.owner-badge{background:var(--brand);color:#fff;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.comparison-change{margin-top:.25rem;font-size:.9rem;font-weight:600}.comparison-up{color:#1a7f37}.comparison-down{color:#b00020}.comparison-flat{color:#666}.export-buttons{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.reports-print-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.reports-print-button{color:var(--ink-2);background:#fff}.custom-range-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0 1.5rem;display:flex}.custom-range-form input[type=date]{font:inherit;border:1px solid #ccc;border-radius:4px;min-height:44px;padding:.5rem}@media print{nav,.reports-print-button,.custom-range-form,.team-tabs,.leaderboard-toggle,.export-buttons{display:none!important}main{max-width:100%;margin:0;padding:0}.bar-chart-bar-vertical,.bar-chart-bar-horizontal,.performance-summary-box,.owner-badge,.skill-tag,.busy-badge,.available-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}table,.bar-chart-vertical,.bar-chart-horizontal,.performance-summary-box{break-inside:avoid}}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:#fff;border-radius:6px;width:100%;max-width:700px;padding:1.5rem;position:relative}.modal-close{min-height:32px;padding:0 .75rem;font-size:1.25rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.job-modal-meta{color:#555;margin-top:-.5rem}.job-modal-section{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1.5rem}.job-modal-section h3{margin-bottom:.5rem}.job-mileage{color:#555;margin:.5rem 0;font-size:.9rem}.job-route-map{margin-top:.5rem}.job-route-map img{border:1px solid #ddd;border-radius:6px;max-width:100%}.job-checklist{margin:0 0 .75rem;padding:0;list-style:none}.job-checklist li{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.checklist-done{color:#888;text-decoration:line-through}.inline-add-form{gap:.5rem;display:flex}.checklist-suggestions{margin-bottom:.5rem}.checklist-suggestion-chips{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.checklist-suggestion-chip{color:#4a3d8f;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.25rem .75rem;font-size:.8rem}.checklist-suggestion-chip:hover{background:#dbeafe}@media (width<=600px){.checklist-suggestion-chip{min-height:44px;padding:.5rem .9rem}}.inline-add-form input{flex:1}.job-part-form{flex-wrap:wrap}.job-part-form input{flex:auto;min-width:8rem}.job-parts-table{width:100%;margin-bottom:.75rem}.job-photo-thumb-wrap{display:inline-block;position:relative}.photo-thumb-remove{background:#b00020;border-color:#b00020;border-radius:50%;width:24px;min-height:24px;padding:0;line-height:1;position:absolute;top:-.5rem;right:-.5rem}.job-profitability-note{color:#555;font-size:.85rem}.reschedule-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.booking-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.booking-filters .field{margin-bottom:0}.field-hint{color:#555;margin-top:.25rem;font-size:.85rem;display:block}.trade-preset-preview{background:#f7f7f9;border:1px solid #ddd;border-radius:6px;margin:-.5rem 0 1rem;padding:.75rem 1rem}.trade-preset-preview h3{margin:0 0 .5rem;font-size:1rem}.trade-preset-preview p{color:#444;margin:.5rem 0;font-size:.85rem}.logo-preview{border:1px solid #ddd;border-radius:4px;max-width:200px;max-height:100px;margin-bottom:.75rem;padding:.5rem;display:block}.invoice-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.invoice-filters .field{margin-bottom:0}.invoice-bulk-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.invoice-late-fee-details{margin:1rem 0}.invoice-late-fee-details summary{cursor:pointer;font-weight:700}.invoice-late-fee-details .field{margin-top:.75rem}.invoice-detail-actions{border-top:1px solid #ddd;border-bottom:1px solid #ddd;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem 0;display:flex}.invoice-download-pdf-button{padding:.75rem 1.5rem;font-size:1.05rem;font-weight:700}.invoice-notes{white-space:pre-wrap;margin:1rem 0}.invoice-deposit-section{background:#f4f4f4;border-radius:4px;margin:1rem 0;padding:.75rem}.invoice-late-fee-warning{color:#b00020;background:#fdecea;border-radius:4px;margin:1rem 0;padding:.75rem}@media print{nav,h1,.invoice-filters,.invoice-bulk-bar,form.form-wide,thead,.invoice-summary-row,.invoice-detail-actions,.payment-section,input[type=checkbox]{display:none!important}main{max-width:100%;margin:0;padding:0}}.customer-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.customer-filters .field{margin-bottom:0}.customer-favorites-toggle{align-items:center;gap:.5rem;display:flex}.customer-favorite-star{font-size:1.25rem;text-decoration:none}.repeat-customer-badge{color:#1a56db;vertical-align:middle;background:#e8f0fe;border-radius:10px;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.customer-contact-links{margin-top:-.5rem}.customer-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.tag-chip{background:#eee;border-radius:12px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.9rem;display:inline-flex}.tag-chip-remove{color:#555;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;line-height:1}.customer-segments,.customer-duplicates,.customer-import{background:#fafafa;border:1px solid #ccc;border-radius:4px;margin-bottom:1rem;padding:1rem}.customer-segments h2,.customer-duplicates h2,.customer-import h2{margin-top:0;font-size:1.1rem}.customer-segments-list{flex-direction:column;gap:.25rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.customer-segments-list li{align-items:center;gap:.5rem;display:flex}.customer-duplicates-list{flex-direction:column;gap:1rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.customer-duplicate-pair{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.75rem}.customer-duplicate-pair p{margin:.25rem 0}.customer-duplicate-candidates{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.customer-duplicate-candidate{background:#fafafa;border:1px solid #eee;border-radius:4px;padding:.5rem}.customer-import-result ul{margin:.25rem 0 0;padding-left:1.25rem}.customer-bulk-toolbar{background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.customer-bulk-toolbar input[type=text]{min-height:0;padding:.25rem .5rem}.customer-photo-section{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.customer-photo{object-fit:cover;border:1px solid #ccc;border-radius:50%;width:64px;height:64px}.customer-comms-timeline{flex-direction:column;gap:.5rem;max-height:320px;margin:0 0 1rem;padding:0;list-style:none;display:flex;overflow-y:auto}.comms-entry{background:#fafafa;border-left:3px solid #999;padding:.25rem .5rem}.comms-entry.comms-failed{border-left-color:#b00020}.comms-entry-meta{color:#555;margin:0;font-size:.8rem}.comms-entry-content{margin:.25rem 0 0}.install-prompt-banner{background:var(--tint);border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 1rem 1rem;padding:.75rem 1rem;display:flex}.install-prompt-banner p{flex:220px;margin:0}.install-prompt-note{color:#555;flex-basis:100%;font-size:.85rem}.install-prompt-actions{flex-shrink:0;gap:.5rem;display:flex}.offline-banner{z-index:50;color:#ffe9a8;text-align:center;background:#3a2a00;padding:.5rem 1rem;font-size:.9rem;position:sticky;top:0}.offline-mutation-error{color:#b00020;font-weight:600}@media (width<=900px) and (orientation:landscape) and (height<=500px){nav{flex-wrap:nowrap;padding:.25rem .75rem;overflow-x:auto}}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f5f5f5}.certificate-detail fieldset{border:none;margin:0 0 1.5rem;padding:0}.certificate-detail fieldset:disabled{opacity:.75}.certificate-detail h2{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1rem}.certificate-actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.certificate-actions .issue-button{color:#fff;background:#0a7d2e;border-color:#0a7d2e}.issue-problems{background:#fdf1f1;border:1px solid #e5b3b3;border-radius:6px;margin:.5rem 0;padding:.5rem 1rem}.issue-problems ul{margin:.25rem 0 0;padding-left:1.2rem}.inspection-schedule-table{width:100%;font-size:.85rem}.inspection-schedule-table th,.inspection-schedule-table td{vertical-align:top;text-align:left;padding:.5rem}.inspection-schedule-table td:nth-child(3) select{min-width:220px}.inspection-schedule-table td:nth-child(4) input{width:100%;min-width:140px}.circuit-editor{border:1px solid #ddd;border-radius:6px;margin-bottom:.75rem;padding:.75rem 1rem}.circuit-editor-header{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.circuit-editor-header input{flex:160px}.circuit-editor-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;display:grid}.circuit-editor-grid label{flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.observation-row{gap:.5rem;margin-bottom:.5rem;display:flex}.observation-row input{flex:1}@media (width<=600px){.inspection-schedule-table,.inspection-schedule-table thead,.inspection-schedule-table tbody,.inspection-schedule-table tr{width:100%;display:block}.inspection-schedule-table thead{display:none}.inspection-schedule-table tr{border-bottom:1px solid #ddd;margin-bottom:.5rem;padding-bottom:.5rem}.inspection-schedule-table td{width:100%;display:block}.inspection-schedule-table td:nth-child(3) select,.inspection-schedule-table td:nth-child(4) input{width:100%;min-height:44px}}.trades-showcase{max-width:900px}.trades-showcase-intro{color:#555;max-width:600px}.trades-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin:1.5rem 0;display:grid}.trade-card{color:#222;min-height:44px;font:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.75rem .5rem}.trade-card:hover{border-color:var(--brand)}.trade-card.selected{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.trade-detail{border-top:2px solid #eee;padding-top:1.5rem}.trade-detail section{margin-bottom:1.75rem}.trade-detail h3{margin-bottom:.25rem}.trade-quote-templates{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.trade-quote-template-card{border:1px solid #ddd;border-radius:6px;padding:.75rem 1rem}.trade-quote-template-card h4{margin:0 0 .25rem}.trade-quote-template-card ul{margin:.5rem 0;padding-left:1.1rem;font-size:.9rem}.trade-quote-template-total{margin:.5rem 0 0;font-weight:600}.trade-placeholder-example{color:#555;font-style:italic}.xero-connection,.whatsapp-toggle{max-width:500px}.connect-panel,.fee-panel{max-width:560px}.fee-figures{flex-wrap:wrap;gap:1.5rem;margin:1rem 0;display:flex}.fee-figure-label{color:#666;font-size:.8rem;display:block}.fee-figure-value{font-variant-numeric:tabular-nums;font-size:1.4rem;display:block}.fee-progress{background:#eee;border-radius:5px;height:10px;margin:.75rem 0;overflow:hidden}.fee-progress-bar{background:#2e7d32;border-radius:5px;height:100%}.fee-tier-table{border-collapse:collapse;width:100%;margin:.75rem 0}.fee-tier-table th,.fee-tier-table td{text-align:left;border-bottom:1px solid #eee;padding:.5rem .75rem;font-size:.9rem}.fee-tier-table td:last-child{font-variant-numeric:tabular-nums}.fee-tier-current{background:#f5f9f5;font-weight:600}.xero-badge{white-space:nowrap;border-radius:999px;padding:.25rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.xero-badge-synced{color:#0a7d2e;background:#e3f5e9}.xero-badge-failed{color:#b00020;cursor:help;background:#fdf1f1}.xero-badge-none{color:#999}.inbox-page{max-width:900px}.inbox-layout{border:1px solid #ddd;border-radius:8px;gap:1rem;height:70vh;min-height:400px;display:flex;overflow:hidden}.inbox-thread-list{border-right:1px solid #ddd;flex-shrink:0;width:320px;overflow-y:auto}.inbox-thread-list ul{margin:0;padding:0;list-style:none}.inbox-thread-item{text-align:left;color:#222;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #eee;width:100%;padding:.75rem 1rem;display:block}.inbox-thread-item:hover{background:#f7f7f7}.inbox-thread-item-active{background:#eef2ff}.inbox-thread-item-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.inbox-thread-name{align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.inbox-unread-dot{background:var(--accent,var(--brand));border-radius:50%;width:8px;height:8px;display:inline-block}.inbox-thread-time{color:#888;white-space:nowrap;font-size:.78rem}.inbox-thread-preview{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-top:.25rem;font-size:.85rem;display:block;overflow:hidden}.inbox-thread-view{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex}.inbox-thread-phone{color:#888;font-size:.85rem;font-weight:400}.inbox-back-button{cursor:pointer;text-align:left;color:#222;background:0 0;border:none;padding:0 0 .5rem;font-size:.9rem;display:none}.inbox-messages{flex-direction:column;flex:1;gap:.5rem;padding:.5rem 0;display:flex;overflow-y:auto}.inbox-bubble{border-radius:12px;max-width:75%;padding:.5rem .75rem}.inbox-bubble-inbound{background:#f0f0f0;align-self:flex-start}.inbox-bubble-outbound{background:var(--accent,var(--brand));color:#fff;align-self:flex-end}.inbox-bubble-content{white-space:pre-wrap;word-break:break-word;margin:0}.inbox-bubble-meta{opacity:.75;margin:.25rem 0 0;font-size:.72rem}.inbox-bubble-failed{color:#ffb3b3}.inbox-bubble-outbound .inbox-bubble-failed{color:#ffd6d6}.inbox-send-form{gap:.5rem;margin-top:.5rem;display:flex}.inbox-send-form input{flex:1}@media (width<=700px){.inbox-layout{height:auto;min-height:60vh}.inbox-back-button{display:block}.inbox-mobile-thread-open .inbox-thread-list,.inbox-page:not(.inbox-mobile-thread-open) .inbox-thread-view{display:none}.inbox-thread-list{border-right:none;width:100%}}body{background:var(--paper-2)}main{max-width:900px;margin:var(--s-6) auto;padding:0 var(--s-4)}main.page-wide{max-width:1200px}@media (width<=600px){main{margin:var(--s-4) auto}}h1{font-size:1.75rem;font-weight:var(--w-heading);letter-spacing:-.03em;margin:0 0 var(--s-4);color:var(--ink);line-height:1.2}h2{font-size:1.125rem;font-weight:var(--w-heading);letter-spacing:-.015em;color:var(--ink)}h3{font-size:1rem;font-weight:var(--w-ui);color:var(--ink)}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.page-head h1{margin:0}.page-head .sub{margin:var(--s-1) 0 0;color:var(--muted);font-size:var(--fs-small)}nav{z-index:30;align-items:center;gap:var(--s-1);min-height:4rem;padding:0 var(--s-5);border-bottom:1px solid var(--line);box-shadow:none;scrollbar-width:none;background:#fff;flex-wrap:nowrap;display:flex;position:sticky;top:0;overflow-x:auto}nav::-webkit-scrollbar{display:none}nav a,nav .nav-logout{white-space:nowrap;flex:none}nav a:not(.nav-brand){padding:var(--s-2) var(--s-3);border-radius:var(--r-1);font-size:var(--fs-small);color:var(--ink-2);font-weight:500}nav a:not(.nav-brand):hover{background:var(--tint);color:var(--brand)}nav a.active:not(.nav-brand){background:var(--tint);color:var(--brand);font-weight:var(--w-ui);box-shadow:inset 0 -2px 0 var(--amber)}nav a.nav-brand{margin-right:var(--s-3);padding:0}nav a.nav-brand.active{box-shadow:none;background:0 0}nav .nav-logout{padding:var(--s-2) var(--s-3);font-size:var(--fs-small);color:var(--muted);box-shadow:none;background:0 0;border:0;margin-left:auto;font-weight:500}nav .nav-logout:hover{color:var(--brand);background:var(--tint);filter:none;transform:none}@media (width<=900px){nav{padding:0 var(--s-3);min-height:3.5rem}nav a:not(.nav-brand),nav .nav-logout{align-items:center;min-height:2.75rem;display:inline-flex}}.panel{border:1px solid var(--line);border-radius:var(--r-3);background:#fff;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);display:flex}.panel-head h2{margin:0}.panel-body{padding:var(--s-5)}.panel .table-scroll{overflow-x:auto}.pill{align-items:center;gap:var(--s-1);padding:var(--s-1) var(--s-3);font-size:var(--fs-caption);font-weight:var(--w-ui);white-space:nowrap;color:#334155;background:#e2e8f0;border-radius:999px;line-height:1.2;display:inline-flex}.pill-ok,.status-completed{color:#166534;background:#dcfce7}.pill-warn,.status-pending{color:#92400e;background:#fef3c7}.pill-crit{color:#991b1b;background:#fee2e2}.pill-info,.status-confirmed{color:#1e3a8a;background:#dbeafe}.pill-solid,.status-in_progress{background:var(--brand);color:#fff}.status-cancelled{color:#475569;background:#e2e8f0}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font:inherit;color:var(--ink);min-height:2.75rem;padding:0 var(--s-3);border-radius:var(--r-1);background:#fff;border:1.5px solid #cbd5e1}textarea{padding:var(--s-3)}input:focus,select:focus,textarea:focus{border-color:var(--brand)}.field{gap:var(--s-2)}.field label{font-size:var(--fs-small);font-weight:var(--w-ui);color:var(--ink-2)}.field-hint,.hint{font-size:var(--fs-caption);color:var(--muted);margin:0}p.error{border-radius:var(--r-1);padding:var(--s-3) var(--s-4);color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.btn-secondary,table button,.follow-up-actions button,.calendar-view-toggle button,.calendar-toolbar button{color:var(--ink);box-shadow:none;font-weight:var(--w-ui);background:#fff;border:1.5px solid #cbd5e1}.btn-secondary:hover:not(:disabled),table button:hover:not(:disabled),.follow-up-actions button:hover:not(:disabled),.calendar-view-toggle button:hover:not(:disabled),.calendar-toolbar button:hover:not(:disabled){background:var(--tint);border-color:var(--brand);color:var(--brand);filter:none}table button{min-height:2.25rem;padding:var(--s-1) var(--s-3);font-size:var(--fs-small)}table{border-collapse:separate;border-spacing:0;font-size:var(--fs-small);font-variant-numeric:tabular-nums}th{background:var(--paper-2);border:0;border-bottom:1px solid var(--line);padding:var(--s-3) var(--s-4);font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted)}td{border:0;border-bottom:1px solid var(--line);padding:var(--s-3) var(--s-4);vertical-align:middle}tbody tr:nth-child(2n){background:0 0}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--paper-2)}.stat-grid{gap:var(--s-3);margin:var(--s-4) 0 var(--s-5);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-4);background:#fff}.stat-number{font-size:1.5rem;font-weight:var(--w-heading);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat-label{font-size:var(--fs-caption);color:var(--muted);margin-top:var(--s-1)}.app-footer{border-top:1px solid var(--line);margin-top:var(--s-8);background:#fff}button.link-button{box-shadow:none;color:var(--link);text-underline-offset:3px;background:0 0;border:0;min-height:0;padding:0;font-weight:500;text-decoration:underline}button.link-button:hover:not(:disabled){color:var(--brand);filter:none;background:0 0;transform:none}nav button.nav-logout{color:var(--muted);padding:var(--s-2) var(--s-3);text-decoration:none}nav button.nav-logout:hover:not(:disabled){color:var(--brand);background:var(--tint)}main.auth-page{background:#fff;grid-template-columns:minmax(0,5fr) minmax(0,7fr);max-width:none;min-height:100vh;margin:0;padding:0;display:grid}.auth-aside{background:var(--brand-strong);color:#fff;padding:var(--s-8) var(--s-7);justify-content:space-between;gap:var(--s-8);flex-direction:column;display:flex}.auth-aside h2{color:#fff;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:var(--w-display);letter-spacing:-.04em;margin:0 0 var(--s-4);max-width:14ch;line-height:1.05}.auth-aside p{color:#dbeafe;font-size:var(--fs-lead);max-width:24rem;margin:0;line-height:1.55}.auth-aside .auth-terms{font-size:var(--fs-small);color:#bfdbfe}.auth-aside .auth-terms b{color:#fff;font-weight:var(--w-ui)}.auth-panel{padding:var(--s-7) var(--s-5);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:26rem}.auth-card h1{margin:0 0 var(--s-2);font-size:1.875rem}.auth-sub{color:var(--muted);margin:0 0 var(--s-6)}.auth-form{gap:var(--s-4);display:grid}.auth-form .field{flex-direction:column;display:flex}.auth-form button[type=submit]{width:100%;min-height:3rem;margin-top:var(--s-2);align-self:stretch}.field-row{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.field-row a{font-size:var(--fs-small)}.auth-alt{margin:var(--s-5) 0 0;color:var(--ink-2);font-size:var(--fs-small)}.auth-alt a,.auth-card .legal-links a{color:var(--link)}.auth-card .legal-links{margin:var(--s-6) 0 0;font-size:var(--fs-caption);color:var(--muted)}.auth-card p.error{margin:0 0 var(--s-4)}.auth-group{gap:var(--s-4);border:0;margin:0;padding:0;display:grid}.auth-group+.auth-group{margin-top:var(--s-2);padding-top:var(--s-5);border-top:1px solid var(--line)}.auth-group>legend{margin-bottom:var(--s-3);font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted);padding:0}.trade-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.trade-chip{position:relative}.trade-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.trade-chip span{min-height:2.5rem;padding:0 var(--s-3);font-size:var(--fs-small);color:var(--ink-2);background:#fff;border:1.5px solid #cbd5e1;border-radius:999px;align-items:center;font-weight:500;display:inline-flex}.trade-chip:hover span{border-color:var(--brand)}.trade-chip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.trade-chip input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}@media (width<=900px){main.auth-page{grid-template-columns:minmax(0,1fr);min-height:0}.auth-aside{padding:var(--s-5) var(--s-4);gap:0}.auth-aside>div:not(:first-child),.auth-aside .auth-terms{display:none}.auth-panel{padding:var(--s-6) var(--s-4) var(--s-8);align-items:flex-start}}.field-label{font-size:var(--fs-small);font-weight:var(--w-ui);color:var(--ink-2)}.auth-form .field-checkbox label{gap:var(--s-3);align-items:flex-start;font-weight:400;line-height:1.5;display:flex}.auth-form .field-checkbox input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--brand);box-shadow:none;background:0 0;border:0;flex:none;margin:.125rem 0 0}.auth-form .field-checkbox input[type=checkbox]:before,.auth-form .field-checkbox input[type=checkbox]:after{content:none}.dash-top{gap:var(--s-5);margin-bottom:var(--s-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;display:grid}.dash-empty{padding:var(--s-6) var(--s-5);color:var(--muted);margin:0}.today-list{margin:0;padding:0;list-style:none}.today-list li{gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);grid-template-columns:12rem minmax(0,1fr);align-items:baseline;display:grid}.today-list li:last-child{border-bottom:0}.tl-time{font-weight:var(--w-heading);font-variant-numeric:tabular-nums;color:var(--brand);white-space:nowrap}.tl-body{gap:var(--s-1);min-width:0;display:grid}.tl-body b{font-weight:var(--w-ui);color:var(--ink)}.tl-body span{color:var(--muted);font-size:var(--fs-small)}.dash-money .money-main{padding-bottom:var(--s-5);border-bottom:1px solid var(--line)}.stat-number.big{font-size:2.75rem;font-weight:var(--w-display);letter-spacing:-.045em;color:var(--ink);line-height:1.05}.money-lines{margin:0;display:grid}.money-lines>div{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--line);display:flex}.money-lines>div:last-child{border-bottom:0;padding-bottom:0}.money-lines dt{align-items:center;gap:var(--s-2);color:var(--ink-2);font-size:var(--fs-small);display:flex}.money-lines dd{margin:0;font-size:1.25rem}.money-lines .attn dd{color:#92400e}.dash-follow{margin-bottom:var(--s-5)}.follow-up-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.reminder-result{margin-top:var(--s-2);font-size:var(--fs-caption);line-height:1.5}.dash-follow td .success,.dash-follow td .error{font-size:var(--fs-caption)}.dash-bottom{gap:var(--s-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.dash-takeaway{margin:var(--s-4) 0;color:var(--ink-2);max-width:36rem;line-height:1.55}.leak-bar{background:#e2e8f0;border-radius:999px;height:.75rem;display:flex;overflow:hidden}.leak-bar .seg.a,.sw.a{background:#d97706}.leak-bar .seg.b,.sw.b{background:#dc2626}.leak-legend{margin:var(--s-3) 0 0;gap:var(--s-2) var(--s-5);font-size:var(--fs-small);color:var(--ink-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.leak-legend li{align-items:center;gap:var(--s-2);display:inline-flex}.leak-legend .sw{border-radius:3px;width:.75rem;height:.75rem;display:inline-block}.leak-legend b{font-variant-numeric:tabular-nums;color:var(--ink)}.pipe-lines{margin:0}.pipe-lines>div{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.pipe-lines>div:last-child{border-bottom:0}.pipe-lines dt{font-size:var(--fs-small);color:var(--ink-2);margin:0}.pipe-lines dd{margin:0;font-size:1.25rem}@media (width<=900px){.dash-top,.dash-bottom{grid-template-columns:minmax(0,1fr)}.today-list li{gap:var(--s-1);grid-template-columns:minmax(0,1fr)}.stat-number.big{font-size:2.25rem}.dash-follow table,.dash-follow tbody{display:block;overflow:visible}.dash-follow thead{display:none}.dash-follow tr{gap:var(--s-2) var(--s-4);padding:var(--s-4);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.dash-follow tbody tr:last-child{border-bottom:0}.dash-follow td{border:0;padding:0;display:block}.dash-follow td:before{content:attr(data-label);font-size:var(--fs-caption);color:var(--muted);display:block}.dash-follow td:first-child{font-weight:var(--w-ui);grid-column:1/-1}.dash-follow td:nth-child(4){margin-top:var(--s-2);grid-column:1/-1}.dash-follow td:nth-child(4):before{display:none}.dash-follow .follow-up-actions button{flex:auto}}.calendar-view-toggle{gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-2);background:#e2e8f0;display:inline-flex}.calendar-view-toggle button{min-height:2.25rem;padding:0 var(--s-4);box-shadow:none;color:var(--ink-2);border-radius:var(--r-1);font-weight:var(--w-ui);background:0 0;border:0}.calendar-view-toggle button:hover:not(:disabled){color:var(--ink);background:#fff9;border:0}.calendar-view-toggle button.active{color:var(--brand);background:#fff;box-shadow:0 1px 2px #0f172a1f}.calendar-view-toggle button+button{border-left:0;margin-left:0}.status-legend{margin:0 0 var(--s-4);gap:var(--s-2) var(--s-4);font-size:var(--fs-caption);color:var(--ink-2);text-transform:capitalize;flex-wrap:wrap;padding:0;list-style:none;display:flex}.status-legend li{align-items:center;gap:var(--s-2);display:inline-flex}.cal-dot{background:#94a3b8;border-radius:50%;flex:none;width:.625rem;height:.625rem;display:inline-block}.cal-dot.status-pending{background:#d97706}.cal-dot.status-confirmed{background:#2563eb}.cal-dot.status-in_progress{background:var(--brand-strong)}.cal-dot.status-completed{background:#16a34a}.cal-dot.status-cancelled{background:#94a3b8}.calendar-toolbar{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);grid-template-columns:auto minmax(0,1fr) auto auto auto;display:grid}.calendar-month-label{text-align:center;letter-spacing:-.02em;margin:0;font-size:1.25rem}.calendar-jump input{min-height:2.5rem}.calendar-swipe-hint{margin:0 0 var(--s-2);font-size:var(--fs-caption);color:var(--muted);text-align:center;display:none}.calendar-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-3);max-width:none;margin:0 0 var(--s-5);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday{background:var(--paper-2);padding:var(--s-2) var(--s-3);font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted);text-align:left}.calendar-cell{box-shadow:none;color:var(--ink);text-align:left;justify-content:space-between;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:#fff;border:0;border-radius:0;flex-direction:column;min-height:6rem;font-weight:500;display:flex;transform:none}.calendar-cell:hover:not(:disabled){background:var(--tint);filter:none;transform:none}.calendar-cell.empty{background:var(--paper-2)}.calendar-day-number{min-width:1.75rem;height:1.75rem;font-size:var(--fs-small);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:inline-grid}.calendar-cell.today .calendar-day-number{background:var(--brand);color:#fff;font-weight:var(--w-heading)}.calendar-cell.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--brand)}.calendar-cell-foot{justify-content:space-between;align-items:center;gap:var(--s-2);width:100%;display:flex}.cal-dots{gap:var(--s-1);flex-wrap:wrap;display:inline-flex}.calendar-count-badge{min-width:1.5rem;padding:0 var(--s-2);height:1.5rem;color:var(--ink-2);font-size:var(--fs-caption);font-weight:var(--w-ui);background:#e2e8f0;border-radius:999px;place-items:center;margin-left:auto;display:inline-grid}.calendar-week-grid{gap:var(--s-2);margin-bottom:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));align-items:start;display:grid}.calendar-week-day{border:1px solid var(--line);border-radius:var(--r-2);background:#fff;min-height:12rem;overflow:hidden}.calendar-week-day.today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.calendar-week-day.drag-over{outline:2px dashed var(--brand);outline-offset:2px;background:var(--tint)}.calendar-week-day-header{padding:var(--s-3);background:var(--paper-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.calendar-week-weekday{font-size:var(--fs-caption);font-weight:var(--w-ui);color:var(--muted)}.calendar-week-daynum{font-size:1.25rem;font-weight:var(--w-heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.calendar-week-day.today .calendar-week-daynum{color:var(--brand)}.calendar-week-day-body{gap:var(--s-2);padding:var(--s-2);display:grid}.calendar-week-empty{padding:var(--s-3);color:var(--muted);font-size:var(--fs-caption);margin:0}.calendar-week-block{--st:#94a3b8;gap:var(--s-1);text-align:left;width:100%;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--st);border-radius:var(--r-1);box-shadow:none;padding:var(--s-2) var(--s-3);cursor:grab;background:#fff;font-weight:400;display:grid;transform:none}.calendar-week-block[data-status=pending]{--st:#d97706}.calendar-week-block[data-status=confirmed]{--st:#2563eb}.calendar-week-block[data-status=in_progress]{--st:var(--brand-strong)}.calendar-week-block[data-status=completed]{--st:#16a34a}.calendar-week-block[data-status=cancelled]{--st:#94a3b8}.calendar-week-block:hover:not(:disabled){background:var(--tint);filter:none;transform:none}.calendar-week-block.dragging{opacity:.45}.calendar-week-block[data-status=cancelled] .calendar-week-block-customer{color:var(--muted);text-decoration:line-through}.calendar-week-block-time{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-caption);font-weight:var(--w-heading);color:var(--ink-2);font-variant-numeric:tabular-nums;overflow:hidden}.calendar-week-block-customer{font-size:var(--fs-small);font-weight:var(--w-ui);overflow-wrap:anywhere}.calendar-week-block-desc{font-size:var(--fs-caption);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-day-view{margin-top:var(--s-2)}.calendar-day-view h2{margin:0 0 var(--s-3);font-size:1.25rem}.status-pending,.status-confirmed,.status-in_progress,.status-completed,.status-cancelled{text-transform:capitalize}.calendar-day-view td select{min-height:2.25rem;padding:0 var(--s-2)}.drive-time-row td{padding:var(--s-2) var(--s-4) var(--s-2) var(--s-7);background:var(--paper-2);color:var(--ink-2);font-size:var(--fs-caption);border-bottom:1px solid var(--line);position:relative}.drive-time-row td:before{content:"";left:var(--s-5);border-left:2px dashed #94a3b8;position:absolute;top:0;bottom:0}.drive-time-row.drive-time-unknown td{color:var(--muted)}.drive-time-row:hover{background:0 0}.route-suggestion{margin-bottom:var(--s-4);padding:var(--s-4);background:var(--tint);border-radius:var(--r-2);border:1px solid #bfdbfe}.route-suggestion-unavailable{margin:var(--s-3) 0 0;color:var(--ink-2);font-size:var(--fs-small)}.route-suggestion-result{margin-top:var(--s-3);font-size:var(--fs-small)}.route-suggestion-result p{margin:0 0 var(--s-2)}.route-suggestion-result ol{padding-left:var(--s-5);margin:0}@media (width<=900px){.calendar-toolbar .calendar-jump,.calendar-toolbar>button:nth-of-type(3){grid-column:auto}.calendar-swipe-hint{display:block}.calendar-cell{min-height:4.25rem;padding:var(--s-1) var(--s-2)}.cal-dots{display:none}.calendar-week-grid{grid-template-columns:minmax(0,1fr)}.calendar-week-day{min-height:0}.calendar-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-toolbar .calendar-month-label{text-align:left;order:-1;grid-column:1/-1}.calendar-toolbar .calendar-jump{grid-column:1/-1;min-width:0;display:block}.calendar-toolbar .calendar-jump input{box-sizing:border-box;width:100%}.calendar-day-view table,.calendar-day-view tbody{display:block;overflow:visible}.calendar-day-view thead{display:none}.calendar-day-view tr:not(.drive-time-row){gap:var(--s-2) var(--s-4);padding:var(--s-4);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.calendar-day-view td{border:0;padding:0;display:block}.calendar-day-view td:before{content:attr(data-label);font-size:var(--fs-caption);color:var(--muted);display:block}.calendar-day-view td[data-label=""]:before{display:none}.calendar-day-view tr:not(.drive-time-row) td:first-child,.calendar-day-view tr:not(.drive-time-row) td:nth-child(3){grid-column:1/-1}.calendar-day-view tr:not(.drive-time-row) td:first-child{font-weight:var(--w-ui);font-size:var(--fs-body)}.calendar-day-view tr:not(.drive-time-row) td:nth-child(6){grid-column:1/-1}.calendar-day-view tr:not(.drive-time-row) td:nth-child(6) button{width:100%}.calendar-day-view .drive-time-row{display:block}.calendar-day-view .drive-time-row td{padding-left:var(--s-7);display:block}.calendar-day-view .drive-time-row td:before{content:"";display:none}}main.calendar-page{max-width:1400px}
