:root{--ink:#12212e;--ink-soft:#4a5c6b;--paper:#f5f3ef;--card:#fff;--line:#dfdcd4;--tax:#7e93a5;--bad:#c0392b;--mid:#c97b18;--good:#177a63;--accent:#2f6fd0;--radius:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{color:var(--ink);background:#e7e4dd;justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 12px;font-family:Inter,system-ui,sans-serif;display:flex}#root{justify-content:center;width:100%;display:flex}.phone{background:var(--paper);border:1px solid var(--line);border-radius:28px;flex-direction:column;width:100%;max-width:400px;height:min(880px,100dvh - 48px);min-height:560px;display:flex;position:relative;overflow:hidden}@media (width<=440px){body{padding:0}.phone{border:none;border-radius:0;max-width:none;height:100dvh;min-height:0}}.screen{flex-direction:column;flex:1;min-height:0;display:flex}header{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:12px;padding:18px 20px 14px;display:flex}header h1{letter-spacing:-.02em;font-family:Bricolage Grotesque,sans-serif;font-size:19px;font-weight:700}header .sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.back{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0 4px 0 0;font-family:inherit;font-size:20px;line-height:1}.linkbtn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px;font-family:inherit;font-size:13px;text-decoration:underline}main{flex:1;min-height:0;padding:18px 20px 24px;overflow:auto}footer{border-top:1px solid var(--line);background:var(--card);padding:14px 20px 20px}.btn{border-radius:var(--radius);cursor:pointer;background:var(--ink);color:#fff;border:none;width:100%;padding:15px;font-family:inherit;font-size:15px;font-weight:500}.btn.ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.btn+.btn{margin-top:10px}.row{gap:10px;display:flex}.row .btn{margin-top:0}.login{flex-direction:column;flex:1;justify-content:center;padding:40px 28px;display:flex}.wordmark{letter-spacing:-.04em;font-family:Bricolage Grotesque,sans-serif;font-size:44px;font-weight:700}.tagline{color:var(--ink-soft);margin:10px 0 36px;font-size:15px;line-height:1.5}.gbtn{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);cursor:pointer;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.gdot{background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);border-radius:50%;width:16px;height:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;margin-bottom:10px;padding:14px;font-family:inherit;display:block}.card .top{justify-content:space-between;align-items:center;gap:11px;display:flex}.card .ic{color:#664fc2;background:#efecfa;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card .ic svg{display:block}.info{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;align-items:center;gap:13px;width:100%;margin-bottom:14px;padding:14px;font-family:inherit;display:flex}.info .arw{color:var(--ink-soft);flex:none;font-size:16px}.info .ic{color:#664fc2;background:#efecfa;border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.info .ic svg{width:24px;height:24px;display:block}.i-nm{font-size:15px;font-weight:500;line-height:1.3}.i-meta{color:var(--ink-soft);margin-top:3px;font-size:12px}.i-extras{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.card .nm{font-size:15px;font-weight:500}.card .meta{color:var(--ink-soft);margin-top:3px;font-size:12px}.num{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.total{font-size:16px;font-weight:500}.bar{background:var(--line);border-radius:3px;height:6px;margin-top:11px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.bar .price{background:var(--ink)}.bar .reno{background:var(--mid)}.bar .tax{background:var(--tax)}.legend{color:var(--ink-soft);gap:12px;margin-top:9px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:2px;width:8px;height:8px;display:block}.rank{color:var(--ink-soft);border:1px solid var(--line);border-radius:4px;margin-right:7px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:11px}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:22px 0 10px;font-size:11px;font-weight:500}.section-label:first-child{margin-top:0}.empty{text-align:center;color:var(--ink-soft);padding:40px 20px;font-size:14px;line-height:1.6}label{margin:16px 0 6px;font-size:13px;font-weight:500;display:block}label:first-of-type{margin-top:0}input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;padding:13px;font-family:inherit;font-size:15px}input:focus,.btn:focus-visible,.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint{color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.5}.chips{gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink-soft);border-radius:10px;flex:1;padding:11px;font-family:inherit;font-size:14px}.chip.on{border-color:var(--ink);color:var(--ink);font-weight:500}.grid2{gap:10px;display:flex}.grid2>div{flex:1}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;padding:9px 16px;font-family:inherit;font-size:14px;transition:background .18s,color .18s,border-color .18s,padding .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;position:relative}.tag:hover{border-color:#c9c5bb}.tag.on{background:var(--ink);border-color:var(--ink);color:#fff;padding-right:36px;font-weight:500}.tag .chk{width:17px;height:17px;color:var(--ink);opacity:0;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:transform .24s cubic-bezier(.175,.885,.32,1.275),opacity .16s;display:flex;position:absolute;right:11px;transform:scale(0)}.tag.on .chk{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.tag,.tag .chk{transition-duration:0s}}.domain{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:20px 0 4px;padding:5px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-block}.domain:first-child{margin-top:0}.item{border-bottom:1px solid var(--line);padding:14px 0}.q{font-size:15px;line-height:1.4}.q em{color:var(--ink-soft);font-size:13px;font-style:normal}.states{gap:7px;margin-top:11px;display:flex}.st{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink-soft);border-radius:9px;flex:1;padding:9px 0;font-family:inherit;font-size:13px}.st.on[data-v=bad]{background:var(--bad);border-color:var(--bad);color:#fff}.st.on[data-v=mid]{background:var(--mid);border-color:var(--mid);color:#fff}.st.on[data-v=good]{background:var(--good);border-color:var(--good);color:#fff}.st.on[data-v=na]{background:var(--ink-soft);border-color:var(--ink-soft);color:#fff}.livebar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.livebar .lbl{color:var(--ink-soft);font-size:12px}.livebar .val{font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:500}.reno-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.reno-item:last-child{border-bottom:none}.tick{border:1px solid var(--line);background:var(--card);cursor:pointer;color:#fff;border-radius:6px;flex:none;width:22px;height:22px;font-family:inherit;font-size:13px;line-height:1}.tick.on{background:var(--ink);border-color:var(--ink)}.reno-item .t{flex:1;font-size:14px;line-height:1.35}.reno-item .t small{color:var(--ink-soft);margin-top:2px;font-size:12px;display:block}.reno-item .c{font-family:IBM Plex Mono,monospace;font-size:14px}.off{opacity:.4}.slider{border-bottom:1px solid var(--line);padding:15px 0}.slider:last-child{border-bottom:none}.slider .head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.slider .nm2{font-size:14px}.slider .amt{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500}.slider .sub2{color:var(--ink-soft);margin-top:2px;font-size:12px}input[type=range]{appearance:none;background:0 0;border:none;width:100%;height:22px;margin-top:8px;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--card);border:1px solid var(--ink);cursor:pointer;border-radius:50%;width:20px;height:20px;margin-top:-8px}input[type=range]::-moz-range-thumb{background:var(--card);border:1px solid var(--ink);cursor:pointer;border-radius:50%;width:20px;height:20px}.dflt{color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:20px;padding:2px 8px;font-family:inherit;font-size:11px}.label-row{justify-content:space-between;align-items:center;margin:22px 0 6px;display:flex}.all{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:7px;padding:4px 0;font-family:inherit;font-size:12px;display:flex}.all .tick{border:1px solid var(--line);background:var(--card);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:flex}.all .tick.on{background:var(--ink);border-color:var(--ink)}.all .tick.some{background:var(--card);border-color:var(--ink)}.all .tick.some:after{content:"";background:var(--ink);border-radius:1px;width:9px;height:1.5px}.big{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:18px}.big .k{color:var(--ink-soft);font-size:12px}.big .v{letter-spacing:-.02em;margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:30px;font-weight:500}.split{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;font-size:14px;display:flex}.split:last-child{border-bottom:none}.split .num{color:var(--ink-soft)}.warn{color:#7a5410;background:#fbf2e2;border:1px solid #e8d3a8;border-radius:10px;margin-bottom:14px;padding:12px;font-size:13px;line-height:1.5}.nav{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:14px;font-family:inherit;display:flex}.nav .n1{font-size:15px;font-weight:500}.nav .n2{color:var(--ink-soft);margin-top:3px;font-size:12px}.nav .arw{color:var(--ink-soft);flex:none;font-size:16px}.nav .ic{color:#664fc2;background:#efecfa;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.nav .ic svg{display:block}.tally{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.pill{border:1px solid var(--line);color:var(--ink-soft);border-radius:20px;padding:3px 8px;font-size:12px}.pill b{font-weight:500}.p-bad{color:#8e2a1f;background:#f9eae8;border-color:#ebc7c1}.p-mid{color:#7a5410;background:#fbf2e2;border-color:#e8d3a8}.p-good{color:#125a4a;background:#e4f1ed;border-color:#b9d8cf}.pill.zero{border-color:var(--line);color:var(--ink-soft);opacity:.55;background:0 0}.modal-overlay{z-index:50;background:#12212e73;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out modal-fade;display:flex;position:absolute;inset:0}.modal-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:320px;padding:20px;animation:.18s cubic-bezier(.175,.885,.32,1.275) modal-pop;box-shadow:0 12px 40px #12212e40}.modal-title{letter-spacing:-.02em;font-family:Bricolage Grotesque,sans-serif;font-size:17px;font-weight:700}.modal-text{color:var(--ink-soft);margin:8px 0 18px;font-size:14px;line-height:1.5}.modal-actions{gap:10px;display:flex}.modal-actions .btn{margin-top:0}.btn-danger{background:var(--bad);color:#fff}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-card{animation:none}}.btn-trash{border-radius:var(--radius);width:52px;color:var(--bad);cursor:pointer;background:#f9eae8;border:1px solid #ebc7c1;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.btn-trash:hover{background:#f3dbd7}.btn-trash:focus-visible{outline:2px solid var(--bad);outline-offset:2px}.i-plain{display:flex}.acc-item{border-bottom:1px solid var(--line)}.acc-header{margin:0;display:flex}.acc-trigger{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:14px 0;font-family:inherit;font-size:14px;font-weight:500;display:flex}.acc-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.acc-code{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-family:IBM Plex Mono,monospace;font-size:11px}.acc-name{flex:1}.acc-pill{flex:none}.acc-count{color:var(--ink-soft);font-size:12px}.acc-chevron{width:16px;height:16px;color:var(--ink-soft);flex:none;transition:transform .2s}.acc-trigger[data-state=open] .acc-chevron{transform:rotate(180deg)}.acc-content{overflow:hidden}.acc-content[data-state=open]{animation:.2s ease-out accordion-down}.acc-content[data-state=closed]{animation:.2s ease-out accordion-up}.acc-body{padding-bottom:6px}.acc-body .item:first-child{padding-top:4px}.acc-body .item:last-child{border-bottom:none}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@media (prefers-reduced-motion:reduce){.acc-content[data-state=open],.acc-content[data-state=closed]{animation:none}.acc-chevron{transition:none}}
