:root{--paper: #fbfaf7;--card: #ffffff;--ink: #14202b;--muted: #5c6675;--faint: #8a93a0;--line: #eceef1;--line-warm: #e7e4dc;--brand: #2d4ec8;--brand-soft: #eef1fc;--brand-deep: #1e36a0;--ok: #1b7a4b;--ok-bg: #e7f4ec;--warn: #b4530a;--warn-bg: #fbf0e2;--danger: #b42318;--danger-bg: #fbe9e7;--info: #1e36a0;--info-bg: #eef1fc;--teal: #0f6e56;--teal-bg: #e1f5ee;--r: 9px;--r-lg: 13px;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif;--disp: "Space Grotesk", var(--sans);--sidebar: #14202b;--sidebar-ink: #c8d0da}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.shell{display:grid;grid-template-columns:232px 1fr;height:100%}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.content{flex:1;overflow-y:auto;padding:22px 28px 40px}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;overflow-y:auto}.sidebar .logo{font-family:var(--disp);font-weight:700;font-size:17px;color:#fff;padding:18px 18px 14px;letter-spacing:.2px}.sidebar .logo small{display:block;font-family:var(--sans);font-weight:400;font-size:11px;color:var(--faint);margin-top:2px}.navgroup{padding:10px 10px 4px}.navgroup>.gt{font-size:10.5px;text-transform:uppercase;letter-spacing:1.1px;color:#6d7885;padding:6px 8px}.navlink{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:var(--r);color:var(--sidebar-ink);text-decoration:none;font-size:13.5px;min-height:34px}.navlink:hover{background:#ffffff0f;color:#fff}.navlink.active{background:var(--brand);color:#fff;font-weight:600}.navlink .count{font-family:var(--mono);font-size:11px;color:#93a0b0;background:#ffffff12;border-radius:99px;padding:1px 7px}.navlink.active .count{color:#dfe6ff;background:#ffffff2e}.sidebar .foot{margin-top:auto;padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#93a0b0}.sidebar .foot b{display:block;color:#e6ebf2;font-weight:600}.topbar{display:flex;align-items:center;gap:14px;padding:10px 28px;background:var(--card);border-bottom:1px solid var(--line);min-height:54px}.topbar .sel{display:flex;flex-direction:column;gap:1px}.topbar .sel label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--faint)}.topbar select{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:4px 8px;font-size:13px;min-width:180px}.topbar .agency{font-weight:600;font-size:13.5px;padding:4px 2px}.topbar .spacer{flex:1}.health{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}.health .dot{width:9px;height:9px;border-radius:50%;background:var(--faint)}.health .dot.ok{background:var(--ok)}.health .dot.down{background:var(--danger)}.mhead{margin-bottom:18px}.mhead .over{font-family:var(--mono);font-size:11.5px;color:var(--brand);letter-spacing:.4px}.mhead h1{font-family:var(--disp);font-size:26px;font-weight:700;margin:2px 0 4px}.mhead .sub{color:var(--muted);font-size:13.5px;max-width:720px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar .search{position:relative}.toolbar .search input{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:7px 10px 7px 30px;width:280px;font-size:13px}.toolbar .search:before{content:"⌕";position:absolute;left:10px;top:50%;transform:translateY(-52%);color:var(--faint);font-size:15px}.toolbar .spacer{flex:1}.btn{border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:7px 13px;font-size:13px;cursor:pointer;min-height:34px}.btn:hover{border-color:var(--faint)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.btn.primary:hover{background:var(--brand-deep)}.btn.danger{color:var(--danger);border-color:#f0c9c4}.btn.danger:hover{background:var(--danger-bg)}.btn.danger.confirm{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.accent{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.btn.accent:hover{background:#0c5a46}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--brand-soft);color:var(--brand)}.tablebox{max-height:52vh;overflow-y:auto;border-radius:var(--r-lg)}.contactcell .who{display:flex;align-items:center;gap:6px}.contactcell .coords{font-size:11px;color:var(--faint);font-family:var(--mono);margin-top:1px}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data thead th{position:sticky;top:0;z-index:1;background:#f6f5f1;border-bottom:1px solid var(--line-warm);text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:9px 12px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}table.data thead th .arrow{font-size:10px;color:var(--brand);margin-left:4px}table.data tbody td{border-bottom:1px solid var(--line);padding:8px 12px;vertical-align:middle}table.data tbody tr{cursor:pointer}table.data tbody tr:hover{background:#f7f8fb}table.data tbody tr.selected{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}table.data tbody tr.virtual{color:var(--muted);font-style:italic}.mono{font-family:var(--mono);font-size:12.5px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}.pill .pd{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.pill.danger{color:var(--danger);background:var(--danger-bg)}.pill.mut{color:var(--muted);background:#eef0f3}.panel{margin-top:14px;padding:18px}.panel h2{font-family:var(--disp);font-size:17px;margin:0 0 14px}.panel .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;max-width:900px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:var(--r);padding:7px 10px;background:#fff;font-size:13.5px;width:100%}.field .hint{font-size:11.5px;color:var(--faint)}.panel .actions{display:flex;align-items:center;gap:10px;margin-top:16px}.panel .actions .spacer{flex:1}.members{margin-top:20px;border-top:1px dashed var(--line-warm);padding-top:14px}.members h3{font-family:var(--disp);font-size:14.5px;margin:0 0 10px}.memberrow{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}.memberrow .id{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:90px}.memberrow .spacer{flex:1}.addinvite{position:relative}.addinvite .pop{position:absolute;z-index:6;top:calc(100% + 6px);right:0;width:360px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 26px #14202b29;padding:8px}.addinvite .pop input,.addinvite input{border:1px solid var(--line);border-radius:var(--r);padding:7px 10px;width:100%;font-size:13.5px}.addinvite .results{margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);max-height:240px;overflow-y:auto}.addinvite .results button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 10px;cursor:pointer;font-size:13px}.addinvite .results button:hover{background:var(--brand-soft)}.addinvite .results .from{margin-left:auto;font-size:11.5px;color:var(--faint)}.mdgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:14px;align-items:start}.fiche{padding:18px}.fiche h2{font-family:var(--disp);font-size:18px;margin:0 0 2px}.fiche .extid{font-family:var(--mono);font-size:12px;color:var(--muted)}.fiche .section{margin-top:16px}.fiche .section>.st{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600;margin-bottom:6px}.fiche .kv{display:flex;gap:8px;padding:3px 0;font-size:13.5px}.fiche .kv .k{color:var(--faint);min-width:86px}.btn.pillbtn{border-radius:99px;padding:5px 12px}.btn.pillbtn.on{background:var(--warn-bg);border-color:var(--warn);color:var(--warn);font-weight:600}.state{padding:34px;text-align:center;color:var(--muted)}.state .big{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}.state .actions{margin-top:14px;display:flex;gap:10px;justify-content:center}.skl{display:block;height:13px;border-radius:6px;background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9,#eef0f3 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.toasts{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--ink);color:#fff;border-radius:var(--r);padding:10px 16px;font-size:13px;box-shadow:0 8px 24px #14202b40;max-width:420px}.toast.error{background:var(--danger)}.formerr{color:var(--danger);background:var(--danger-bg);border-radius:var(--r);padding:8px 12px;font-size:13px;margin-top:12px;max-width:900px}
