:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#172d35;background:#f3f6f8;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#147968;color:white;border:0;border-radius:8px;padding:11px 17px}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#edf2f4;color:#29424b}button.small{padding:7px 10px;font-size:12px}input,select,textarea{border:1px solid #cbd6da;border-radius:8px;padding:10px;background:white;color:#172d35;min-width:0}textarea{min-height:110px;resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-weight:500}form{display:grid;gap:17px}.login{max-width:430px;margin:12vh auto;padding:36px;background:white;border:1px solid #e0e8eb;border-radius:18px;box-shadow:0 12px 50px #183c4710}.login h1{margin:26px 0 10px}.login>p{color:#657d86;line-height:1.8}.brand{font-weight:800;color:#157968;font-size:21px;display:flex;gap:12px;align-items:center}.brand span{color:inherit;font-size:18px}.muted{color:#71848c;font-size:12px}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#132f37;color:#d5e1e5;padding:30px 20px}aside .brand{color:#b7eedb}.subtitle{font-size:12px;color:#9eb9c2;margin:12px 0 35px}nav{display:grid;gap:9px}nav button{text-align:left;background:transparent;color:#c6d6db}nav button.active{background:#22515b;color:white}.aside-bottom{position:absolute;bottom:30px;color:#86a5b0;font-size:12px;line-height:1.8}main{margin-left:230px;padding:32px 40px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font-size:25px;margin:0}#breadcrumb{font-size:12px;color:#81949c;margin:0 0 9px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}#account{color:#667d85;font-size:12px}.notice{padding:13px 17px;background:#fff7e8;border:1px solid #f1dfb9;color:#866423;border-radius:9px;margin-bottom:24px;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{background:white;border:1px solid #e1e8eb;border-radius:12px;padding:22px}.metric p{margin:0 0 15px;color:#6b818a}.metric strong{font-size:32px;letter-spacing:-1px}.panel{background:white;border:1px solid #e1e8eb;border-radius:12px;padding:23px;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.panel h2{margin:0;font-size:16px}.empty{text-align:center;color:#6e858e;padding:52px 16px;line-height:1.9}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#72858d;background:#f7f9fa;font-weight:500}td,th{padding:14px 12px;border-bottom:1px solid #edf1f3;overflow-wrap:anywhere;max-width:300px}td.actions{white-space:nowrap}td.actions button{margin-right:6px}.badge{background:#edf5f2;color:#24725e;border-radius:6px;padding:4px 8px;white-space:nowrap}dialog{border:1px solid #dce5e8;border-radius:14px;padding:25px;width:min(610px,92vw);max-height:86vh;overflow:auto;color:#172d35}dialog::backdrop{background:#132f3755}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-25px;background:white;padding:10px 0 16px}.dialog-header h2{font-size:19px;margin:0}.detail{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;border-bottom:1px solid #edf1f3;padding:12px 0}#message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173c46;color:white;border-radius:9px;padding:14px 20px;z-index:1000;max-width:90vw;white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(max-width:1050px){main{padding:25px}header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:16px}.subtitle,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap}main{margin-left:0;padding:20px}.cards{gap:10px}.metric{padding:17px}.login{margin:7vh 16px}.toolbar{width:100%}#scope{max-width:100%}}

/* Independent implementation of the main operations console visual language. */
:root{--blue:#4165ed;--ink:#303746;--muted:#8993a5;--line:#edf0f5;color:var(--ink);background:#f5f7fb}
body{background:#f5f7fb;color:var(--ink);line-height:1.6}
button{background:var(--blue);border:1px solid var(--blue);border-radius:5px;padding:8px 14px}
button:hover{background:#3152cd;filter:none}
button.secondary{background:white;border-color:#dfe4ed;color:#596273}
button.secondary:hover{background:#f0f4ff;color:var(--blue);border-color:#a9baff}
input,select,textarea{color:var(--ink);border-color:#dfe4ed;border-radius:5px}
input:focus,select:focus,textarea:focus{outline:2px solid #4165ed33;border-color:var(--blue)}
button:focus-visible{outline:2px solid #7293ff;outline-offset:2px}
aside{width:236px;background:white;border-right:1px solid var(--line);color:var(--ink);padding:0 14px;overflow:auto;display:flex;flex-direction:column}
.brand{height:78px;flex-shrink:0;color:var(--ink);font-size:18px;gap:10px}
.brand b{display:grid;place-items:center;background:var(--blue);color:white;width:38px;height:38px;border-radius:11px;font-size:15px}
aside .brand{color:var(--ink)}.subtitle{color:#9aa2b1;margin:0 12px 22px}
nav{gap:3px}nav button{border:0;color:#626b7d;padding:11px 14px;font-size:13px;background:transparent}
nav button:hover{background:#f5f7fc;color:var(--blue)}nav button.active{background:#edf1ff;color:var(--blue);font-weight:600}
.aside-bottom{position:static;margin-top:auto;padding:28px 12px;color:#9aa3b2}
main{margin-left:236px;padding:0;min-width:0}header{background:white;border-bottom:1px solid var(--line);padding:20px 24px;margin:0;flex-wrap:wrap}
h1{font-size:22px;font-weight:600}#breadcrumb{color:#969faf;margin-bottom:4px}
.toolbar{gap:10px;max-width:100%}#account{color:#626b7d}#scope{max-width:220px;background:#f6f8fc;border-color:transparent}
#notice{margin:20px 24px 0;font-size:12px;border-radius:6px}#content{padding:24px;max-width:1800px;min-width:0}
.cards{gap:18px}.metric,.panel{border:1px solid var(--line);border-radius:7px;box-shadow:0 2px 6px #263b6010}
.metric{padding:22px;border-top:3px solid #dfe7ff}.metric:nth-child(2){border-top-color:#c9f0e5}.metric:nth-child(3){border-top-color:#ffedc7}.metric:nth-child(4){border-top-color:#e8dcfb}
.metric p,.muted{color:var(--muted)}.metric strong{color:var(--ink);font-weight:600}.panel h2{font-size:15px;font-weight:600}
th{background:#f7f9fc;color:#687487}td,th{border-bottom-color:#eef1f6;vertical-align:top}tr:hover td{background:#fafbff}
td.actions button{color:var(--blue);border:0;background:transparent}.empty{color:#8993a5}
.login{border-color:var(--line);border-radius:10px;box-shadow:0 12px 60px #2a4b8410}.login .brand{height:auto}.login button{width:100%}
dialog{color:var(--ink);border:0;border-radius:12px;box-shadow:0 18px 60px #0003}dialog::backdrop{background:#12374477}
#message{background:#303f60}
@media(max-width:1100px){header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){aside{position:static;width:100%;padding:12px 16px}.brand{height:42px}.subtitle,.aside-bottom{display:none}nav{display:flex;margin-top:12px;gap:4px;overflow:auto}nav button{flex-shrink:0}main{margin:0;padding:0}header{padding:18px}#notice{margin:18px 18px 0}#content{padding:18px}.toolbar{gap:8px}.metric{padding:16px}.cards{gap:10px}.login{margin:7vh 16px;padding:28px}#account{overflow-wrap:anywhere}}

.permission-summary{padding:14px 16px;background:#f7f9ff;border:1px solid #e7edfa;border-radius:6px;color:#687487;line-height:1.9;white-space:normal}td.actions{white-space:normal;min-width:230px}

.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.full-width,.form-section{grid-column:1/-1}.form-section{font-size:14px;border-bottom:1px solid #edf0f5;padding-bottom:10px;margin:6px 0;color:#4165ed}.profile-detail{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f5}.profile-detail strong{font-weight:500;color:#8993a5}.profile-detail span{white-space:pre-wrap;overflow-wrap:anywhere}.profile-form textarea{min-height:80px}@media(max-width:600px){.profile-form{grid-template-columns:1fr}.profile-detail{grid-template-columns:100px 1fr;gap:10px}}
