:root{--bg:#ffffff;--bg2:#f8f9fa;--bg3:#f5f4f1;--surface:#fff;--ink:#111111;--ink2:#3d3d3d;--muted:#5c5c5c;--teal:#0d6b5e;--teal-md:#0f7d6e;--teal-lt:#e8f4f2;--teal-glow:rgba(13,107,94,.1);--copper:#bf5a12;--copper-lt:#fbeee4;--accent:#1ac8b0;--line:#e2e8f0;--line2:#cbd5e1;--ok:#0d6b5e;--warn:#8a5a00;--warn-bg:#fff7e6;--bad:#b42318;--bad-bg:#fdecea;--b1:#bf5a12;--b2:#0d6b5e;--b3:#5b4b8a;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--brand:"Outfit","Inter",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1113;--bg2:#14181b;--bg3:#181c20;--surface:#14181b;--ink:#eceff1;--ink2:#c9cfd4;--muted:#99a2aa;--teal:#3fb8a5;--teal-md:#52c7b4;--teal-lt:#14302c;--teal-glow:rgba(63,184,165,.12);--copper:#e8722a;--copper-lt:#33200f;--line:#262d33;--line2:#323b42;--warn:#f3c56b;--warn-bg:#2a2210;--bad:#ff8a80;--bad-bg:#3a1714;--b1:#e8722a;--b2:#3fb8a5;--b3:#a593e0}}:root[data-theme=dark]{--bg:#0e1113;--bg2:#14181b;--bg3:#181c20;--surface:#14181b;--ink:#eceff1;--ink2:#c9cfd4;--muted:#99a2aa;--teal:#3fb8a5;--teal-md:#52c7b4;--teal-lt:#14302c;--teal-glow:rgba(63,184,165,.12);--copper:#e8722a;--copper-lt:#33200f;--line:#262d33;--line2:#323b42;--warn:#f3c56b;--warn-bg:#2a2210;--bad:#ff8a80;--bad-bg:#3a1714;--b1:#e8722a;--b2:#3fb8a5;--b3:#a593e0}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--teal-glow) 1px,transparent 1px),linear-gradient(90deg,var(--teal-glow) 1px,transparent 1px);background-size:60px 60px;opacity:.35;pointer-events:none;z-index:0}a{color:var(--teal)}button{font:inherit;color:inherit}.app{position:relative;z-index:1;display:grid;grid-template-columns:232px 1fr;min-height:100vh}aside{border-right:1px solid var(--line);background:var(--bg2);padding:18px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 16px}.brand img{height:22px}.brand span{font:600 13px var(--brand);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}:root[data-theme=dark] .brand img{filter:invert(1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand img{filter:invert(1)}}.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:0;background:none;text-align:left;cursor:pointer;font-weight:500;color:var(--ink2)}.nav:hover{background:var(--teal-lt)}.nav[aria-current=page]{background:var(--teal);color:#fff}.nav .n{margin-left:auto;font:500 12px var(--mono);background:var(--copper);color:#fff;border-radius:999px;padding:0 7px}.nav svg{width:16px;height:16px;flex:none}.side-foot{margin-top:auto;font-size:12px;color:var(--muted);padding:8px}.side-foot select{width:100%;margin-top:6px}main{padding:24px 28px 60px;min-width:0;max-width:1240px}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}h1{font:600 26px/1.2 var(--brand);margin:0;letter-spacing:-.01em}h2{font:600 18px var(--brand);margin:0 0 10px}h3{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.sub{color:var(--muted);font-size:14px}.banner{background:var(--copper-lt);color:var(--copper);border:1px solid color-mix(in srgb,var(--copper) 30%,transparent);border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:16px}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}.stat .v{font:600 28px var(--mono);letter-spacing:-.02em}.stat .l{font-size:13px;color:var(--muted)}.list{display:flex;flex-direction:column}.item{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item .grow{flex:1;min-width:0}.item .t{font-weight:600}.item .s{font-size:13px;color:var(--muted)}.tag{display:inline-block;font:600 11px var(--sans);border-radius:4px;padding:1px 7px;color:#fff;white-space:nowrap;vertical-align:1px}.t1{background:var(--b1)}.t2{background:var(--b2)}.t3{background:var(--b3)}.tdemo{background:var(--muted)}.pill{display:inline-block;font-size:12px;border:1px solid var(--line2);border-radius:999px;padding:1px 9px;color:var(--ink2);white-space:nowrap}.pill.ok{border-color:var(--teal);color:var(--teal)}.pill.warn{border-color:var(--warn);color:var(--warn)}.pill.bad{border-color:var(--bad);color:var(--bad)}.btn{border:1px solid var(--line2);background:var(--surface);border-radius:8px;padding:7px 13px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--teal)}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:var(--teal-md)}.btn.act{background:var(--copper);border-color:var(--copper);color:#fff}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.sm{padding:4px 10px;font-size:13px}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line2);border-radius:8px;padding:7px 10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--teal);outline-offset:1px}textarea{width:100%;resize:vertical}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.filters input[type=search]{flex:1;min-width:200px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);background:var(--bg2);position:sticky;top:0}td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}tr.click{cursor:pointer}tr.click:hover td{background:var(--teal-lt)}.tbl{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-height:calc(100vh - 230px)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:13px}.right{text-align:right}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:14px 0 16px;overflow-x:auto}.tab{border:0;background:none;padding:9px 14px;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tab[aria-selected=true]{color:var(--teal);border-bottom-color:var(--teal)}.warnbox{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:10px 12px;font-size:14px;margin:10px 0}ul.ev{margin:0;padding-left:18px}ul.ev li{margin:5px 0}pre.mail{white-space:pre-wrap;word-wrap:break-word;font:14px/1.55 var(--sans);margin:0}.checks{display:flex;flex-direction:column;gap:7px;font-size:14px}.chk{display:flex;gap:8px;align-items:flex-start}.chk .i{font:600 13px var(--mono);width:18px;flex:none}.chk.ok .i{color:var(--teal)}.chk.no .i{color:var(--bad)}.ladder{position:relative;height:16px;background:var(--bg3);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.ladder .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--teal),var(--accent))}.ladder .mk{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink2)}.marks{position:relative;height:34px;font:500 12px var(--mono);color:var(--muted)}.marks span{position:absolute;transform:translate(-50%);white-space:nowrap;top:4px}.kan{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto}.col{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px;min-height:200px}.col h3{display:flex;justify-content:space-between}.deal{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:8px;cursor:pointer}.deal:hover{border-color:var(--teal)}.deal .c{font-weight:600}.deal .m{font:500 13px var(--mono);color:var(--teal)}dialog{border:1px solid var(--line);border-radius:14px;padding:0;max-width:720px;width:calc(100% - 32px);background:var(--surface);color:var(--ink)}dialog::backdrop{background:#0a0e1073}.dlg{padding:20px 22px}.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line);background:var(--bg2)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.letter{border:1px solid var(--line);border-radius:8px;padding:22px;font-family:Arial,sans-serif;color:#1a1a1a;background:#fff}.letter .lh{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0d6b5e;padding-bottom:10px;margin-bottom:14px;font-size:12px;color:#555}.letter h4{color:#0d6b5e;margin:0 0 8px;font-size:17px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;z-index:9;opacity:0;transition:opacity .2s;pointer-events:none}.toast.on{opacity:1}.empty{color:var(--muted);font-size:14px;padding:14px 0}.split{grid-template-columns:minmax(220px,300px) 1fr}.split>.card:first-child{max-height:calc(100vh - 140px);overflow:auto}@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g2{grid-template-columns:1fr}}@media (max-width:760px){.app{grid-template-columns:1fr}aside{position:static;height:auto;flex-direction:row;flex-wrap:wrap;gap:4px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{width:100%;padding-bottom:6px}.side-foot{width:100%;margin:0;display:flex;gap:8px;align-items:center;padding:6px 0 0;font-size:0}.side-foot select{width:auto;margin:0;font-size:13px}.side-foot div{display:none}.side-foot .btn{margin:0!important}.split{grid-template-columns:1fr}.split>.card:first-child{max-height:180px}.nav{padding:6px 9px;font-size:14px}.nav svg{display:none}main{padding:16px 16px 60px}.hide-sm{display:none}.form{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}}.login{max-width:420px;margin:12vh auto;padding:32px;text-align:center;position:relative;z-index:1}.login img{height:30px;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.chk.wait .i{color:var(--warn)}.spin{color:var(--muted);padding:24px}
