:root{--bg:#f4f6f8;--card:#fff;--ink:#1d2733;--muted:#5f6b7a;--line:#dfe4ea;--brand:#1f4e78;--brand2:#2c6aa0;--ok:#1d7a46;--warn:#9a5b00;--warnbg:#fff4df;--bad:#b42318;--badbg:#fdecea;--info:#0b5394;--infobg:#e8f1fb;--r:10px}
*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}
.compliance{position:sticky;top:0;z-index:30;background:#7a1f1f;color:#fff;padding:7px 14px;font-size:13px;text-align:center}
.top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--brand);color:#fff}
.brand{font-weight:700;font-size:16px}.tag{font-size:11px;background:#ffffff26;border-radius:6px;padding:2px 6px;margin-left:6px;font-weight:500}
.who{display:flex;gap:8px;align-items:center;font-size:13px}.top .ghost{color:#fff;border-color:#ffffff55;background:transparent}
main{max-width:1200px;margin:0 auto;padding:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.login{max-width:380px;margin:40px auto}.login label{display:block;margin:10px 0}.login input{width:100%}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);max-width:100%}
textarea{width:100%;min-height:70px}
.primary{background:var(--brand2);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:600}
.primary:disabled{opacity:.45;cursor:not-allowed}
.ghost{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 12px;color:var(--ink)}
.danger{background:var(--bad);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:600}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:default}
.stat b{display:block;font-size:20px}.stat span{color:var(--muted);font-size:12px}
.stat.alert{border-color:#f0b4ae;background:var(--badbg)}.stat.alert b{color:var(--bad)}.stat.click{cursor:pointer}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:10px;overflow-x:auto}
.tabs button{border:0;background:none;padding:9px 12px;border-bottom:3px solid transparent;color:var(--muted);font-weight:600;white-space:nowrap}
.tabs button.on{color:var(--brand);border-bottom-color:var(--brand2)}
.pill{background:var(--bad);color:#fff;border-radius:10px;padding:0 7px;font-size:11px}.pill:empty{display:none}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.filters #q{flex:1 1 260px}
.exp{display:flex;gap:6px;margin-left:auto}
.list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.lrow{display:grid;grid-template-columns:62px 1.4fr 1.6fr 1.2fr 150px;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px}
.lrow:hover{border-color:#b9c6d4}
.rank{font-weight:700;color:var(--brand)}.rank small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.owner{background:none;border:0;padding:0;color:var(--brand2);font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:2px}
.addr{color:var(--ink)}.addr small{color:var(--muted);display:block}
.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:11px;border-radius:6px;padding:1px 7px;background:#eef2f6;color:#334}
.badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.badge{font-size:11px;font-weight:650;border-radius:6px;padding:2px 7px;background:#eef2f6;color:#334;white-space:nowrap}
.b-new{background:#e8f1fb;color:#0b5394}.b-active{background:#e6f4ea;color:var(--ok)}.b-done{background:#f0eefa;color:#4b3a8c}
.b-lock{background:#2b2b2b;color:#fff}.b-phone{background:#e6f4ea;color:var(--ok)}.b-mail{background:var(--warnbg);color:var(--warn)}.b-no{background:var(--badbg);color:var(--bad)}
.b-due{background:var(--badbg);color:var(--bad)}
.more{text-align:center;margin:12px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(620px,100%);background:var(--bg);z-index:40;box-shadow:-6px 0 24px #0003;overflow-y:auto}
.drawer-inner{padding:14px 16px 60px}
.dhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.dhead h2{margin:0;font-size:19px}.dhead .sub{color:var(--muted)}
.banner{border-radius:var(--r);padding:10px 12px;margin:10px 0;border:1px solid}
.banner.stop{background:var(--badbg);border-color:#f0b4ae;color:#7a1610}.banner.warn{background:var(--warnbg);border-color:#efd29b;color:#6b4100}
.banner.info{background:var(--infobg);border-color:#bcd5f0;color:#0b3d70}.banner.lock{background:#2b2b2b;color:#fff;border-color:#000}
.banner h4{margin:0 0 4px;font-size:14px}.banner ul{margin:4px 0 0 18px;padding:0}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.sec{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:10px 0}
.sec h3{margin:0 0 8px;font-size:14px;color:var(--brand)}
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:4px 10px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;word-break:break-word}
.est{font-size:10px;font-weight:700;color:var(--warn);background:var(--warnbg);border-radius:4px;padding:0 4px;margin-left:4px;text-transform:uppercase}
.links a{display:block;color:var(--brand2);word-break:break-all;margin:3px 0}
.letter{white-space:pre-wrap;background:#fffdf7;border:1px solid #eadfbf;border-radius:8px;padding:12px;font-family:Georgia,serif;font-size:14px}
details summary{cursor:pointer;font-weight:600;color:var(--brand)}
.tl{list-style:none;margin:0;padding:0}.tl li{border-left:3px solid var(--line);padding:4px 0 8px 10px;margin-left:4px}
.tl li.call{border-color:var(--brand2)}.tl li.note{border-color:#c9a227}.tl li.lock{border-color:var(--bad)}
.tl .meta{font-size:12px;color:var(--muted)}
.modal{position:fixed;inset:0;background:#0007;z-index:60;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px 10px}
.modal-inner{background:var(--bg);border-radius:12px;width:min(760px,100%);padding:16px;box-shadow:0 10px 40px #0005}
.small-modal{width:min(440px,100%)}
.say{background:#fff;border:2px solid var(--brand2);border-radius:12px;padding:14px;font-size:17px;line-height:1.5}
.say .lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand2);font-weight:700;margin-bottom:4px}
.resp{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:12px 0}
.resp button{background:#fff;border:1px solid #b9c6d4;border-radius:10px;padding:11px;text-align:left;font-weight:600}
.resp button:hover{border-color:var(--brand2);background:#f3f8fd}
.resp button.neg{color:var(--bad)}.resp.global button{font-weight:500;font-size:13px;padding:8px}
.crumbs{font-size:12px;color:var(--muted);margin:6px 0}
.check label{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.mhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.mhead h3{margin:0}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:10px 16px;border-radius:8px;z-index:90;max-width:90%}
.toast.err{background:var(--bad)}
@media (max-width:820px){
 .lrow{grid-template-columns:48px 1fr;grid-template-areas:"r o" "r a" "r t" "r b"}
 .lrow>.c-rank{grid-area:r}.lrow>.c-owner{grid-area:o}.lrow>.c-addr{grid-area:a}.lrow>.c-type{grid-area:t}.lrow>.c-badges{grid-area:b}
 .badges{justify-content:flex-start}.exp{margin-left:0}dl.kv{grid-template-columns:1fr}dl.kv dt{margin-top:6px}
 .filters select{flex:1 1 45%}.say{font-size:16px}
}
@media (min-width:1180px){#callModal{inset:0 620px 0 0;background:#0005}#callModal .modal-inner{width:100%}}
.tbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.tbl th,.tbl td{text-align:left;padding:6px;border-bottom:1px solid var(--line)}
.resp button.obj{font-style:italic;font-weight:500;background:#fffbf0}
.say ul{margin:8px 0 0 20px;padding:0;font-size:16px}
.bulk{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;margin:6px 0}
.lrow.adm{grid-template-columns:24px 62px 1.4fr 1.6fr 1.2fr 200px}
.b-asg{background:#e8f1fb;color:#0b5394}.b-unasg{background:#f4f4f4;color:#777}
.tbl .num{text-align:right}.ghost.neg{color:var(--bad)}.small.primary,.small.ghost{padding:4px 8px;font-size:12px}
@media (max-width:820px){.lrow.adm{grid-template-columns:24px 48px 1fr;grid-template-areas:"s r o" "s r a" "s r t" "s r b"}.lrow.adm>.c-sel{grid-area:s}}
.subtabs{display:flex;gap:6px;margin:6px 0 2px}.subtabs button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 12px;font-weight:600;color:var(--muted)}.subtabs button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}.steps span{background:#eef2f6;color:var(--muted);border-radius:12px;padding:3px 10px}.steps span.on{background:var(--infobg);color:var(--info);font-weight:650}
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.grid2 label{display:block;margin:4px 0 8px}.opt{font-size:13px}
@media (max-width:820px){.grid2{grid-template-columns:1fr}}
.err{color:var(--bad)}.ok{color:var(--ok)}.warnx{color:var(--warn)}.chip.unk{background:var(--warnbg);color:var(--warn)}
.scrollx{overflow-x:auto}.tbl.prev td{vertical-align:top}.tbl.prev tr.r-error{background:#fff7f6}.tbl tr.muted td{color:var(--muted)}
.bar{height:8px;background:#eef2f6;border-radius:5px;overflow:hidden;margin:10px 0 4px}.bar i{display:block;height:100%;width:0;background:var(--brand2);transition:width .2s}
.stats4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.stats4 .stat b{display:block;font-size:22px}
.tbl.inq td{vertical-align:top}.tbl.inq tr.r-new{background:#fffaf0}
