:root{--navy:#0b2545;--ink:#17202e;--muted:#6b7686;--line:#e3e7ee;--bg:#f4f6f9;--accent:#13a89e;--danger:#b42318;--panel:#fff}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--navy);color:#fff;align-items:center;gap:24px;height:56px;padding:0 28px;display:flex}.brand{letter-spacing:.2px;color:#fff;font-size:16px;font-weight:600}.brand span{color:#7fd8d1;margin-left:6px;font-weight:400}.topbar nav{flex:1;gap:16px;display:flex}.topbar nav a{color:#cdd6e4}.topbar nav a.on,.topbar nav a:hover{color:#fff;text-decoration:none}.who{color:#cdd6e4;align-items:center;gap:12px;font-size:13px;display:flex}.page{max-width:1120px;margin:0 auto;padding:28px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.panel-pad{padding:20px 24px}h1{margin:0 0 4px;font-size:20px;font-weight:600}h2{margin:0 0 12px;font-size:15px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.spacer{flex:1}.crumbs{flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:500;display:flex}.crumbs span{color:var(--muted)}button,.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;display:inline-block}button:hover,.btn:hover{background:#f7f9fb;text-decoration:none}button:disabled{opacity:.5;cursor:default}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.primary:hover{background:#123463}.danger{color:var(--danger)}.ghost{color:#fff;background:0 0;border-color:#3b5578}.ghost:hover{background:#123463}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:500}td{vertical-align:middle;border-bottom:1px solid #eff2f6;padding:10px 14px}tr:last-child td{border-bottom:0}.actions{text-align:right;white-space:nowrap}.actions>*{margin-left:6px}input,select,textarea{font:inherit;background:#fff;border:1px solid #cdd4de;border-radius:6px;width:100%;padding:7px 10px}input:focus,select:focus{outline-offset:0;outline:2px solid #9fd6d2}label{color:#3c4757;margin-bottom:12px;font-size:12px;font-weight:500;display:block}label input,label select{margin-top:4px;font-weight:400}.empty{text-align:center;color:var(--muted);padding:48px}.drop{outline:2px dashed var(--accent);outline-offset:-6px}.modal-bg{background:#0b254566;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:480px;max-width:100%;padding:24px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.msg{border-radius:6px;margin-bottom:12px;padding:10px 12px;font-size:13px}.err{color:var(--danger);background:#fef3f2}.ok{color:#05603a;background:#ecfdf8}.center{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.card{width:400px;max-width:100%}.card-head{background:var(--navy);color:#fff;border-radius:10px 10px 0 0;padding:20px 24px;font-size:17px;font-weight:600}.card-body{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 10px 10px;padding:24px}.full{width:100%}.divider{text-align:center;color:var(--muted);margin:18px 0;font-size:12px}.bar{background:#e7ebf1;border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.tag{color:#44506a;background:#eef2f7;border-radius:10px;padding:1px 7px;font-size:11px;display:inline-block}.tag.on{color:#05645c;background:#e0f6f3}.tag.off{color:#7a8493;background:#f2f3f5}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tabs button.on{color:var(--navy);border-bottom-color:var(--navy);font-weight:500}.grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stat b{font-size:20px;font-weight:600;display:block}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.row label{flex:1;min-width:130px;margin:0}.check{align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:400;display:flex}.check input{width:auto;margin:0}
