:root{background:#f4f6f8;color:#1f2933;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d8dee6;display:flex;justify-content:space-between;padding:18px 32px}.topbar div{display:grid;gap:2px}.topbar strong{font-size:17px}.topbar span,.muted{color:#64748b}.topbar-status{background:#eef6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:800;padding:7px 11px}.main{display:grid;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);padding:24px 32px 44px}.panel{background:#fff;border:1px solid #d8dee6;border-radius:8px;padding:18px}.wide,.hero-panel{grid-column:1 / -1}.hero-panel{align-items:end;display:grid;gap:18px;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:0;margin-bottom:8px}h2{font-size:18px;letter-spacing:0;margin-bottom:0}h3{font-size:14px;margin-bottom:10px}.section-title{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.section-title span{color:#64748b;font-size:12px;font-weight:800}.overview-grid,.metrics{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.metric{border:1px solid #d8dee6;border-radius:8px;display:grid;gap:6px;min-height:76px;padding:12px}.metric span{color:#64748b;font-size:12px;font-weight:700}.metric strong{font-size:22px}.search-form{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.autocomplete{position:relative}input{border:1px solid #bcc7d3;border-radius:7px;color:#1f2933;min-height:42px;min-width:0;padding:10px 12px;width:100%}input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24;outline:none}button[type=submit]{align-items:center;background:#0f766e;border:0;border-radius:7px;color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:42px;padding:10px 15px}.suggestions{background:#fff;border:1px solid #d8dee6;border-radius:8px;box-shadow:0 18px 40px #0f172a24;display:grid;left:0;max-height:340px;overflow:auto;position:absolute;right:0;top:calc(100% + 6px);z-index:10}.suggestion,.result-row,.town-row{background:transparent;border:0;color:inherit;display:grid;gap:4px;padding:11px 12px;text-align:left}.suggestion+.suggestion,.result-row+.result-row,.town-row+.town-row{border-top:1px solid #edf1f5}.suggestion:hover,.result-row:hover,.town-row:hover{background:#f8fafc}.suggestion span,.result-row span,.town-row span{font-weight:800}.suggestion small,.result-row small{color:#64748b}.result-list,.source-list,.town-list{border:1px solid #d8dee6;border-radius:8px;display:grid;overflow:hidden}.detail-panel{align-self:start}.transparency-panel{display:grid;gap:16px}.transparency-summary{display:grid;gap:16px;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.transparency-summary p{margin-bottom:6px}.transparency-summary small{color:#64748b}.method-list{border:1px solid #d8dee6;border-radius:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.method-step{display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:12px}.method-step+.method-step{border-left:1px solid #edf1f5}.method-step span{align-items:center;background:#eef6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:900;height:24px;justify-content:center;width:24px}.method-step p{margin-bottom:0}.transparency-columns{display:grid;gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.compact-title{margin-bottom:10px}.transparency-table{border:1px solid #d8dee6;border-radius:8px;overflow:hidden}.transparency-row{align-items:center;display:grid;gap:10px;padding:10px 12px}.transparency-row+.transparency-row{border-top:1px solid #edf1f5}.transparency-row span{color:#475569;min-width:0}.source-transparency-row{grid-template-columns:minmax(170px,1.35fr) minmax(80px,.55fr) minmax(110px,.7fr) minmax(80px,.5fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(80px,.5fr)}.batch-row{grid-template-columns:minmax(130px,.9fr) minmax(170px,1.2fr) minmax(110px,.7fr)}.batch-row span:nth-child(n+4){font-size:12px}.status-allowed{color:#0f766e!important;font-weight:800}.status-blocked{color:#b42318!important;font-weight:800}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{align-items:center;background:#e6f4f1;border-radius:999px;color:#0f766e;display:inline-flex;font-size:12px;font-weight:800;gap:6px;padding:5px 10px;white-space:nowrap}.empty{align-items:center;border:1px dashed #aeb9c5;border-radius:8px;color:#64748b;display:flex;gap:10px;min-height:82px;padding:16px}.source-row{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.source-row+.source-row{border-top:1px solid #edf1f5}.source-row p{margin-bottom:6px}.source-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.tabs{display:flex;gap:8px;margin-bottom:12px}.tabs button{background:#fff;border:1px solid #bcc7d3;border-radius:7px;color:#334155;font-weight:800;padding:8px 12px}.tabs button.active{background:#0f172a;border-color:#0f172a;color:#fff}.data-table,.mini-table{border:1px solid #d8dee6;border-radius:8px;overflow:hidden}.data-row,.mini-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(190px,1.5fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(100px,.7fr);padding:10px 12px}.data-row+.data-row,.mini-row+.mini-row{border-top:1px solid #edf1f5}.data-row span,.mini-row span{color:#475569;min-width:0}.town-row{align-items:center;grid-template-columns:minmax(0,1fr) auto}.town-row strong{color:#0f766e}@media(max-width:980px){.main,.hero-panel,.overview-grid,.metrics.compact,.search-form,.transparency-summary,.transparency-columns,.method-list{grid-template-columns:1fr}.method-step+.method-step{border-left:0;border-top:1px solid #edf1f5}.topbar{align-items:flex-start;flex-direction:column;gap:10px;padding:16px}.main{padding:18px 16px 32px}.data-row,.mini-row,.source-transparency-row,.batch-row{grid-template-columns:1fr}}
