:root{color:#2c202a;font-synthesis:none;--plum:#6e3b65;--plum-dark:#4b2946;--rose:#dca5b5;--cream:#fffaf6;--ink-soft:#6f626c;--line:#e7dce2;--shadow:0 18px 50px #4c2a451f;background:#f7f3f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.center-shell,.login-shell{background:radial-gradient(circle at 15% 5%,#dca5b547,#0000 34%),linear-gradient(155deg,#fffaf6,#f4edf2);place-items:center;min-height:100vh;padding:24px;display:grid}.center-shell{color:var(--ink-soft);align-content:center}.login-card{border:1px solid var(--line);width:min(100%,430px);box-shadow:var(--shadow);background:#ffffffe6;border-radius:28px;padding:34px}.brand-mark{color:#fff;background:var(--plum);letter-spacing:-.04em;border-radius:18px;place-items:center;width:54px;height:54px;font-weight:850;display:grid}.eyebrow{color:var(--plum);letter-spacing:.13em;text-transform:uppercase;margin-top:24px;font-size:.76rem;font-weight:800;display:block}h1{letter-spacing:-.055em;margin:8px 0 10px;font-size:clamp(2rem,8vw,3.35rem);line-height:1}.muted,.welcome-card p,article p{color:var(--ink-soft);line-height:1.55}form{gap:16px;margin-top:28px;display:grid}label{gap:7px;font-size:.9rem;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--line);color:#2c202a;background:#fff;border-radius:14px;width:100%;min-height:48px;padding:11px 13px}input:focus,select:focus,textarea:focus{border-color:var(--plum);outline:3px solid #6e3b6529}.primary{color:#fff;background:var(--plum);border:0;border-radius:15px;min-height:50px;font-weight:800}.primary:disabled{opacity:.55;cursor:wait}.form-error{color:#9c283d;margin:0;font-size:.9rem}.app-shell{min-height:100vh}.offline-banner{z-index:30;color:#672337;text-align:center;background:#fff0f4;border-bottom:1px solid #efcad2;padding:9px 16px;font-size:.78rem;font-weight:800;position:sticky;top:0}.topbar{z-index:10;padding:14px max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf6e6;border-bottom:1px solid #e7dce2cc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar .eyebrow{margin:0;font-size:.65rem}.topbar strong{font-size:1.15rem;display:block}.quiet{border:1px solid var(--line);color:var(--plum-dark);background:#fff;border-radius:999px;padding:9px 14px;font-weight:750}.content-shell{width:min(1120px,100%);margin:auto;padding:34px 18px 80px}.welcome-card{color:#fff;background:linear-gradient(135deg, var(--plum-dark), var(--plum));box-shadow:var(--shadow);border-radius:28px;padding:clamp(28px,6vw,64px)}.welcome-card .eyebrow,.welcome-card p{color:#ffffffc7}.welcome-card .eyebrow{margin-top:0}.foundation-grid{gap:14px;margin-top:18px;display:grid}article{border:1px solid var(--line);background:#fff;border-radius:22px;padding:22px}article span{color:var(--rose);font-weight:900}article h2{margin:18px 0 4px;font-size:1.15rem}article p{margin:0;font-size:.92rem}@media (width>=760px){.foundation-grid{grid-template-columns:repeat(3,1fr)}.content-shell{padding-top:48px}}.brand-button{text-align:left;color:inherit;background:0 0;border:0;padding:0}.top-actions{align-items:center;gap:10px;display:flex}.user-name{color:var(--ink-soft);font-size:.86rem;display:none}.screen-heading{margin:8px 0 24px}.screen-heading .eyebrow{margin-top:0}.screen-heading h1{max-width:760px}.screen-heading p{max-width:650px;color:var(--ink-soft);margin:0;line-height:1.55}.panel{border:1px solid var(--line);background:#fffffff0;border-radius:24px;padding:20px;box-shadow:0 12px 35px #4c2a4512}.quote-layout,.detail-grid{gap:16px;display:grid}.quote-form{gap:18px;display:grid}.field-stack{gap:7px;display:grid}.field-stack>label,.optional-grid label{font-size:.82rem;font-weight:800}.paired-fields{grid-template-columns:1fr;gap:14px;display:grid}.stepper{grid-template-columns:52px minmax(70px,1fr) 52px;gap:7px;display:grid}.stepper button{border:1px solid var(--line);min-height:48px;color:var(--plum);background:#fbf7fa;border-radius:14px;font-weight:850}.stepper input{text-align:center;min-width:0;font-weight:800}.unit-input{position:relative}.unit-input input{padding-right:38px}.unit-input span{color:var(--ink-soft);font-size:.78rem;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.optional-fields{border-top:1px solid var(--line);padding-top:16px}.optional-fields summary{color:var(--plum);cursor:pointer;font-weight:800}.optional-grid{gap:13px;margin-top:16px;display:grid}.optional-grid label{gap:6px;display:grid}textarea{resize:vertical}.save-button{width:100%}.quote-result{background:linear-gradient(155deg,#fff,#fff8fb);position:relative;overflow:hidden}.quote-result.calculating:after{content:"";pointer-events:none;background:#ffffff7a;position:absolute;inset:0}.result-topline{color:var(--plum);justify-content:space-between;align-items:flex-start;gap:14px;font-weight:850;display:flex}.result-topline small{color:var(--ink-soft);text-align:right;font-size:.68rem;font-weight:650}.grand-total-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;margin:28px 0 2px;font-size:.8rem}.grand-total{color:var(--plum-dark);letter-spacing:-.065em;font-size:clamp(2.55rem,10vw,4.2rem);line-height:1;display:block}.result-facts{gap:8px;margin:24px 0;display:grid}.result-facts div{background:#f8f2f6;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.result-facts span{color:var(--ink-soft);font-size:.78rem}.result-facts strong{text-align:right;font-size:.88rem}.result-facts .billable{color:#7f2d45;background:#fff0f4}.totals-list{border-top:1px solid var(--line);gap:9px;margin:0;padding-top:17px;display:grid}.totals-list div{justify-content:space-between;display:flex}.totals-list dt{color:var(--ink-soft)}.totals-list dd{margin:0;font-weight:850}.message-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.message-actions button,.saved-message button,.back-button{border:1px solid var(--line);min-height:42px;color:var(--plum);background:#fff;border-radius:13px;padding:9px 12px;font-weight:800}.message-actions button:last-child{color:#fff;border-color:var(--plum);background:var(--plum);grid-column:1/-1}.success-note{color:#276b4c;margin:12px 0 0;font-size:.82rem;font-weight:750}.bottom-nav{z-index:20;padding:8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf6f2;grid-template-columns:repeat(2,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav.admin-nav{grid-template-columns:repeat(3,1fr)}.bottom-nav button{color:var(--ink-soft);background:0 0;border:0;justify-items:center;gap:2px;font-size:.72rem;font-weight:800;display:grid}.bottom-nav button span{font-size:1.25rem}.bottom-nav button.active{color:var(--plum)}.history-panel{padding:8px}.history-list{display:grid}.history-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:inherit;background:0 0;justify-content:space-between;gap:16px;padding:15px 12px;display:flex}.history-row:last-child{border-bottom:0}.history-row div{gap:4px;display:grid}.history-row span{color:var(--ink-soft);font-size:.76rem}.history-total{text-align:right;white-space:nowrap;justify-items:end}.empty-state{text-align:center;gap:6px;padding:44px 20px;display:grid}.empty-state span{color:var(--ink-soft)}.back-button{margin-bottom:18px}.detail-heading{margin-top:0}.saved-message h2,.internal-note h2{margin-top:0;font-size:1rem}.saved-message pre{white-space:pre-wrap;word-break:break-word;color:#453841;max-height:430px;font:inherit;background:#f8f2f6;border-radius:14px;padding:16px;font-size:.84rem;line-height:1.55;overflow:auto}.skeleton-panel{color:var(--ink-soft)}.operational-note{color:var(--ink-soft);margin:-10px 0 18px;font-size:.76rem}.lab-stack,.lab-toolbar{gap:16px;display:grid}.profile-badges{flex-wrap:wrap;gap:7px;display:flex}.profile-badges span{color:var(--ink-soft);background:#f4eef2;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:750}.profile-badges span.published{color:#216044;background:#e8f6ee}.admin-grid{gap:16px;display:grid}.section-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.section-title h2{margin:0;font-size:1.15rem}.section-title p{color:var(--ink-soft);margin:4px 0 0;font-size:.8rem}.toggle-label{grid-template-columns:auto 1fr;align-items:center}.toggle-label input{width:22px;min-height:22px}.points-editor{gap:9px;display:grid}.point-row{background:#faf6f8;border-radius:15px;grid-template-columns:minmax(70px,.55fr) minmax(130px,1fr) 42px;align-items:end;gap:8px;padding:9px;display:grid}.point-row input{min-height:42px}.icon-button,.danger-button{color:#9c283d;background:#fff5f7;border:1px solid #efcad2;border-radius:12px;min-height:42px;font-weight:850}.lab-actions{gap:9px;margin-top:18px;display:grid}.lab-actions>label{position:relative}.lab-actions>label small{color:var(--ink-soft);position:absolute;bottom:15px;right:12px}.comparison-panel{overflow:hidden}.comparison-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.78rem}th,td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:10px 12px}th:first-child,td:first-child{z-index:1;text-align:left;background:#fff;position:sticky;left:0}th{color:var(--ink-soft);background:#faf6f8}tr.increase td:nth-child(4),tr.increase td:nth-child(5){color:#8d3248}tr.decrease td:nth-child(4),tr.decrease td:nth-child(5){color:#276b4c}@media (width>=620px){.paired-fields,.optional-grid{grid-template-columns:1fr 1fr}.full-field{grid-column:1/-1}.user-name{display:inline}.lab-toolbar{grid-template-columns:minmax(240px,.7fr) 1.3fr;align-items:end}.lab-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}}@media (width>=900px){.quote-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start}.quote-result{position:sticky;top:90px}.detail-grid{grid-template-columns:.85fr 1.15fr;align-items:start}.admin-grid{grid-template-columns:.75fr 1.25fr;align-items:start}.internal-note{grid-column:1/-1}.bottom-nav{border:1px solid var(--line);border-radius:18px;width:min(1120px,100% - 36px);margin:0 auto 28px;position:static}.content-shell{padding-bottom:30px}}
