:root{--navy:#10365d;--blue:#0072c6;--bg:#f3f5f7;--ink:#243746;--muted:#6d7e8a;--line:#d0d9df;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px "Segoe UI",Arial,sans-serif}.loading{padding:28px;color:var(--muted)}
.topbar{height:44px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 18px;gap:10px}.mark{width:22px;height:22px;display:grid;place-items:center;background:#1683cf;font-weight:700;border-radius:2px}.brand{font-weight:600;font-size:15px}.topright{margin-left:auto;color:#d8e4ec;display:flex;gap:16px;align-items:center}
.ribbon{height:70px;background:#fff;border-bottom:1px solid #bdcbd7;display:flex;align-items:center;padding:0 16px;gap:8px}.ribbon button{background:#fff;border:1px solid #c8d4dc;padding:8px 12px;color:#274960;cursor:pointer}.ribbon button:hover{background:#eef6fb}
.workspace{display:flex;min-height:calc(100vh - 114px)}.sidebar{width:226px;flex:0 0 226px;background:#e9edf0;border-right:1px solid #c5d0d8;padding:14px 0}.side-label{padding:4px 16px 10px;color:#6c7c87;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.nav{display:block;width:100%;border:0;border-left:3px solid transparent;text-align:left;padding:10px 14px;background:none;font:inherit;color:#253b4b;cursor:pointer}.nav:hover{background:#dae7ef}.nav.active{background:#d5e7f4;border-left-color:var(--blue);color:#124d78;font-weight:600}.nav.settings{border-top:1px solid #cbd5dc;margin-top:16px;padding-top:16px}
.main{flex:1;min-width:0;padding:18px 22px 36px}.crumb{font-size:11px;color:var(--muted);margin-bottom:8px}.pagehead{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pagehead h1{font-size:24px;font-weight:400;margin:0;color:#253f53}.actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.btn{border:1px solid #b8c6cf;background:#fff;color:#20465f;border-radius:2px;padding:8px 12px;font:inherit;cursor:pointer}.btn:hover{background:#f1f7fb;border-color:#7ba9c8}.btn.primary{background:var(--blue);border-color:#0062a9;color:#fff}.btn.primary:hover{background:#0067b4}.btn.danger{color:#9b312d}
.panel{background:var(--white);border:1px solid #cbd6de;margin-bottom:14px}.panel-title{padding:11px 13px;border-bottom:1px solid #d5dfe5;font-weight:600;color:#294a61}.panel-body{padding:12px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f1f4f6;color:#506473;text-align:left;font-weight:600;border-bottom:1px solid #cfd9df;padding:9px;white-space:nowrap}td{padding:9px;border-bottom:1px solid #e1e6e9;vertical-align:middle}tbody tr:hover{background:#f4f9fc}.muted{color:var(--muted);font-size:12px}.badge{display:inline-block;padding:3px 7px;background:#e4f1fa;color:#14699d;font-size:11px;border-radius:2px}.badge.green{background:#e5f2e8;color:#347343}.badge.amber{background:#fff3d8;color:#916309}.badge.red{background:#f9e7e5;color:#a3342e}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:#1683c7;color:#fff;padding:13px}.tile:nth-child(2){background:#0b70b7}.tile:nth-child(3){background:#3c83b5}.tile small{opacity:.9}.tile strong{display:block;font-size:30px;font-weight:300;margin-top:7px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select,.field input,.field select,.field textarea{height:34px;border:1px solid #b9c7d0;background:#fff;padding:0 9px;font:inherit;color:var(--ink);width:100%}.field textarea{height:90px;padding:9px;resize:vertical}.field{margin:11px 0}.field label{display:block;font-size:12px;color:#526878;font-weight:600;margin-bottom:5px}.field small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.field input[type=checkbox]{width:auto;height:auto}.field select[multiple]{height:140px;padding:6px}
.modalback{position:fixed;inset:0;background:#10203077;display:none;align-items:center;justify-content:center;padding:16px;z-index:20}.modalback.show{display:flex}.modal{width:min(580px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #bac7d0;box-shadow:0 15px 50px #0003}.modalhead{padding:13px 16px;border-bottom:1px solid var(--line);font-size:17px;font-weight:600}.modalbody{padding:10px 16px}.modalfoot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.alert{padding:10px 12px;margin:10px 0;background:#f4f7f8;border-left:3px solid #3687b7;color:#4e6472;font-size:12px}.alert.error{background:#fbefee;border-left-color:#b6483f;color:#8c3029}.alert.success{background:#edf6ee;border-left-color:#438c4f;color:#347343}.scope-note{font-size:12px;color:var(--muted);margin:6px 0 14px}.loginwrap{min-height:100vh;display:grid;place-items:center;background:#e9eef2;padding:20px}.loginbox{background:#fff;border:1px solid var(--line);width:min(420px,100%);padding:26px;box-shadow:0 10px 36px #17354b14}.loginbox h1{font-size:22px;font-weight:400;margin:12px 0}.loginbox .brand{color:var(--navy);font-size:17px}.loginbox button{width:100%;margin-top:12px}.welcome{margin-left:auto;color:#fff;font-size:12px}
@media(max-width:900px){.sidebar{width:190px;flex-basis:190px}.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.sidebar{width:62px;flex-basis:62px;overflow:hidden}.side-label{display:none}.nav{font-size:0;padding:12px 10px;height:42px}.nav::first-letter{font-size:16px}.nav.settings{margin-top:8px;padding-top:12px}.main{padding:14px 10px}.pagehead{flex-wrap:wrap}.actions{width:100%;margin-left:0}.tiles{gap:7px}.topright{gap:6px}.ribbon{overflow:auto;white-space:nowrap}}
