:root{--primary:#5752e8;--primary-soft:#efeeff;--ink:#242738;--muted:#828796;--line:#eaedf2;--bg:#f6f7fb;--green:#219d74;--orange:#c58331;--red:#ce5570;--radius:12px;--shadow:0 5px 24px #202c4b05}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bbb7fb;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:#fff;border-right:1px solid var(--line);padding:29px 17px 20px;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 9px;font-size:21px;font-weight:750;letter-spacing:.5px}.brand-symbol{display:grid;place-items:center;background:var(--primary);width:42px;height:42px;border-radius:13px;color:#fff;font-family:Georgia,serif;font-size:29px;font-style:italic;box-shadow:0 6px 12px #5752e827}.brand small{display:block;font-size:10px;color:#999aa8;font-weight:500;letter-spacing:2px}.workspace{display:flex;align-items:center;gap:10px;margin:33px 0 25px;border:1px solid var(--line);border-radius:9px;padding:11px 9px;background:#fcfcfe}.workspace-icon{color:var(--primary);width:32px;height:34px;display:grid;place-items:center;background:var(--primary-soft);border-radius:8px}.workspace small{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.workspace b{font-size:12px;font-weight:600}.nav-label{font-size:10px;color:#a3a7b5;padding:0 15px;margin-bottom:12px;letter-spacing:1px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 15px;font-size:13px;color:#777c8c;border-radius:9px}.sidebar nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.sidebar nav a:hover{background:#f7f7fc}.sidebar nav em{margin-left:auto;font-style:normal;background:#e0dcff;border-radius:4px;padding:1px 5px;font-size:10px}.side-bottom{margin-top:auto;padding-top:30px}.side-bottom a{display:flex;align-items:center;gap:10px;padding:11px 13px;font-size:12px;color:#777c8c}.side-bottom a svg:last-child{margin-left:auto}.side-version{font-size:10px;color:#b0b3bf;text-align:center;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.main-shell{flex:1;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 35px;background:#fff;gap:12px}.platform-name{font-size:15px;font-weight:650;letter-spacing:.2px}.version-tag{color:var(--primary);border:1px solid #e1deff;border-radius:4px;margin-left:8px;font-size:10px;font-weight:500;padding:2px 5px}.topbar-right{display:flex;align-items:center;gap:15px;font-size:12px;color:#6e7282}.demo-status{display:flex;align-items:center;gap:6px;font-size:11px}.demo-status i{width:5px;height:5px;background:var(--green);border-radius:50%}.avatar{background:#f1edf9;color:#856caa;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font-size:12px}.main-content{padding:23px 35px 35px;max-width:1700px;margin:auto}.breadcrumb{color:#989cab;font-size:11px;margin-bottom:23px}.breadcrumb span{margin:0 11px;color:#c2c5ce}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:25px;margin:0 0 7px;font-weight:650;letter-spacing:-.7px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.page-date{display:flex;align-items:center;gap:7px;font-size:11px;color:#808695;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:7px;white-space:nowrap}.metrics,.stats-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:20px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:19px 20px;box-shadow:var(--shadow);min-width:0}.metric-label{color:#777d8c;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-icon{color:#b1adf0;display:flex}.metric strong{display:block;font-size:28px;letter-spacing:-1px;font-weight:650;margin-top:9px;font-variant-numeric:tabular-nums}.metric p{color:#969cac;font-size:10px;margin:9px 0 0}.metric.primary-metric{background:var(--primary);color:white;border:0}.primary-metric .metric-label,.primary-metric p{color:#e0defd}.primary-metric .metric-icon{color:#e0defd}.panel,.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.panel-head,.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2,.card-head h2{font-size:15px;margin:0;font-weight:600}.panel-head p,.card-head p{font-size:11px;color:var(--muted);margin:5px 0 0}.panel-body,.card-body{padding:22px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-label h2{font-size:15px;margin:0}.section-label span{font-size:11px;color:var(--muted)}.split-layout,.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:20px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}th{font-size:11px;font-weight:500;color:#9196a5;background:#fcfcfe;padding:14px 21px;border-bottom:1px solid var(--line)}td{padding:17px 21px;border-bottom:1px solid #f0f1f6;color:#606777}tr:last-child td{border-bottom:0}td strong{font-weight:600;color:#3a4050}td small{display:block;font-size:10px;color:#a0a4b1;margin-top:3px}tbody tr:hover{background:#fdfdff}.number{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;padding:50px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:5px;font-size:10px;background:#edf8f3;color:#329975;white-space:nowrap}.badge i{width:4px;height:4px;background:currentColor;border-radius:50%}.badge.orange,.badge.warning{background:#fff5e8;color:#c78b3b}.badge.red,.badge.danger{background:#fcedf1;color:#cc627b}.badge.gray,.badge.muted{background:#f0f2f6;color:#9298a7}.badge.blue,.badge.purple{background:var(--primary-soft);color:var(--primary)}.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e3e5ef;border-radius:7px;background:#fff;color:#6a7080;padding:8px 13px;font-size:12px;font-weight:500;line-height:1.5}.btn-primary,.btn.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-soft{background:var(--primary-soft);color:var(--primary);border-color:transparent}.btn-small{padding:5px 9px;font-size:11px}.btn-link,.link-button,.text-button{border:0;background:transparent;color:var(--primary);padding:0;font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:17px}.toolbar-left,.toolbar-right,.filter-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e4ef;border-radius:7px;padding:0 11px;color:#9ba0b0}.search-field input{border:0;outline:none;width:215px;padding:10px 0;background:transparent;font-size:12px;color:var(--ink)}select,input,textarea{border:1px solid #e2e5ef;padding:9px 11px;border-radius:7px;background:#fff;color:#5b6272}select{font-size:12px}.tabs,.tab-list{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:0 22px}.tabs button,.tab-list button{border:0;background:none;padding:17px 1px 14px;color:#8d93a2;font-size:12px}.tabs button.active,.tab-list button.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:600}.notice,.info-box{border-radius:8px;background:#f0f0fe;color:#72718d;font-size:12px;line-height:1.8;padding:13px 17px;margin:15px 0}.notice strong{color:var(--primary)}.muted{color:var(--muted)}.small{font-size:11px}.identity-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:13px 17px;border-radius:10px;margin-bottom:19px}.identity-bar span{font-size:11px;color:var(--muted)}.entity-name{display:flex;align-items:center;gap:10px}.entity-avatar{height:34px;width:34px;border-radius:9px;display:grid;place-items:center;background:#f3f1fd;color:#8077be;font-size:13px;flex-shrink:0}.entity-avatar.orange{background:#fdf2e8;color:#c7a179}.entity-avatar.green{background:#eaf6f0;color:#80ad97}.footer{padding:20px 35px;color:#aeb2bf;font-size:10px;display:flex;justify-content:space-between}.drawer-mask{position:fixed;inset:0;background:#18244835;z-index:100;backdrop-filter:blur(2px)}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(630px,100vw);background:#fff;z-index:101;box-shadow:-15px 0 65px #15244315;overflow-y:auto}.drawer-head{padding:24px 27px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1}.drawer-head small{font-size:9px;letter-spacing:1.5px;color:#a4a2be}.drawer-head h2{font-size:19px;margin:6px 0 0;font-weight:600}.icon-button{border:0;background:#f6f6fc;width:29px;height:29px;border-radius:50%;font-size:20px;color:#8d8da4;display:grid;place-items:center}.drawer-body{padding:26px}.drawer-body h3{font-size:14px;font-weight:600;margin:22px 0 12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 24px}.detail-grid label,.detail-item label{font-size:11px;color:#9297a7;display:block;margin-bottom:6px}.detail-grid strong,.detail-item strong{font-size:13px;font-weight:500;color:#555e70}.detail-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;gap:15px;font-size:12px}.detail-row span{color:var(--muted)}.drawer .metrics{grid-template-columns:1fr 1fr}.drawer table{font-size:11px}.drawer th,.drawer td{padding:12px 8px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#272942;color:#fff;border-radius:9px;padding:12px 22px;font-size:12px;z-index:120;display:none}.toast.show{display:block}.field{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:12px;color:#777f90}.field input,.field textarea,.field select{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row-actions{display:flex;gap:12px;align-items:center}.money{font-variant-numeric:tabular-nums}.skeleton-label{color:#a5a8b7;font-size:11px}.chart-legend{display:flex;gap:17px;font-size:10px;color:#9096a4}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:6px;height:6px;border-radius:50%}.mini-kpi{display:flex;gap:35px;margin-bottom:10px}.mini-kpi span{font-size:10px;color:#9399a9;display:block}.mini-kpi b{font-size:21px;font-weight:600;display:block;margin-top:5px;color:#434c60}.chart svg{display:block;width:100%}.management-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.management-card{background:#fff;border:1px solid var(--line);padding:19px;border-radius:10px;display:flex;gap:12px;align-items:center}.management-card>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#f0effc;color:var(--primary)}.management-card b{display:block;font-size:12px}.management-card small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.management-card svg:last-child{margin-left:auto;color:#b1b3c7}.role-matrix input{accent-color:var(--primary);width:15px;height:15px}.role-matrix td{text-align:center}.role-matrix td:first-child{text-align:left}.rule-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rule-card{padding:18px;border:1px solid var(--line);border-radius:9px}.rule-card h3{font-size:13px;margin:0 0 8px}.rule-card p{color:var(--muted);font-size:11px;line-height:1.7}.bar-row{display:flex;align-items:center;gap:13px;margin:17px 0;font-size:11px;color:#80889a}.bar-row span{min-width:64px}.bar-row .bar-track{flex:1;background:#f2f3fa;height:7px;border-radius:4px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:4px;background:var(--primary)}.bar-row strong{min-width:62px;text-align:right;font-size:11px;color:#525a6e;font-weight:500}.data-note{font-size:10px;color:#9ba2b1;margin:10px 0 0}.pill-switch{display:flex;gap:3px;background:#f6f6fc;border-radius:6px;padding:3px}.pill-switch button{background:transparent;border:0;border-radius:4px;color:#9095a6;font-size:10px;padding:5px 8px}.pill-switch button.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px #2732530d}.entry-links{display:flex;gap:10px;flex-wrap:wrap}.count-bubble{padding:1px 5px;border-radius:4px;background:#f0efff;color:var(--primary);font-size:10px;margin-left:8px}.permission-tip{color:#b08746;background:#fdf7ed;padding:13px 17px;border-radius:9px;font-size:11px;line-height:1.7}.sparkline{height:35px;width:100%}@media(min-width:1600px){.main-content{padding:30px 45px}.sidebar{width:250px}}@media(max-width:1200px){.sidebar{width:206px;padding-left:12px;padding-right:12px}.main-content{padding:22px}.topbar{padding:0 22px}.metrics{gap:12px}.metric{padding:15px}.metric strong{font-size:25px}.split-layout,.dashboard-grid{grid-template-columns:1.25fr 1fr}.user-name{display:none}}@media(max-width:980px){.sidebar{width:74px;padding:24px 10px}.brand{padding:0}.brand>div,.workspace,.nav-label,.sidebar nav a span,.sidebar nav em,.side-bottom a span,.side-version{display:none}.brand-symbol{width:42px}.sidebar nav{margin-top:35px}.sidebar nav a{justify-content:center;padding:14px 7px}.side-bottom a{justify-content:center;padding:14px 0}.side-bottom a svg:last-child{margin:0}.sidebar .side-bottom a svg:nth-child(3){display:none}.metrics{grid-template-columns:repeat(2,1fr)}.split-layout,.dashboard-grid{grid-template-columns:1fr}.management-grid{grid-template-columns:repeat(2,1fr)}.topbar{height:68px}.demo-status,.version-tag{display:none}.page-heading{align-items:flex-start}.page-date{display:none}}@media(max-width:650px){.sidebar{display:none}.main-content{padding:18px 14px}.topbar{padding:0 15px}.platform-name{font-size:13px}.topbar-right{gap:8px}.metric strong{font-size:23px}.metric{padding:13px}.metric-label{font-size:11px}.metrics{gap:9px}.page-heading h1{font-size:22px}.two-columns,.rule-list{grid-template-columns:1fr}.management-grid{gap:9px}.management-card{padding:12px;gap:8px}.management-card small{font-size:9px}.toolbar{display:block}.toolbar-right{margin-top:10px}.footer span{display:none}.drawer-body{padding:18px}.panel-head{padding:16px}.tabs{gap:16px}.page-heading p{line-height:1.7}.breadcrumb{margin-bottom:18px}}

/* V6.2 grouped workspace navigation */
.grouped-nav{gap:4px!important}.nav-group{border-top:1px solid #eeeef6;padding-top:5px;margin-top:4px}.nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;cursor:pointer;color:#89849d;font-size:11px;font-weight:650;letter-spacing:.4px;border-radius:7px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:#f8f7fc}.nav-group summary svg{width:12px;height:12px;transition:transform .15s}.nav-group[open] summary svg{transform:rotate(90deg)}.nav-group[open] summary{color:#65588b}.nav-group-links{display:grid;gap:1px;padding-bottom:4px}.sidebar .nav-group-links a{padding:9px 13px;font-size:11px;gap:9px}.sidebar .nav-group-links a svg{width:16px;height:16px;flex-shrink:0}.sidebar .nav-group-links a.active{box-shadow:inset 3px 0 #7564cf}.sidebar:has(.grouped-nav) .workspace{margin:24px 0 18px}.sidebar:has(.grouped-nav) .side-bottom{padding-top:12px}.sidebar:has(.grouped-nav) .side-version{margin-top:8px;padding-top:10px}.sidebar:has(.grouped-nav) .nav-label{margin-bottom:5px}
@media(max-width:980px){.nav-group summary{font-size:0;padding:10px 7px;justify-content:center}.nav-group summary span{display:none}.nav-group summary svg{width:12px;height:12px}.sidebar .nav-group-links a{padding:11px 7px}.sidebar:has(.grouped-nav) nav{margin-top:20px}}
