:root{--navy:#1d3557;--blue:#2a6fdb;--green:#1a8f4c;--red:#c0392b;--amber:#b7791f;--bg:#f4f6f9;--card:#fff;--line:#dde3ea;--ink:#1f2933;--mute:#64748b}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
header{background:var(--navy);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
header h1{font-size:18px;margin:0;flex:1}header .who{font-size:14px;opacity:.85}
.badge{font-size:12px;padding:2px 8px;border-radius:10px;background:#ffffff22}
button,.btn{font:inherit;border:0;border-radius:8px;padding:10px 14px;background:var(--blue);color:#fff;cursor:pointer}
button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}header button.ghost{color:#fff;border-color:#ffffff55;padding:6px 10px}
button.green{background:var(--green)}button:disabled{opacity:.5}
main{display:grid;grid-template-columns:1fr 360px;gap:16px;padding:16px;max-width:1280px;margin:auto}
@media(max-width:900px){main{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}
.card h2{font-size:16px;margin:0 0 10px;color:var(--navy)}
.types{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.type{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);padding:12px}.type:hover{border-color:var(--blue)}
.type b{display:block}.type small{color:var(--mute)}
.script{background:#eef4ff;border-left:4px solid var(--blue);padding:10px 12px;border-radius:6px;margin:8px 0}
.result{padding:14px;border-radius:10px;font-weight:600;margin:10px 0}
.yes{background:#e3f6ea;color:var(--green);border:1px solid #b5e3c6}.no{background:#fdecea;color:var(--red);border:1px solid #f5c2bc}.amber{background:#fff6e0;color:var(--amber);border:1px solid #f0d9a4}
label{display:block;font-size:13px;color:var(--mute);margin:8px 0 4px}
input,select,textarea{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.row{display:flex;gap:8px;align-items:end}.row>*{flex:1}.row>button{flex:0 0 auto}
.zipbig{font-size:28px;letter-spacing:4px;max-width:200px}
.slot{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;margin:6px 0;cursor:pointer}
.slot.sel{border-color:var(--green);background:#f0faf4}.slot small{color:var(--mute)}
.rings{display:flex;gap:6px}.rings button{flex:1;background:#fff;color:var(--ink);border:1px solid var(--line)}.rings button.on{background:var(--navy);color:#fff}
.chat{max-height:380px;overflow:auto;font-size:14px}.q{font-weight:600;margin-top:10px}.a{background:#f7f9fb;border-radius:8px;padding:8px;margin-top:4px}.a.flag{background:#fff6e0}
.src{font-size:12px;color:var(--mute);word-break:break-all}.hide{display:none}.mute{color:var(--mute);font-size:13px}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:10px 18px;border-radius:8px}
.login{max-width:360px;margin:10vh auto}
.results{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.results button{background:#fff;color:#123;border:1px solid #c9d2dc;padding:10px 12px;border-radius:8px}.results button.on{background:#1f6feb;color:#fff;border-color:#1f6feb}
.bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:#eef2f6;min-width:120px}.bar span{display:block;height:100%}.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.kpi{border:1px solid #dde3ea;border-radius:10px;padding:10px}.kpi b{font-size:26px;display:block}
.heat td{text-align:center;min-width:34px}.heat th{font-size:12px}
