:root{--bg: #0d1117;--panel: #161b22;--panel-2: #1c2430;--line: #263041;--tx: #e6edf3;--tx-dim: #9aa7b6;--accent: #f0a500;--good: #2ea043;--mid: #d29922;--bad: #da3633;--radius: 12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:1180px;margin:0 auto;padding:24px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:14px}.logo{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent),#c47b00);color:#1a1200;font-weight:800;letter-spacing:.5px}.brand h1{margin:0;font-size:20px;letter-spacing:-.2px}.brand p{margin:2px 0 0;color:var(--tx-dim);font-size:13px}.badge-src{font-size:12px;color:var(--tx-dim);border:1px solid var(--line);padding:6px 10px;border-radius:999px}.searchbar{display:flex;gap:10px;margin-bottom:22px}.searchbar input{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--tx);border-radius:var(--radius);padding:14px 16px;font-size:15px;outline:none}.searchbar input:focus{border-color:var(--accent)}button{background:var(--accent);color:#1a1200;border:0;border-radius:var(--radius);padding:14px 22px;font-size:15px;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--tx);border:1px solid var(--line)}button.link{background:none;color:var(--tx-dim);padding:6px 0;font-weight:400;font-size:13px}.layout{display:grid;grid-template-columns:1fr 260px;gap:20px;align-items:start}@media(max-width:900px){.layout{grid-template-columns:1fr}}aside{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}aside h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--tx-dim)}.history{list-style:none;margin:0;padding:0;display:grid;gap:6px}.history button{width:100%;background:var(--panel-2);color:var(--tx);font-weight:400;font-size:13px;text-align:left;padding:9px 10px;display:flex;gap:8px;justify-content:space-between;align-items:center}.h-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:#30363d}.pill.g{background:#2ea04333;color:#4ade80}.pill.m{background:#d2992233;color:#f0c674}.pill.b{background:#da363333;color:#ff7b72}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px}.card h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--tx-dim)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.grid2{grid-template-columns:1fr}}.head{display:flex;align-items:center;justify-content:space-between;gap:18px}.head h2{margin:0;font-size:20px}.sub{margin:6px 0 0;color:var(--tx-dim);font-size:13px}.row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.06)}.row:last-of-type{border-bottom:0}.row span{color:var(--tx-dim);font-size:13px}.row b{font-variant-numeric:tabular-nums}.row.big b{font-size:18px;color:var(--accent)}.verdict{border-left:4px solid var(--line)}.verdict.good{border-left-color:var(--good)}.verdict.bad{border-left-color:var(--bad)}.verdict.unknown{border-left-color:var(--mid)}.verdict-main{display:grid;gap:6px;font-size:14px}.verdict-main strong{font-size:15px}.muted{color:var(--tx-dim);font-size:13px}.bullets{margin:0;padding-left:18px;display:grid;gap:7px}.bullets li{font-size:14px}.flags{border-left:4px solid var(--mid)}.factors{list-style:none;margin:0;padding:0;display:grid;gap:6px}.factors li{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:7px 10px;border-radius:8px;background:var(--panel-2)}.factors li.g{box-shadow:inset 3px 0 0 var(--good)}.factors li.b{box-shadow:inset 3px 0 0 var(--bad)}.factors li.n{box-shadow:inset 3px 0 0 var(--mid)}.score{text-align:center;min-width:108px}.dial{width:88px;height:88px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;background:conic-gradient(currentColor calc(var(--pct)),#263041 0)}.dial span{width:68px;height:68px;border-radius:50%;background:var(--panel);color:var(--tx);display:grid;place-items:center;font-size:22px;font-weight:700}.score small{color:var(--tx-dim);font-size:12px}.score.g{color:var(--good)}.score.m{color:var(--mid)}.score.b{color:var(--bad)}.alert{border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;font-size:14px;border:1px solid}.alert.error{background:#da36331a;border-color:#da363366;color:#ffb4ae}.alert.warn{background:#d299221a;border-color:#d2992266;color:#f0c674}.alert.info{background:#388bfd14;border-color:#388bfd4d;color:#a5c9ff}.alert code{background:#ffffff14;padding:1px 5px;border-radius:4px}.empty{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.empty h2{margin:0 0 8px}.empty p{color:var(--tx-dim);max-width:62ch}.samples{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}.samples span{color:var(--tx-dim);font-size:13px}.samples button{background:var(--panel-2);color:var(--tx);font-size:13px;font-weight:400;padding:8px 12px}textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:12px;font:inherit;resize:vertical;outline:none}textarea:focus{border-color:var(--accent)}.actions{display:flex;gap:10px;margin-top:12px}.summary{margin:14px 0 0;background:#0b0f14;border:1px solid var(--line);border-radius:8px;padding:14px;font-size:12.5px;color:var(--tx-dim);white-space:pre-wrap;overflow-x:auto}.fineprint{color:var(--tx-dim);font-size:12px;margin:10px 0 0}.legal{color:var(--tx-dim);font-size:12px;margin-top:26px;text-align:center;max-width:76ch;margin-inline:auto}@media print{body{background:#fff;color:#000}aside,.searchbar,.topbar .badge-src,.actions,.summary{display:none}.card{border-color:#ccc;background:#fff;page-break-inside:avoid}.row span,.muted,.sub,.fineprint,.legal{color:#555}.dial span{background:#fff;color:#000}}.matches{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.matches li{display:flex;align-items:center;gap:10px}.matches button{flex:1;background:var(--panel-2);color:var(--tx);font-weight:400;text-align:left;padding:12px 14px;display:grid;gap:4px}.m-addr{font-size:15px;font-weight:600}.m-meta{font-size:12.5px;color:var(--tx-dim)}.field{position:relative;flex:1}.field input{width:100%}.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;list-style:none;margin:0;padding:6px;display:grid;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px #00000080}.suggest button{width:100%;background:transparent;color:var(--tx);font-weight:400;font-size:14px;text-align:left;padding:10px 12px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.suggest button:hover,.suggest button.on{background:var(--panel-2)}.tag{font-size:11px;font-style:normal;color:var(--tx-dim);border:1px solid var(--line);padding:2px 7px;border-radius:999px;white-space:nowrap}.tag.saved{color:#f0c674;border-color:#d2992266}.tag.verified{color:#4ade80;border-color:#2ea04359}.lead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lead-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--tx-dim)}.owner{margin:4px 0 12px;font-size:26px;line-height:1.2;letter-spacing:-.3px;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{font-size:12px;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--tx-dim)}.chip.ok{color:#4ade80;border-color:#2ea04366;background:#2ea0431a}.chip.warn{color:#f0c674;border-color:#d2992266;background:#d299221a}.chip.bad{color:#ff7b72;border-color:#da363366;background:#da36331a}button.link-chip{color:var(--accent);border-color:#f0a50073;background:#f0a5001a;cursor:pointer}.lead-facts{margin:0;display:grid;gap:0}.lead-facts>div{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.lead-facts dt{color:var(--tx-dim);font-size:13px}.lead-facts dd{margin:0;font-size:15px}.lead-facts dd.dim{color:var(--tx-dim);font-size:13px}.others{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.others button{background:var(--panel-2);color:var(--tx);font-weight:400;font-size:13px;padding:8px 11px;text-align:left;width:100%}@media(max-width:760px){.app{padding:14px 14px calc(40px + env(safe-area-inset-bottom))}.topbar{margin-bottom:16px}.topbar .badge-src{display:none}.brand h1{font-size:18px}.brand p{font-size:12px}.logo{width:38px;height:38px}.searchbar{flex-direction:column;gap:8px}.searchbar input{font-size:16px;padding:15px 14px}.searchbar>button{width:100%;min-height:50px}.suggest{position:static;box-shadow:none;margin-top:6px}.suggest button{padding:13px 12px}.card{padding:15px;border-radius:14px}.owner{font-size:22px}.lead-facts>div{grid-template-columns:1fr;gap:3px;padding:10px 0}.lead-facts dd{font-size:15px;word-break:break-word}.row{flex-wrap:wrap;gap:4px}.row.big b{font-size:17px}.score{min-width:0;width:84px;flex:none}.dial{width:60px;height:60px}.dial span{width:46px;height:46px;font-size:17px}.score small{display:block;font-size:10.5px;line-height:1.25}.matches button,.history button,.others button{padding:13px 12px}.empty{padding:22px}.samples button{width:100%}.actions{flex-direction:column}.actions button{width:100%;min-height:48px}.summary{font-size:11.5px}aside{margin-top:6px}}.login-page{min-height:100svh;display:grid;place-items:center}.login{width:min(360px,100%);display:grid;gap:12px;justify-items:center;text-align:center;padding:30px 24px}.login h1{margin:6px 0 0;font-size:22px}.login p{margin:0}.login input{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--tx);border-radius:10px;padding:14px;font-size:16px;outline:none;text-align:center}.login input:focus{border-color:var(--accent)}.login button{width:100%;min-height:48px}.login .alert{width:100%;margin:0}.langswitch{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px}.langswitch button{background:transparent;color:var(--tx-dim);font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:999px;min-height:0}.langswitch button.on{background:var(--accent);color:#1a1200;font-weight:700}.login .langswitch{margin-top:4px}[dir=rtl] .bullets{padding-left:0;padding-right:18px}[dir=rtl] .verdict{border-left:0;border-right:4px solid var(--line)}[dir=rtl] .verdict.good{border-right-color:var(--good)}[dir=rtl] .verdict.bad{border-right-color:var(--bad)}[dir=rtl] .verdict.unknown{border-right-color:var(--mid)}[dir=rtl] .flags{border-left:0;border-right:4px solid var(--mid)}[dir=rtl] .factors li.g{box-shadow:inset -3px 0 0 var(--good)}[dir=rtl] .factors li.b{box-shadow:inset -3px 0 0 var(--bad)}[dir=rtl] .factors li.n{box-shadow:inset -3px 0 0 var(--mid)}[dir=rtl] .summary,[dir=rtl] .h-label,[dir=rtl] .m-addr,[dir=rtl] .m-meta{text-align:left}[dir=rtl] .suggest button,[dir=rtl] .others button,[dir=rtl] .matches button,[dir=rtl] .searchbar input{text-align:right}.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button{background:var(--panel);color:var(--tx-dim);border:1px solid var(--line);font-size:14px;font-weight:500;padding:10px 18px;border-radius:999px}.tabs button.on{background:var(--panel-2);color:var(--tx);border-color:var(--accent)}@media(max-width:760px){.tabs button{flex:1;padding:12px 10px;font-size:13px}}.filters .filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters select{background:var(--panel-2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;min-width:150px;outline:none}.filters select:focus{border-color:var(--accent)}.check{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--tx-dim);cursor:pointer}.check input{width:17px;height:17px;accent-color:var(--accent)}@media(max-width:760px){.filters .filter-row{flex-direction:column;align-items:stretch}.filters select{width:100%;min-height:46px}.check{padding:6px 0}}.squares{display:flex;align-items:center;gap:14px;margin-bottom:14px}.squares-big{font-size:40px;font-weight:800;color:var(--accent);line-height:1;min-width:68px;text-align:center}.squares strong{display:block;font-size:15px}.squares .muted{font-size:12.5px}.filebtn{background:var(--accent);color:#1a1200;border-radius:var(--radius);padding:13px 18px;font-size:14px;font-weight:600;cursor:pointer;text-align:center;flex:1}.filebtn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:14px}.gallery figure{margin:0;position:relative}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}.gallery .del{position:absolute;top:4px;right:4px;width:24px;height:24px;min-height:0;padding:0;border-radius:50%;background:#000000a6;color:#fff;font-size:15px;line-height:1}[dir=rtl] .gallery .del{right:auto;left:4px}.aerial{margin-bottom:14px}.aerial img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)}.aerial-controls{display:flex;gap:6px;margin-top:8px}.aerial-controls button,.aerial-controls .maplink{flex:1;font-size:12.5px;padding:9px 6px;text-align:center;border-radius:8px;background:transparent;color:var(--tx);border:1px solid var(--line);text-decoration:none;line-height:1.4;font-weight:500;cursor:pointer}.aerial-stage{position:relative;cursor:crosshair;touch-action:manipulation}.aerial-stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.trace{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.squares>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.squares .chip{margin-top:2px}.aerial-controls{flex-wrap:wrap}.aerial-controls button:disabled{opacity:.4}.permits{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.permits li{background:var(--panel-2);border-radius:10px;padding:12px 14px}.permit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.permit-head b{font-size:14px}.permit-value{margin-inline-start:auto;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.permit-desc{margin:7px 0 0;font-size:13.5px;line-height:1.45}.readbtn{width:100%;margin-top:8px;font-size:14px;padding:12px}.reading{margin-top:12px;background:var(--panel-2);border-radius:10px;padding:4px 14px 12px}.reading .row b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.material-pick{width:100%;margin-top:8px;background:var(--panel-2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;font-size:14px}.zips{flex:1;min-width:180px;background:var(--panel-2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;outline:none}.zips:focus{border-color:var(--accent)}.lines{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.lines td{padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}.lines tr.off{opacity:.4}.lines .tick{width:26px}.lines .tick input{width:16px;height:16px;accent-color:var(--accent)}.lines .qty,.lines .rate{width:84px}.lines .qty input,.lines .rate input{width:60px;background:var(--panel-2);color:var(--tx);border:1px solid var(--line);border-radius:6px;padding:6px 7px;font:inherit;font-size:13px;text-align:right}.lines .qty small{color:var(--tx-dim);font-size:11px;margin-inline-start:4px}.lines .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.qsettings{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.qsettings label{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:10px}.qsettings span{color:var(--tx-dim);font-size:13px}.qsettings input{background:var(--panel-2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;outline:none}@media(max-width:760px){.qsettings label{grid-template-columns:1fr;gap:3px}}.print-sheet{display:none}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{display:block;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;background:#fff;color:#000;font-size:12pt}.print-sheet header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #000;padding-bottom:10px}.print-sheet h1{margin:0;font-size:18pt}.print-sheet header p{margin:4px 0 0;font-size:10pt;color:#333}.ps-meta{text-align:right;display:grid;gap:2px;font-size:10pt}.ps-meta strong{font-size:13pt;letter-spacing:1px}.ps-to{display:flex;justify-content:space-between;gap:24px;margin:18px 0;font-size:10.5pt}.ps-to div{display:grid;gap:2px}.ps-to span{color:#555}.ps-scope h2{font-size:11pt;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.ps-scope p{margin:0 0 16px;font-size:10.5pt;line-height:1.5}.ps-lines{width:100%;border-collapse:collapse;font-size:10.5pt}.ps-lines th{text-align:left;border-bottom:1px solid #000;padding:6px 4px;font-size:9.5pt;text-transform:uppercase}.ps-lines td{padding:7px 4px;border-bottom:1px solid #ddd}.ps-lines th:last-child,.ps-lines td:last-child{text-align:right}.ps-lines tfoot td{font-weight:700;font-size:13pt;border-top:2px solid #000;border-bottom:0;padding-top:10px}.ps-terms{font-size:9pt;color:#444;margin-top:18px;line-height:1.5}.ps-sign{display:flex;gap:40px;margin-top:40px}.ps-sign div{flex:1;border-top:1px solid #000;padding-top:5px;font-size:9.5pt;color:#555}}
