:root{--navy:#0f2747;--navy-light:#1e3a5f;--charcoal:#121212;--off-white:#f8f8f6;--body:#2f2f2f;--success:#2e7d32;--warning:#d18b00;--error:#b3261e;--bg:var(--off-white);--panel:#fff;--panel-2:#f1f1ee;--ink:var(--charcoal);--muted:#6b7280;--accent:var(--navy);--accent-ink:#fff;--accent-soft:var(--navy-light);--danger:var(--error);--line:color-mix(in oklab, var(--navy) 12%, transparent);--radius:1rem;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;padding:0}a{color:var(--accent-soft);text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer;background:var(--accent);color:var(--accent-ink);border:0;border-radius:.5rem;padding:.65rem 1.1rem;font-weight:600}button:hover{background:var(--accent-soft)}button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--line)}button.secondary:hover{background:var(--panel-2)}button:disabled{opacity:.55;cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input,select{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:.5rem;padding:.55rem .7rem}input[type=file]{background:0 0;border:0;width:auto;max-width:100%;padding:0}input[type=file]::file-selector-button{font:inherit;background:var(--navy);color:#fff;border:0;border-radius:.5rem;margin-right:.75rem;padding:.55rem .9rem;font-weight:600}input:focus,select:focus{outline:2px solid color-mix(in oklab, var(--navy) 35%, transparent);outline-offset:1px}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.5rem;display:flex}.brand{letter-spacing:-.02em;color:var(--charcoal);font-size:1.35rem;font-weight:750}.brand span{color:var(--navy)}.nav{align-items:center;gap:.9rem;font-size:.95rem;display:flex}.grid{gap:1rem;display:grid}.grid.metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px color-mix(in oklab, var(--navy) 4%, transparent);padding:1rem 1.1rem}.card h2,.card h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .65rem;font-size:.7rem;font-weight:600}.metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--charcoal);font-size:1.65rem;font-weight:750}.metric-sub{color:var(--muted);margin-top:.25rem;font-size:.85rem}.stack{gap:.75rem;display:grid}.row{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.field{flex:1;gap:.3rem;min-width:120px;display:grid}.field label{color:var(--muted);font-size:.8rem}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.55rem .35rem}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.badge{background:var(--panel-2);border:1px solid var(--line);color:var(--body);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;display:inline-block}.badge.won,.badge.paid{background:color-mix(in oklab, var(--success) 12%, white);color:var(--success);border-color:color-mix(in oklab, var(--success) 22%, transparent)}.badge.sent{background:color-mix(in oklab, var(--navy-light) 12%, white);color:var(--navy-light);border-color:color-mix(in oklab, var(--navy-light) 22%, transparent)}.badge.unpaid,.badge.lost{background:color-mix(in oklab, var(--danger) 12%, white);color:var(--danger);border-color:color-mix(in oklab, var(--danger) 22%, transparent)}.hero-result{letter-spacing:-.04em;color:var(--navy);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:780}.muted{color:var(--muted)}.actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.error{color:var(--danger);background:color-mix(in oklab, var(--danger) 8%, white);border:1px solid color-mix(in oklab, var(--danger) 25%, transparent);border-radius:.5rem;margin:.75rem 0;padding:.65rem .8rem}.success{color:var(--success);background:color-mix(in oklab, var(--success) 8%, white);border:1px solid color-mix(in oklab, var(--success) 25%, transparent);border-radius:.5rem;margin:.75rem 0;padding:.65rem .8rem}.hero-landing{align-content:center;gap:1rem;max-width:640px;min-height:70vh;display:grid}.hero-landing h1{letter-spacing:-.04em;color:var(--charcoal);margin:0;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1.05}.price-tag{color:var(--navy);font-size:1.8rem;font-weight:750}.landing{background:radial-gradient(900px 420px at 100% -10%, color-mix(in oklab, var(--navy) 8%, transparent), transparent 60%), var(--off-white);min-height:100dvh}.landing-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffffdb;background:lab(100% -.0000298023 .0000119209/.86);position:sticky;top:0}.landing-header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1120px;margin:0 auto;padding:1rem 1.25rem;display:flex}.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,5vw,4rem);max-width:1120px;min-height:calc(100dvh - 4.25rem);margin:0 auto;padding:1.25rem;display:grid}.landing-hero-copy{gap:1.1rem;max-width:34rem;display:grid}.landing-brand-mark{letter-spacing:-.03em;color:var(--charcoal);margin:0;font-size:clamp(1.75rem,3.5vw,2.35rem);font-weight:780;line-height:1.1}.landing-brand-mark span{color:var(--navy)}.landing-hero-copy h1{letter-spacing:-.035em;color:var(--charcoal);max-width:14ch;margin:0;font-size:clamp(2rem,4.2vw,3rem);font-weight:750;line-height:1.12}.landing-lede{color:var(--muted);max-width:36ch;margin:0;font-size:1.08rem;line-height:1.55}.landing-cta-row{flex-wrap:wrap;gap:.65rem;margin-top:.35rem;display:flex}.landing-footnote{color:var(--muted);margin:0;font-size:.85rem}.landing-preview{background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 2px color-mix(in oklab, var(--navy) 6%, transparent), 0 24px 48px -28px color-mix(in oklab, var(--navy) 35%, transparent);border-radius:1.15rem;overflow:hidden}.landing-preview-chrome{background:var(--panel-2);border-bottom:1px solid var(--line);gap:.4rem;padding:.85rem 1rem;display:flex}.landing-preview-chrome span{background:color-mix(in oklab, var(--navy) 18%, white);border-radius:999px;width:.55rem;height:.55rem}.landing-preview-body{gap:1rem;padding:1.15rem 1.15rem 1.35rem;display:grid}.landing-preview-kpis{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.landing-preview-kpis div,.landing-preview-metrics div{gap:.2rem;display:grid}.landing-preview-kpis small,.landing-preview-metrics small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.65rem;font-weight:600}.landing-preview-kpis strong,.landing-preview-metrics strong{letter-spacing:-.02em;color:var(--charcoal);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:750}.landing-preview-metrics strong.accent{color:var(--navy)}.landing-preview-panel{border:1px solid var(--line);background:color-mix(in oklab, var(--panel-2) 55%, white);border-radius:.85rem;gap:.85rem;padding:1rem;display:grid}.landing-preview-row{color:var(--charcoal);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.95rem;font-weight:650;display:flex}.landing-preview-row em{color:var(--navy);font-size:.8rem;font-style:normal;font-weight:650}.landing-preview-metrics{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.landing-preview-bar{background:color-mix(in oklab, var(--navy) 10%, white);border-radius:999px;height:.45rem;overflow:hidden}.landing-preview-bar i{background:var(--navy);border-radius:inherit;height:100%;display:block}@media (max-width:860px){.landing-hero{grid-template-columns:1fr;padding-top:2rem}.landing-hero-copy h1{max-width:none}.landing-preview{order:-1;max-width:28rem}}@media (max-width:720px){.table .hide-sm{display:none}}textarea{width:100%;font:inherit;font-family:var(--mono);background:var(--panel);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:.5rem;padding:.75rem;font-size:.9rem}input[type=checkbox]{width:auto;min-width:1rem;height:1rem;accent-color:var(--navy);padding:0}textarea:focus{outline:2px solid color-mix(in oklab, var(--navy) 35%, transparent);outline-offset:1px}.ws-upload{text-align:center;border:1px dashed color-mix(in oklab, var(--navy) 28%, transparent);background:color-mix(in oklab, var(--navy) 4%, white);cursor:pointer;border-radius:.8rem;justify-items:center;gap:.3rem;min-height:5.5rem;padding:1.4rem 1rem;display:grid;position:relative}.ws-upload strong{color:var(--navy);font-size:.98rem}.ws-upload span{color:var(--muted);font-size:.82rem}.ws-upload:hover,.ws-upload.is-over{background:color-mix(in oklab, var(--navy) 8%, white);border-color:color-mix(in oklab, var(--navy) 45%, transparent)}.ws-preview{border-top:1px solid var(--line);gap:.75rem;padding-top:.35rem;display:grid}.ws-preview-head h3{text-transform:none;letter-spacing:-.01em;color:var(--ink);margin:0 0 .25rem;font-size:.95rem}.ws-preview-head p{margin:0}.ws-shell{background:radial-gradient(820px 360px at 88% -8%, color-mix(in oklab, var(--navy) 8%, transparent), transparent 62%), var(--bg);min-height:100dvh}.ws-chrome{z-index:30;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:#fff;position:sticky;top:0}.ws-chrome-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1180px,100% - 2rem);min-height:2.85rem;margin:0 auto;padding:.8rem 0;display:flex}.ws-chrome-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.ws-support{color:var(--muted);white-space:nowrap;font-size:.85rem;text-decoration:none}.ws-support:hover{color:var(--navy);text-decoration:underline}.ws-logo{color:var(--ink);letter-spacing:-.02em;white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:.35rem .45rem;font-size:1.05rem;font-weight:650;display:flex}.ws-logo strong{color:var(--navy);font-weight:800}.ws-logo-tag{color:var(--muted);font-size:.74rem;font-weight:500}.ws-logo:hover{color:var(--ink)}.ws-logo:hover strong{color:var(--navy)}.ws-shell>.workspace{width:min(1180px,100% - 2rem);margin:0 auto;padding:1.25rem 0 3.5rem}.ws-auth-card{width:min(32rem,100% - 2rem);margin:2.5rem auto 3.5rem}.workspace{gap:1.15rem;display:grid}.ws-tabs{background:color-mix(in oklab, white 70%, var(--panel-2));border:1px solid var(--line);border-radius:.75rem;flex-wrap:wrap;gap:.35rem;width:fit-content;max-width:100%;padding:.3rem;display:flex}.ws-tab-short{display:none}.ws-tabs button{color:var(--body);background:0 0;border-radius:.55rem;padding:.5rem .9rem;font-weight:600}.ws-tabs button:hover{background:color-mix(in oklab, var(--navy) 6%, white)}.ws-tabs button.is-active{background:var(--navy);color:#fff}.ws-tabs button.is-active:hover{background:var(--navy-light)}.ws-kpis{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}.ws-kpi{padding:.85rem 1rem}.ws-kpi h3{margin-bottom:.3rem}.ws-kpi .metric-value{font-size:1.35rem}.ws-callout{border:1px solid color-mix(in oklab, var(--navy) 18%, transparent);background:color-mix(in oklab, var(--navy) 5%, white);border-radius:.85rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:1rem 1.15rem;display:flex}.ws-callout h2{letter-spacing:-.02em;text-transform:none;color:var(--ink);margin:0 0 .25rem;font-size:1.05rem}.ws-callout p{color:var(--muted);margin:0;font-size:.92rem}.ws-estimate{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1.15rem;display:grid}.ws-job,.ws-totals{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px color-mix(in oklab, var(--navy) 5%, transparent)}.ws-job{gap:1rem;min-width:0;padding:1.15rem 1.2rem 1.25rem;display:grid}.ws-job-num{max-width:7.5rem}.ws-job-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ws-job-head h2{letter-spacing:-.02em;text-transform:none;color:var(--ink);margin:0;font-size:1.15rem}.ws-job-head p{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.ws-voice{justify-items:end;gap:.35rem;max-width:18rem;display:grid}.ws-voice p{text-align:right;margin:0;font-size:.8rem}.ws-voice-live{color:var(--navy);justify-content:flex-end;align-items:center;gap:.4rem;font-weight:600;display:flex}.ws-pulse{background:var(--navy);border-radius:999px;width:.55rem;height:.55rem;animation:1.4s infinite ws-pulse}.ws-voice-preview{padding:.85rem 0 .2rem}.ws-voice-transcript{border-left:3px solid color-mix(in oklab, var(--navy) 35%, transparent);background:color-mix(in oklab, var(--navy) 4%, white);color:var(--ink);margin:.65rem 0 0;padding:.7rem .85rem;font-size:.88rem;line-height:1.45}.ws-voice-items{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ws-voice-items li{border:1px solid var(--line);background:#fff;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.7rem .75rem;display:grid}.ws-voice-item-body{gap:.2rem;min-width:0;display:grid}.ws-voice-item-body strong{font-size:.95rem}.ws-voice-item-body span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.ws-voice-item-body .badge{width:fit-content}.workspace .card>h2{letter-spacing:-.02em;text-transform:none;color:var(--ink);font-size:1.05rem}.ws-auth-card>h2{letter-spacing:-.03em;text-transform:none;color:var(--ink);font-size:1.35rem}.ws-line-head,.ws-line{grid-template-columns:minmax(12rem,1.5fr) 4.5rem 3.75rem 5.5rem 5.5rem 6rem 2.5rem;align-items:center;gap:.45rem;display:grid}.ws-line-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 .7rem;font-size:.68rem;font-weight:650}.ws-lines{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.ws-line{border:1px solid var(--line);background:#fbfbfa;border-radius:.7rem;min-width:0;padding:.65rem}.ws-line-field{min-width:0;display:grid}.ws-line-field>span{display:none}.ws-line.is-library{border-color:color-mix(in oklab, var(--navy) 22%, transparent);background:color-mix(in oklab, var(--navy) 4%, white)}.ws-line.is-ai{border-color:color-mix(in oklab, var(--warning) 35%, transparent);background:color-mix(in oklab, var(--warning) 8%, white)}.ws-rate-ai{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.4rem;display:flex}.ws-line-desc{grid-template-columns:minmax(0,1fr) 7.25rem;align-items:center;gap:.4rem;min-width:0;display:grid}.ws-rate-tag,.ws-rate-use{grid-column:1/-1}.ws-rate-use{width:fit-content;padding:.28rem .55rem;font-size:.78rem}.ws-rate-tag{letter-spacing:.02em;color:#38506c;border:1px solid color-mix(in oklab, var(--navy) 12%, transparent);background:#eef2f7;border-radius:999px;width:fit-content;padding:.12rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.ws-line-ext{font-variant-numeric:tabular-nums;color:var(--navy);text-align:right;white-space:nowrap;padding:0;font-size:.92rem;font-weight:650}.ws-empty-lines{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:.7rem;padding:1.4rem 1rem}.ws-empty-lines p{margin:0 0 .85rem}.ws-job-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ws-library-select{background:var(--panel);width:auto;min-width:11.5rem;max-width:16rem;height:2.55rem}.ws-more{margin-left:auto;position:relative}.ws-more summary{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:.5rem;padding:.65rem 1.1rem;font-weight:600;list-style:none}.ws-more summary::-webkit-details-marker{display:none}.ws-more[open] summary{background:var(--panel-2)}.ws-more-menu{z-index:8;border:1px solid var(--line);min-width:13rem;box-shadow:0 1px 2px color-mix(in oklab, var(--navy) 8%, transparent), 0 18px 32px -20px color-mix(in oklab, var(--navy) 40%, transparent);background:#fff;border-radius:.7rem;gap:.25rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.ws-more-menu button{width:100%;color:var(--ink);background:0 0;justify-content:flex-start;font-weight:600}.ws-more-menu button:hover{background:var(--panel-2);color:var(--ink)}.ws-icon-btn{width:2.4rem;min-width:2.4rem;padding:.45rem;line-height:1}.ws-totals{background:linear-gradient(180deg, color-mix(in oklab, var(--navy) 4%, white), #fff 42%);gap:.85rem;padding:1.15rem 1.2rem 1.25rem;display:grid;position:sticky;top:4.6rem}.ws-totals h2{letter-spacing:.08em;margin:0;font-size:.72rem}.ws-total-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.ws-total-row small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:650}.ws-total-row strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.05rem}.ws-total-row.is-hero{background:color-mix(in oklab, var(--navy) 6%, white);border:1px solid color-mix(in oklab, var(--navy) 12%, transparent);border-radius:.65rem;margin:0 -.2rem;padding:.75rem .8rem}.ws-total-row.is-hero strong{color:var(--navy);font-size:1.45rem}.ws-total-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.ws-empty{text-align:center;padding:1.5rem 1.2rem}.ws-empty h2{text-transform:none;letter-spacing:-.02em;color:var(--ink);margin:0 0 .4rem;font-size:1.1rem}.ws-empty p{max-width:36ch;margin:0 auto}.badge.company{color:#38506c;border-color:color-mix(in oklab, var(--navy) 14%, transparent);background:#eef2f7}.badge.ai_suggested{background:color-mix(in oklab, var(--navy) 9%, white);color:var(--navy);border-color:color-mix(in oklab, var(--navy) 20%, transparent)}.badge.ai_approved{background:color-mix(in oklab, var(--success) 12%, white);color:var(--success);border-color:color-mix(in oklab, var(--success) 22%, transparent)}@media (max-width:980px){.ws-estimate{grid-template-columns:1fr}.ws-kpis{grid-template-columns:1fr 1fr}.ws-totals{position:static}.ws-more{margin-left:0}.ws-line-head{display:none}.ws-line{grid-template-columns:minmax(0,1fr) 1fr 1fr}.ws-line-desc{grid-column:1/-1}.ws-line-field>span,.ws-line-amount>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:650;display:block}.ws-line-amount{grid-column:1/3}.ws-logo-tag{display:none}}@media (max-width:720px){.hide-sm,.table .hide-sm{display:none}input,select,textarea,button,.ws-library-select{font-size:16px}.ws-shell>.workspace{width:min(1180px,100% - 1.25rem);padding:.85rem 0 3.5rem}.ws-shell>.workspace.has-voice-dock{padding-bottom:7.5rem}.ws-chrome-inner{gap:.5rem;min-height:2.75rem;padding:.45rem 0}.ws-chrome button{min-height:2.15rem;padding:.35rem .75rem}.ws-tabs{top:calc(2.75rem + env(safe-area-inset-top));z-index:24;width:100%;box-shadow:0 8px 16px -12px color-mix(in oklab, var(--navy) 28%, transparent);background:#fff;position:sticky}.ws-tab-full{display:none}.ws-tab-short{display:inline}.ws-tabs button{flex:1;min-height:2.75rem;padding:.45rem .35rem;font-size:.82rem}.ws-job{padding:1rem .85rem 1.1rem}.ws-job-meta{grid-template-columns:1fr 1fr 1fr;align-items:end;display:grid}.ws-job-customer,.ws-job-project{grid-column:1/-1}.ws-job-num{min-width:0;max-width:none}.ws-line{grid-template-columns:1fr 1fr;gap:.55rem .45rem;padding:.8rem}.ws-line-desc{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 6.5rem}.ws-line-field>span,.ws-line-amount>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:650;display:block}.ws-line-amount{grid-column:auto}.ws-line-ext{text-align:left;padding-top:.55rem}.ws-icon-btn{place-self:end;min-width:2.75rem;min-height:2.75rem}.ws-job-actions{grid-template-columns:1fr 1fr;display:grid}.ws-job-actions .ws-library-select,.ws-job-actions button,.ws-job-actions .ws-more{width:100%;max-width:none;min-height:2.85rem}.ws-job-actions>button:not(.secondary),.ws-more{grid-column:1/-1}.ws-more summary{text-align:center;width:100%}.ws-more-menu{left:0;right:0}.ws-voice{z-index:40;width:auto;max-width:none;padding:.7rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -12px 28px -20px color-mix(in oklab, var(--navy) 40%, transparent);background:#fff;justify-items:stretch;position:fixed;bottom:0;left:0;right:0}.ws-voice button{width:100%;min-height:2.9rem}.ws-voice>p.muted{display:none}.ws-voice p,.ws-voice-live{text-align:left;justify-content:flex-start}.ws-voice-preview .actions,.ws-preview .actions{display:grid}.ws-voice-preview .actions button,.ws-preview .actions button{width:100%;min-height:2.75rem}}@keyframes ws-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.ws-pulse{animation:none}}.fn-panel{flex-direction:column;gap:.85rem;display:flex}.fn-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.fn-save-status{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:650}.fn-rooms{-webkit-overflow-scrolling:touch;gap:.45rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.fn-room{text-align:left;border:1px solid color-mix(in oklab, var(--navy) 12%, transparent);background:#fff;border-radius:.65rem;flex:none;gap:.15rem;min-width:7.5rem;max-width:10rem;padding:.55rem .7rem;display:grid}.fn-room strong{font-size:.9rem;line-height:1.2}.fn-room span{color:var(--muted);font-size:.72rem}.fn-room.is-active{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.fn-room-add{place-items:center;min-width:2.75rem;max-width:2.75rem;font-size:1.35rem;font-weight:700}.fn-measure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.fn-area-card,.fn-quick,.fn-empty{gap:.55rem;display:grid}.fn-area-title{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.fn-note-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.fn-note-list li{border-bottom:1px solid color-mix(in oklab, var(--navy) 8%, transparent);justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.55rem 0;display:flex}.fn-note-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.2rem;font-size:.68rem;display:inline-block}.fn-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.fn-photo-item{gap:.25rem;display:grid}.fn-photo-thumb{aspect-ratio:1;border:1px solid color-mix(in oklab, var(--navy) 10%, transparent);background:#f3f4f6;border-radius:.5rem;padding:0;overflow:hidden}.fn-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fn-photo-cap{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.fn-actions{bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in oklab, var(--navy) 10%, transparent);box-shadow:0 10px 28px -18px color-mix(in oklab, var(--navy) 40%, transparent);background:#ffffffeb;background:lab(100% -.0000298023 .0000119209/.92);border-radius:.85rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.55rem;display:grid;position:sticky}.fn-actions button{min-height:2.75rem;font-size:.85rem}.fn-caption{gap:.25rem;font-size:.85rem;display:grid}.fn-suggestion{border-top:1px solid color-mix(in oklab, var(--navy) 8%, transparent);padding:.65rem 0}.fn-suggestion-actions{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.fn-lightbox{z-index:80;background:#0a0e14eb;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.fn-lightbox img{object-fit:contain;max-width:min(100%,720px);max-height:90vh}.fn-coach{background:color-mix(in oklab, var(--navy) 5%, #fff);border:1px solid color-mix(in oklab, var(--navy) 12%, transparent);border-radius:.75rem;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.fn-coach-step{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .15rem;font-size:.72rem;font-weight:700}.preview-toggles,.preview-actions{flex-wrap:wrap;gap:.45rem;display:flex}.preview-brand{justify-content:space-between;gap:1rem;display:flex}.preview-lines{margin:1rem 0;padding:0;list-style:none}.preview-lines li{justify-content:space-between;gap:.75rem;margin-bottom:.4rem;display:flex}.preview-totals{border-top:1px solid #ddd;padding-top:.75rem}.preview-total-row{justify-content:space-between;margin-bottom:.25rem;display:flex}.preview-total-row.is-total{margin-top:.35rem;font-size:1.05rem}.share-page{max-width:720px;font-family:var(--font-sans,system-ui, sans-serif);color:#121212;margin:0 auto;padding:2rem 1.25rem 3rem}.share-unavailable h1{margin-bottom:.5rem}.share-header{margin-bottom:1.25rem}.share-logo{object-fit:contain;max-width:180px;max-height:56px;margin-bottom:.75rem}.share-header h1{margin:.15rem 0;font-size:1.75rem}.share-muted{color:#6b7280;margin:.2rem 0 0}.share-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin:0;font-size:.85rem}.share-meta{margin-bottom:1.5rem}.share-lines{margin:0;padding:0;list-style:none}.share-lines li{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:1rem;padding:.55rem 0;display:flex}.share-totals{gap:.35rem;margin-top:1.5rem;display:grid}.share-totals>div{justify-content:space-between;display:flex}.share-total{margin-top:.35rem;font-size:1.15rem}.share-footer{color:#6b7280;margin-top:2rem;font-size:.9rem}@media (max-width:720px){.fn-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-measure-grid{grid-template-columns:1fr 1fr}.fn-measure-grid>:last-child{grid-column:1/-1}}
