:root{--bg:#f7f8f8;--paper:#fff;--ink:#131c20;--muted:#67777e;--line:#dde4e4;--teal:#288a7a;--teal-deep:#19574d;--teal-soft:#e2f3f0;--copper:#257e70;--copper-soft:#e2f3f0;--good:#259353;--good-soft:#e5f5ec;--warn:#935610;--warn-soft:#fdf1d8;--bad:#d32222;--bad-soft:#fceeee;--shadow:0 1px 2px #1018280f;--sans:"IBM Plex Sans", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:var(--bg);font-family:var(--sans);margin:0;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--sans);letter-spacing:0;margin:0;font-weight:700}p{color:var(--muted);line-height:1.5}a{color:var(--teal);text-decoration:none}.shell{background:var(--bg);min-height:100vh}.topbar{z-index:50;background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:8px;min-width:0;display:flex}.brand-lockup img{border-radius:8px;width:32px;height:32px}.brand-name{font-size:14px;font-weight:600}.brand-lab{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.header-user{color:var(--muted);margin-left:auto;font-size:12px}.install-btn{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:999px;height:28px;margin-left:auto;padding:0 10px;font-size:12px;font-weight:600}.header-user+.icon-btn,.install-btn+.header-user,.install-btn+.header-return,.header-return+.header-user{margin-left:8px}.header-return{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;height:28px;padding:0 10px;font-size:12px;font-weight:600}.shell-body{min-height:calc(100vh - 56px);display:flex}.rail{background:var(--paper);border-right:1px solid var(--line);z-index:40;flex-shrink:0;width:56px;height:calc(100vh - 56px);transition:width .2s;position:sticky;top:56px;overflow:hidden}.rail:hover{width:224px}.rail nav{gap:4px;padding:12px 8px;display:grid}.nav-link{color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.nav-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:16px;height:16px}.nav-link span{opacity:0;transition:opacity .15s}.rail:hover .nav-link span,.rail.open .nav-link span{opacity:1}.nav-link.active{background:var(--teal);color:#fff}.nav-link:hover:not(.active){background:var(--teal-soft);color:var(--teal-deep)}.content{flex:1;min-width:0;padding:16px 24px 40px}.banner{background:var(--warn-soft);color:var(--warn);margin:0;padding:10px 16px;font-size:13px}.scrim{z-index:30;background:#141e2833;position:fixed;inset:56px 0 0}.page{gap:16px;display:grid}.page>h1,.head-row h1{font-size:20px;font-weight:700}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.head-actions,.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.icon{width:28px;height:28px;padding:0}a.btn{color:var(--ink);text-decoration:none}.btn.icon.on{background:var(--teal-soft);color:var(--teal-deep)}.search-line{align-items:center;gap:8px;display:flex}.search-line input{flex:1}.check.tiny{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:400}.hint{color:var(--muted);margin:0;font-size:12px}.cancel-reason{color:var(--bad);margin:0;font-size:13px;font-weight:600}.delay-reason{color:var(--bad);margin:0;font-size:13px;font-weight:700}.cards{gap:8px;display:grid}.quote-card{box-sizing:border-box;align-items:flex-start;gap:10px;width:100%;min-width:0;padding:12px;display:flex}.quote-card.picked{box-shadow:0 0 0 2px var(--teal)}.quote-body{flex:1;min-width:0}.slot-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:192px;margin-top:4px;padding:8px;display:grid;overflow:auto}.slot{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#eef1f1;border-radius:6px;padding:6px 2px;font-size:12px;font-weight:500}.slot.selected{background:var(--teal);color:#fff;border-color:var(--teal)}.slot.occupied{background:var(--bad);color:#fff;border-color:var(--bad)}.slot.past{color:#67777e66;cursor:not-allowed;text-decoration:line-through}.slot:hover:not(:disabled):not(.occupied):not(.selected){background:var(--teal-soft);color:var(--teal-deep)}.quote-body .line{padding:0}.quote-audit{color:var(--muted);gap:2px;margin-top:6px;font-size:12px;display:grid}.quote-audit p{margin:0}.quote-audit strong{color:var(--ink);font-weight:600}.quote-audit ul{margin:0 0 4px 16px;padding:0}.test-pills{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.test-pills span{background:var(--teal-soft);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:12px}.money-row{align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.money-row .off{color:var(--good)}.filter-bar{background:#eef1f1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.filter-bar .label{color:var(--muted);min-width:48px;font-size:12px;font-weight:500}.filter-bar input[type=date]{width:140px;height:28px;padding:2px 8px;font-size:12px}.date-split{align-items:center;gap:12px;margin:8px 0 4px;display:flex}.date-split i{background:#abb5ba;flex:1;height:2px}.date-split i.today{background:var(--good)}.date-split b{white-space:nowrap;background:#eef1f1;border-radius:999px;max-width:100%;padding:4px 12px;font-size:13px;font-weight:600}.card.visit-card{gap:4px;padding:10px 12px;display:grid}.visit-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.visit-id{min-width:0}.visit-name,.visit-id .hint{overflow-wrap:anywhere;margin:0}.visit-name{font-size:14px;font-weight:600}.visit-call{color:var(--teal-deep);overflow-wrap:anywhere;align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.visit-call:hover{text-decoration:underline}.visit-tools{flex:none;align-items:center;gap:2px;display:flex}.visit-card .hint strong{color:var(--ink);font-weight:600}.visit-facts{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.visit-facts>span{background:#f4f6f6;border-radius:4px;padding:2px 8px;font-size:12px}.visit-facts .final{color:var(--teal-deep);font-weight:600}.tests-toggle{background:var(--teal-soft);color:var(--teal-deep);cursor:pointer;border:0;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:600}.visit-tests{background:#f4f6f6;border-radius:6px;padding:4px 8px}.visit-tests .line{padding:3px 0;font-size:12px}.visit-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.visit-actions select{width:auto;min-width:0;max-width:100%;height:28px;padding:2px 8px;font-size:12px}.delay-flag{color:var(--bad)}.date-split b.today{background:var(--good);color:#fff}.amount-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.amount-grid div{background:#f4f6f6;border-radius:4px;padding:4px 8px;font-size:12px}.amount-grid .final{color:var(--teal-deep);font-weight:600}.page-tabs{background:#eef1f1;border-radius:8px;gap:4px;width:fit-content;padding:4px;display:flex}.page-tabs button{cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-weight:500}.page-tabs button.active{box-shadow:var(--shadow);background:#fff}.bordered{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.sheet-page{align-content:start;min-height:calc(100vh - 88px)}.sheet-page .hint{margin:2px 0 0}.sheet-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:calc(100vh - 210px);overflow:auto}.sheet{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.sheet th,.sheet td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;background:#fff;height:32px;padding:0;font-size:13px}.sheet th{z-index:4;text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:#f4f7f7;padding:0 8px;font-size:11px;font-weight:600;position:sticky;top:0}.sheet th:first-child,.sheet td:first-child{z-index:3;min-width:84px;position:sticky;left:0}.sheet th:nth-child(2),.sheet td:nth-child(2){z-index:3;min-width:104px;position:sticky;left:84px}.sheet th:nth-child(3),.sheet td:nth-child(3){z-index:3;min-width:180px;box-shadow:1px 0 0 var(--line);position:sticky;left:188px}.sheet thead th:first-child,.sheet thead th:nth-child(2),.sheet thead th:nth-child(3){z-index:5}.sheet td:nth-child(4){min-width:148px}.sheet td:nth-child(5),.sheet td:nth-child(6){min-width:120px}.sheet td:nth-child(7),.sheet td:nth-child(8),.sheet td:nth-child(9){min-width:72px}.tube-swatch{border:1px solid #141e2838;border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.tube-swatch.lg{width:22px;height:22px}.tube-mark{align-items:center;gap:6px;height:32px;padding:0 8px;display:inline-flex}.tube-board{border:1px solid var(--line);background:#f4f8f8;border-radius:10px;gap:8px;padding:10px;display:grid}.tube-list{flex-wrap:wrap;gap:8px;display:flex}.tube-chip{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:160px;padding:6px 10px;display:flex}.tube-chip strong,.tube-chip span,.tube-chip small{display:block}.tube-chip strong{font-size:13px}.tube-chip span{font-size:12px}.tube-chip small{color:var(--muted);white-space:normal;max-width:220px;font-size:11px}.color-pick{flex-wrap:wrap;gap:6px;display:flex}.color-pick button{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.color-pick button small{color:var(--muted);font-weight:400}.color-pick button.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.tube-picker{border:1px solid var(--line);cursor:pointer;width:100%;min-height:36px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;display:flex}.sheet [data-col]:focus{outline:2px solid var(--teal);outline-offset:-2px}.sheet td.code-cell{font-variant-numeric:tabular-nums;padding:0 8px;line-height:31px}.sheet input.upper{text-transform:uppercase}.sheet tr.zero-price td{background:#fff4cc}.sheet input,.cell-menu{width:100%;height:32px;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;padding:0 8px}.cell-menu{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:6px;display:flex}.cell-menu:disabled{cursor:default;color:var(--muted)}.cell-caret{color:var(--muted);font-size:10px;line-height:1}.sheet input:focus,.cell-menu:focus{outline:2px solid var(--teal);outline-offset:-2px;box-shadow:none}.sheet tr.add td{background:#f3faf8}.sheet tr.inactive td{color:var(--muted);background:#f7f7f7}.sheet-pop{z-index:80;border:1px solid var(--line);background:#fff;border-radius:0 0 8px 8px;max-height:240px;margin:0;padding:4px;position:fixed;overflow:auto;box-shadow:0 8px 24px #10182829}.sheet-pop button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.sheet-pop button.on,.sheet-pop button:hover{background:var(--teal-soft)}.sheet-pop .check{margin:4px 0;font-size:13px}.sheet-remove{width:32px;height:32px;color:var(--bad);cursor:pointer;background:0 0;border:0;font-size:16px}.sheet-move{height:32px;color:var(--teal-deep);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:600}.sheet-page .subtabs{margin-bottom:0}.sheet-empty{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;margin:0;padding:16px}.doctor-pick{border:1px solid var(--line);border-radius:8px;gap:2px;max-height:280px;padding:4px;display:grid;overflow:auto}.doctor-pick .check{border-radius:6px;margin:0;padding:6px 8px}.doctor-pick .check:hover{background:var(--teal-soft)}.test-card,.doctor-card{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.price-input{width:110px}.test-card.dim{opacity:.6}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.role-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:12px;display:flex}.subtabs{border-bottom:1px solid var(--line);gap:4px;margin:-4px 0 16px;display:flex}.subtab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:500}.subtab.active{color:var(--teal-deep);border-bottom-color:var(--teal)}.subtab:hover:not(.active){color:var(--ink)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.page-head h1{font-size:20px}.page-head p{max-width:640px;margin:4px 0 0;font-size:13px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.eyebrow{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:500}.card,.stat,.empty,.locked{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px}.card{padding:12px 14px}.stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.stat{padding:12px 14px}.stat span{color:var(--muted);font-size:12px}.stat strong{margin-top:4px;font-size:22px;font-weight:700;display:block}.grid-2{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.split{grid-template-columns:1.4fr .8fr;align-items:start;gap:12px;display:grid}.stack{gap:10px;display:grid}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg)}.btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.primary:hover{background:var(--teal-deep)}.btn.copper{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--teal-soft)}.btn.danger{color:var(--bad);background:#fff;border-color:#f6cbcb}.btn.danger:hover{background:var(--bad-soft)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--ink);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-btn:hover{background:var(--teal-soft)}.topbar .icon-btn{margin-left:0}.field{color:var(--ink);gap:6px;font-size:13px;font-weight:500;display:grid}.field small,.field span{color:var(--muted);font-weight:500}.field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-head>span:first-child{color:var(--ink)}.field-head .test-count{color:var(--muted);white-space:nowrap;font-weight:600}.field.invalid>span,.field.invalid .field-head>span:first-child{color:var(--bad)}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--bad);background:#ca21210f}.field.invalid input:focus,.field.invalid select:focus,.field.invalid textarea:focus{border-color:var(--bad);box-shadow:0 0 0 3px #ca212126}.pay-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pay-grid label{border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:8px 10px}.pay-grid label.on{border-color:var(--teal);background:var(--teal-soft)}.stat-row{border:1px solid #ca212159;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.stat-row strong{color:var(--bad)}.card.delayed{background:#ca212114;border-color:#ca212159}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-weight:400}input[type=checkbox],input[type=radio]{flex:none;width:auto;padding:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.mode-row,.mode-add{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.mode-add{grid-template-columns:1fr auto}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #288a7a26}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filters input{width:260px}.filters select{width:auto;min-width:140px}.check{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:400;display:flex}.check input{width:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px;font-size:11px;font-weight:600}td{border-top:1px solid var(--line);vertical-align:top;padding:8px;font-size:13px}.badge{background:var(--teal-soft);color:var(--teal-deep);border-radius:6px;align-items:center;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.badge.teal,.badge.copper{background:var(--teal-soft);color:var(--teal-deep)}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.ink{color:var(--ink);background:#eef1f1}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions .btn{padding:4px 8px;font-size:12px}.search-pop{z-index:3;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.search-pop button{text-align:left;cursor:pointer;background:#fff;border:0;width:100%;padding:8px 12px;font-size:13px}.search-pop button:hover,.search-pop button.active{background:var(--teal-soft)}.suggest{position:relative}.estimate-sheet{gap:16px;max-width:672px;display:grid}.prior-estimates{gap:8px;display:grid}.prior-estimates h2{margin:0;font-size:16px;font-weight:700}.estimate-sheet h1{font-size:20px;font-weight:700}.estimate-card{gap:16px;padding:16px;display:grid}.estimate-search{position:relative}.estimate-search svg{width:16px;height:16px;color:var(--muted);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;position:absolute;top:10px;left:10px}.estimate-search:has(svg) input{padding-left:32px}.estimate-results{border:1px solid var(--line);border-radius:8px;max-height:192px;margin-top:4px;overflow:auto}.lookup{position:relative}.lookup-results{z-index:8;background:#fff;margin-top:0;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 20px #141e281f}.lookup-note{z-index:8;background:#fff;margin:0;position:absolute;top:calc(100% + 4px);left:0}.estimate-results button{text-align:left;cursor:pointer;background:#fff;border:0;width:100%;padding:8px 12px;font-size:14px}.estimate-results button.active,.estimate-results button:hover{background:var(--teal-soft)}.estimate-line{border:1px solid var(--line);border-radius:8px;flex-wrap:nowrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.estimate-line .name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.estimate-line .price{color:var(--muted);white-space:nowrap;font-size:14px}.estimate-line .tools{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.estimate-line .btn.ghost{flex:none;width:28px;height:28px;padding:0;font-size:16px;line-height:1}input.uppercase{text-transform:uppercase}.estimate-line .mini,.discount-row .mini{flex:none;width:64px;height:28px;padding:2px 6px;font-size:12px}.estimate-line input.price-input{text-align:right;white-space:nowrap;flex:0 0 88px;width:88px;height:28px;padding:2px 8px;font-size:13px}.estimate-fast{color:var(--bad);font-size:12px;font-weight:500}.discount-row{gap:8px;display:flex}.discount-row .mini-type{width:72px}.quote-box{background:#eef1f1;border-radius:8px;gap:4px;padding:16px;font-size:14px;display:grid}.quote-box .row{justify-content:space-between;display:flex}.quote-box .off{color:var(--good)}.quote-box .final{border-top:1px solid var(--line);padding-top:4px;font-weight:700}.estimate-sheet .btn.block{width:100%;padding:10px 12px}.bill{position:sticky;top:72px}.bill .total{justify-content:space-between;align-items:baseline;margin-top:8px;display:flex}.bill .total strong{font-size:22px}.line{justify-content:space-between;gap:8px;padding:6px 0;font-size:13px;display:flex}.muted{color:var(--muted)}.row-actions{justify-content:flex-end;gap:8px;display:flex}.lab-open{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.lab-open:hover{text-decoration:underline}.lab-open:disabled{cursor:wait;text-decoration:none}.fast{color:var(--teal-deep);font-size:12px;font-weight:600}.visit-list{gap:8px;display:grid}.visit{grid-template-columns:92px 1fr auto;align-items:start;gap:12px;display:grid}.when{font-size:16px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.modal-back{z-index:60;background:#141e2859;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(560px,100%);max-height:min(88vh,860px);padding:16px;overflow:auto}.modal.wide{width:min(860px,100%)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-head h3{font-size:18px}.form-grid{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.form-grid .full{grid-column:1/-1}.empty,.locked{text-align:center;padding:28px}.login-screen{background:var(--bg);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:12px;padding:24px}.login-card img{border-radius:12px;width:56px;height:56px}.login-card h1{margin-top:10px;font-size:20px}.login-card>p{margin:4px 0 16px;font-size:13px}.login-card form{text-align:left}.login-card .btn{width:100%}.demo{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.demo span{width:100%;color:var(--muted);font-size:12px}.demo button{background:var(--teal-soft);color:var(--teal-deep);cursor:pointer;border:0;border-radius:999px;padding:4px 8px;font-size:12px}.toasts{z-index:70;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--ink);color:#fff;border-radius:10px;max-width:320px;padding:12px 14px;font-size:13px}.toast.bad{background:var(--bad)}.perm-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.section-title{margin:4px 0 10px;font-size:16px}@media (width<=980px){.stats,.grid-2,.split,.form-grid,.perm-grid,.amount-grid{grid-template-columns:1fr 1fr}.visit{grid-template-columns:1fr}}@media (width<=640px){.content{padding:10px}.page{gap:8px}.stack{gap:6px}.page input,.page select,.page textarea,.modal input,.modal select,.modal textarea,.estimate-sheet input,.estimate-sheet select,.estimate-sheet textarea{padding:6px 10px;font-size:16px}.date-split{gap:8px}.date-split b{white-space:normal;text-align:center;font-size:12px;line-height:1.3}.filter-bar{gap:6px;padding:6px}.filter-bar .btn.sm,.head-actions .btn.sm{height:30px;padding:0 10px}.btn.block{height:36px}.card.visit-card{gap:4px;padding:8px 10px}.visit-tools .btn.icon,.quote-card .btn.icon{width:32px;height:32px}.visit-call{padding:0}.tests-toggle{min-height:0;margin-left:0;padding:2px 8px}.visit-actions .btn.sm,.visit-actions select,.quote-card .inline-actions .btn.sm{flex:0 auto;min-width:0;max-width:100%;height:32px}.form-grid,.pay-grid{grid-template-columns:1fr}.search-line{flex-wrap:wrap}.search-line input{flex:100%;height:36px}.subtabs{overflow-x:auto}.subtab{flex:none;padding:8px 10px}.quote-body .line>span:first-child{overflow-wrap:anywhere;min-width:0}.money-row{flex-wrap:wrap}.quote-meta{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.estimate-line{flex-wrap:wrap;align-items:flex-start}.estimate-line .name{white-space:normal;flex:100%}.estimate-line .tools{flex-wrap:wrap;margin-left:0}.estimate-line input.price-input,.estimate-line .mini,.discount-row .mini,.discount-row .mini-type{height:36px;font-size:16px}.page .sheet input,.page .cell-menu{height:34px;min-height:0;padding:0 6px;font-size:16px}.sheet-wrap{max-height:calc(100vh - 230px)}.slot{min-height:32px}.modal-back{padding:8px}.modal,.modal.wide{width:100%;max-height:92vh}}@media (width<=860px){.rail{display:none}.rail.open{width:256px;height:auto;display:block;position:fixed;top:56px;bottom:0;left:0}.header-user{display:none}.topbar .icon-btn:last-child{margin-left:auto}.install-btn~.icon-btn{margin-left:4px}.content{padding:16px}}@media (width<=640px){.content{padding:12px}}.login-links{gap:8px;margin-top:14px;font-size:13px;display:grid}.login-links a{font-weight:600}.m-site{color:#172226;background:#f4f1ea;min-height:100vh}.m-nav,.m-footer{justify-content:space-between;align-items:center;gap:16px;padding:16px 7vw;display:flex}.m-nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f1eaeb;border-bottom:1px solid #17222614;position:sticky;top:0}.m-brand{color:inherit;align-items:center;gap:10px;font-weight:700;display:flex}.m-brand img{border-radius:10px;width:36px;height:36px}.m-links{align-items:center;gap:18px;display:flex}.m-links a{color:#3d4c50;font-weight:600}.m-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;padding:56px 7vw 28px;display:grid}.m-hero-simple{grid-template-columns:1fr;max-width:980px;padding-top:64px;padding-bottom:8px}.m-subhead{letter-spacing:-.03em;color:#0f6e62;margin:16px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(28px,3.2vw,42px);font-weight:560;line-height:1.15}.m-kicker{color:#0f6e62;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.m-hero h1,.m-section h2,.m-band h2{letter-spacing:-.03em;color:#142226;font-family:Fraunces,Georgia,serif;font-weight:620}.m-hero h1{margin:0;font-size:clamp(40px,5vw,68px);line-height:1.02}.m-lead{color:#3d4c50;max-width:640px;font-size:18px;line-height:1.6}.m-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.m-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;height:44px;padding:0 18px;font-weight:700;display:inline-flex}.m-btn.primary{color:#fff;background:#0f6e62}.m-btn.ghost{color:#142226;background:0 0;border-color:#14222633}.m-tubes{gap:8px;margin-top:28px;display:flex}.m-tubes span{border-radius:9px 9px 4px 4px;width:18px;height:46px;box-shadow:inset 0 -8px #00000014}.m-panel{background:#fff;border:1px solid #14222614;border-radius:28px;padding:22px;box-shadow:0 24px 60px #14222614}.m-panel ol{gap:12px;margin:0;padding-left:18px;display:grid}.m-panel li{color:#3d4c50;line-height:1.45}.m-panel strong{color:#142226}.m-section,.m-band{padding:28px 7vw 10px}.m-section h2,.m-band h2{margin:0 0 8px;font-size:clamp(32px,4vw,48px)}.m-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.m-points{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.m-points li{background:#fff;border:1px solid #14222614;border-radius:16px;padding:16px 18px;font-weight:600;line-height:1.4}.m-card,.m-faq details{background:#fff;border:1px solid #14222614;border-radius:18px;padding:18px}.m-card h3{margin:0 0 6px;font-size:18px}.m-shots{grid-template-columns:1.15fr .85fr;align-items:start;gap:16px;margin-top:18px;display:grid}.m-shot,.m-stack{min-width:0}.m-shot{background:#fff;border:1px solid #14222614;border-radius:22px;margin:0;overflow:hidden;box-shadow:0 18px 40px #14222614}.m-shot img{object-fit:cover;object-position:top left;background:#eef3f2;width:100%;height:240px;display:block}.m-shots>.m-shot img{height:520px}.m-shot figcaption{color:#3d4c50;padding:12px 14px 14px;font-size:13px}.m-stack{gap:16px;display:grid}.m-band{color:#f4f1ea;background:#142226;margin-top:36px;padding-bottom:42px}.m-band h2,.m-band p,.m-band a{color:#f4f1ea}.m-band .m-btn.ghost{color:#f4f1ea;border-color:#f4f1ea73}.m-faq{gap:10px;margin-top:16px;display:grid}.m-faq summary{cursor:pointer;font-weight:700}.m-faq p{margin:8px 0 0}.m-form{background:#fff;border:1px solid #14222614;border-radius:24px;width:min(720px,100%);margin:12px auto 48px;padding:22px}.m-form h1{margin-bottom:8px;font-family:Fraunces,Georgia,serif;font-size:40px}.m-checks{flex-wrap:wrap;gap:16px;display:flex}.m-footer{color:#3d4c50;border-top:1px solid #17222614;font-size:13px}.m-footer nav{flex-wrap:wrap;gap:14px;display:flex}.m-wait{place-items:center;min-height:100vh;display:grid}.m-stage{color:#f7f3ea;background:radial-gradient(900px 420px at 88% -20%,#7dcec247,#0000 55%),#10211e;padding:76px 8vw 72px}.m-stage h1{letter-spacing:-.04em;color:#f7f3ea;max-width:12ch;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(46px,6.2vw,86px);font-weight:620;line-height:.96}.m-stage h2{letter-spacing:-.03em;color:#8fd9cc;max-width:18ch;margin:18px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(26px,3vw,40px);font-weight:560;line-height:1.15}.m-stage .m-btn.ghost{color:#f7f3ea;border-color:#f7f3ea66}.m-story{grid-template-columns:minmax(220px,.72fr) 1.28fr;align-items:center;gap:40px;padding:28px 8vw;display:grid}.m-story.flip{grid-template-columns:1.28fr minmax(220px,.72fr)}.m-story.flip .m-story-copy{order:2}.m-story h2{letter-spacing:-.03em;color:#142226;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(28px,3vw,44px);font-weight:620;line-height:1.08}.m-frame{background:#fff;border:1px solid #10211e14;border-radius:22px;margin:0;overflow:hidden;box-shadow:0 28px 60px #10211e24}.m-frame img{object-fit:cover;object-position:top center;background:#e8eeec;width:100%;height:440px;display:block}.m-frame.focus img{object-position:center 46%}.m-frame.short img{height:300px}.m-spot{background:linear-gradient(#fff6e4,#fffdf8);border:1px solid #e7c98a;border-radius:28px;margin:18px 8vw 28px;padding:28px}.m-spot ul{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.m-spot li{background:#fff;border-left:5px solid #d4a017;border-radius:14px;padding:16px 18px;font-weight:700;line-height:1.35;box-shadow:0 10px 24px #10211e0d}.m-closer{color:#f7f3ea;letter-spacing:-.03em;background:#10211e;border-left:8px solid #d4a017;border-radius:18px;margin:0 8vw 36px;padding:22px 28px;font-family:Fraunces,Georgia,serif;font-size:clamp(22px,2.6vw,34px);font-weight:560;line-height:1.25}@media (width<=900px){.m-hero,.m-grid,.m-shots,.m-points,.m-story,.m-story.flip,.m-spot ul{grid-template-columns:1fr}.m-story.flip .m-story-copy{order:0}.m-frame img,.m-frame.focus img,.m-frame.short img,.m-frame.contain img{object-fit:contain;object-position:center top;height:auto}.m-stage,.m-story{padding-left:16px;padding-right:16px}.m-stage{padding-top:40px;padding-bottom:36px}.m-stage h1{font-size:38px}.m-stage h2{font-size:24px}.m-story h2{font-size:28px}.m-spot,.m-closer{margin-left:16px;margin-right:16px}.m-spot{padding:18px}.m-closer{padding:16px 18px;font-size:22px}.m-links a{white-space:nowrap}.m-shots>.m-shot img,.m-shot img{height:220px}.m-nav{padding:12px 16px}.m-links{gap:10px}.m-quiet{display:none}.m-btn{white-space:nowrap;height:38px;padding:0 12px;font-size:13px}.m-hero,.m-section,.m-band{padding-left:16px;padding-right:16px}.m-footer{flex-direction:column;align-items:flex-start;padding:20px 16px 32px}}@media (width<=380px){.m-brand span{display:none}}@media print{.rail,.topbar,.banner,.no-print{display:none!important}.content{padding:0}}
