:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#1d2d44;background:#f3f5f8;font-synthesis:none;--primary:#2874d9;--muted:#8090a4;--border:#e8edf3;--navy:#10243a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #83b6ff;outline-offset:3px}input:focus,select:focus{outline:0;border-color:#649de9;box-shadow:0 0 0 3px #2874d916}h1,h2,p{margin:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.primary,.secondary{display:inline-flex;gap:8px;align-items:center;justify-content:center;border-radius:6px;min-height:38px;padding:8px 15px;white-space:nowrap;font-weight:500;transition:background .15s}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 2px 3px #1b5bb51c}.primary:hover{background:#1f63bc}.secondary{border:1px solid #dce3ec;background:#fff;color:#3e5068}.secondary:hover{background:#f7f9fc}.text-button,.icon-button{border:0;background:transparent;color:#6b7d94;padding:8px;border-radius:5px}.text-button:hover,.icon-button:hover{background:#f1f5fa;color:#2874d9}.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.5px}.form-error{color:#c04748;font-size:13px;line-height:1.6;min-height:20px}.badge{display:inline-flex;align-items:center;border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.3;white-space:nowrap}.blue{background:#eaf2ff;color:#3778ca}.green{background:#e9f7f1;color:#238865}.violet{background:#f1ecff;color:#7e62c6}.amber{background:#fff5df;color:#ac7b20}.neutral{background:#edf1f6;color:#6c7b8e}.red{background:#fceced;color:#c05d65}
/* Login */
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(420px,47%) 1fr;background:#fff}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 110% 75%,#21518480,transparent 62%),linear-gradient(150deg,#0d2035,#142d48);padding:44px 12%;color:white}.login-brand:after{content:"";pointer-events:none;position:absolute;width:540px;height:540px;border:1px solid #ffffff09;border-radius:50%;bottom:-150px;right:-280px;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff02}.brand-line,.sidebar-brand{display:flex;align-items:center;gap:13px}.brand-line img,.sidebar-brand img{object-fit:contain}.brand-line strong{font-size:22px;font-weight:600;letter-spacing:1px}.brand-line span{display:block;margin-top:5px;font-size:12px;color:#9fb3cb;letter-spacing:2px}.login-intro{margin:auto 0;padding:80px 0;position:relative;z-index:1}.login-intro .eyebrow{color:#80a7d3;font-size:10px;letter-spacing:2.8px}.login-intro h1{font-size:clamp(34px,3.1vw,48px);font-weight:550;line-height:1.6;letter-spacing:2px;margin:20px 0}.login-intro p{font-size:14px;line-height:2.1;color:#aebfd3}.login-features{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.login-features span{font-size:11px;color:#c3d2e4;border:1px solid #ffffff1c;padding:7px 10px;border-radius:5px;background:#ffffff04}.login-brand-footer{font-size:11px;color:#6f89a6;position:relative;z-index:1}.login-form-area{display:flex;align-items:center;justify-content:center;position:relative;padding:60px 28px 100px}.login-card{width:100%;max-width:360px}.login-mark{display:grid;place-items:center;width:46px;height:46px;background:#edf4ff;border-radius:12px;color:#2874d9;margin-bottom:28px}.login-mark .icon{width:25px;height:25px}.login-card>.eyebrow{display:block;color:#8393a7;font-size:12px;letter-spacing:1px;margin-bottom:12px}.login-card h2{font-size:27px;font-weight:600;letter-spacing:.2px;margin-bottom:12px}.login-card>.muted{line-height:1.7;margin-bottom:36px}.login-card>label{display:block;font-size:13px;font-weight:500;margin-bottom:10px}.login-card>input{width:100%;height:46px;border:1px solid #dae2ec;border-radius:6px;background:#fbfcfe;padding:0 14px}.login-card .form-error{margin:9px 0 13px}.login-submit{width:100%;height:45px;justify-content:space-between;padding:0 18px}.login-note{display:flex;align-items:center;gap:7px;font-size:11px;color:#8b99aa;line-height:1.8;margin-top:22px}.login-note .icon{width:14px;height:14px}.login-card>small{display:block;font-size:11px;color:#a5b0bf;margin-top:12px}.login-page-footer{position:absolute;bottom:32px;color:#9ba8b8;font-size:11px}
/* Application shell */
.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#10243a,#0c1d30);color:#a4b6cc;padding:26px 14px 22px}.sidebar-brand{padding:0 10px 28px;border-bottom:1px solid #ffffff0c;color:#fff}.sidebar-brand strong{font-size:18px;font-weight:600;letter-spacing:.6px}.sidebar-brand span{font-size:10px;color:#849bb6;display:block;letter-spacing:1.4px;margin-top:6px}.nav-caption{font-size:10px;color:#607992;letter-spacing:2px;padding:28px 17px 13px}.nav-item{display:flex;align-items:center;gap:12px;border-radius:6px;padding:13px 16px;margin:5px 0;font-size:13px;transition:background .15s,color .15s}.nav-item .icon{width:18px;height:18px;color:#7f99b6}.nav-item:hover{background:#ffffff06;color:#fff}.nav-item.active{background:#2874d9;color:#fff;box-shadow:0 4px 14px #06142724}.nav-item.active .icon{color:#fff}.nav-count{margin-left:auto;font-size:10px;background:#ffffff1c;border-radius:4px;padding:2px 6px}.sidebar-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid #ffffff0c;padding:21px 10px 0}.status-dot{width:7px;height:7px;border-radius:50%;background:#57bc9b;box-shadow:0 0 0 4px #57bc9b13;flex-shrink:0}.sidebar-bottom strong{font-size:11px;font-weight:400;color:#9bb1c9}.sidebar-bottom div>span{display:block;font-size:10px;color:#5f7996;margin-top:6px}.main-shell{min-width:0}.topbar{height:68px;border-bottom:1px solid #e8ecf2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.breadcrumbs,.topbar-actions{display:flex;align-items:center;gap:15px;font-size:12px;color:#8c99a9}.breadcrumbs strong{font-weight:500;color:#40536c}.breadcrumb-divider{color:#c5ced9}.topbar-actions{gap:21px}.administrator{display:flex;align-items:center;gap:9px;color:#61738a}.avatar{display:grid;place-items:center;width:28px;height:28px;background:#edf3fc;color:#4f7cb8;border-radius:50%;font-size:11px}.topbar .text-button{font-size:12px}.menu-toggle{display:none}.content{padding:30px 32px 20px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.page-heading h1{font-size:23px;font-weight:600;margin-bottom:8px}.page-heading p{color:#8c99aa;font-size:12px;line-height:1.8}.heading-actions{display:flex;gap:16px;align-items:center;flex-shrink:0}.heading-actions>span{font-size:11px;color:#98a5b4}.heading-actions .icon{width:15px;height:15px}.notice{border-radius:6px;border:1px solid #cbe2d8;background:#eff8f3;color:#267451;padding:12px 16px;margin-bottom:20px;font-size:13px;white-space:pre-wrap}.notice.error{background:#fff2f2;border-color:#f1d3d3;color:#a54141}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat-card{display:flex;justify-content:space-between;align-items:flex-start;border:1px solid var(--border);background:#fff;border-radius:8px;padding:23px 21px;box-shadow:0 2px 4px #192b4502}.stat-card div>span{font-size:12px;color:#7b8a9d}.stat-card strong{display:block;font-size:31px;font-weight:550;line-height:1;margin:17px 0 13px;font-variant-numeric:tabular-nums}.stat-card small{font-size:10px;color:#a0aaba;white-space:nowrap}.stat-icon{color:#5585c7;background:#edf3fd;width:38px;height:38px;padding:10px;border-radius:10px}.stat-icon.green{color:#4a9f85}.stat-icon.violet{color:#9275d2}.stat-icon.amber{color:#c2a059}.overview-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.card{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 5px #1a2f4c02}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 24px;border-bottom:1px solid #f0f3f7;gap:16px}.card-heading h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:9px}.card-heading p{color:#99a5b4;font-size:11px;margin-top:7px;line-height:1.6}.subtle-link{font-size:11px;color:#7592b6;white-space:nowrap}.subtle-link:hover{color:#2874d9}.count-pill{font-size:11px;font-weight:400;background:#edf2f8;color:#7589a2;padding:3px 7px;border-radius:4px}.edition-row{display:flex;align-items:center;gap:16px;padding:16px 24px}.edition-row+.edition-row{border-top:1px solid #f4f6fa}.edition-row strong{font-size:12px;font-weight:500}.edition-row div>span{display:block;font-size:11px;color:#98a4b5;margin-top:6px;line-height:1.6}.guide-note{background:#fafbfd;color:#95a2b3;font-size:10px;line-height:1.8;padding:14px 24px;border-top:1px solid #f1f4f7}.account-list{min-height:220px}.expiry-item{display:flex;justify-content:space-between;gap:10px;padding:17px 24px;align-items:center;border-bottom:1px solid #f3f5f8}.expiry-item:last-child{border:0}.expiry-item strong{font-size:13px;font-weight:500}.expiry-item small{display:block;margin-top:6px;color:#97a5b5;font-size:11px}.expiry-item button{font-size:11px}.table-toolbar{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.table-toolbar input{width:255px;max-width:100%;padding:9px 12px;border:1px solid #e1e7ef;border-radius:5px;font-size:12px;background:#fcfdff}.table-toolbar>span{font-size:11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}th{font-size:11px;color:#8492a5;font-weight:500;background:#fafbfd;padding:13px 22px;border-bottom:1px solid #edf1f6}td{padding:17px 22px;border-bottom:1px solid #f0f3f7;color:#53647b}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdff}td strong{font-weight:500;color:#30445f}td small{display:block;color:#9ba7b6;font-size:10px;margin-top:5px}td .badge+.badge{margin-left:5px}.row-action{border:0;border-radius:4px;background:transparent;color:#4c82c7;font-size:12px;padding:5px 7px}.row-action:hover{background:#edf4fe}.row-action.danger{color:#b97878}.empty-cell{text-align:center;white-space:normal;color:#a3afbe;padding:46px 20px;font-size:12px}.empty-state{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#a3afbe;font-size:12px}.empty-state .icon{width:30px;height:30px;color:#c2ccda}.inline-note{margin:17px 24px 8px;padding:11px 14px;background:#f6f9fd;border:1px solid #e9eff8;border-radius:5px;color:#7d92ac;font-size:11px;line-height:1.8}.content-footer{display:flex;align-items:center;justify-content:space-between;color:#aab4c1;font-size:10px;padding:7px 0 2px}.content-footer span{color:#b1bac6}
/* Account editor */
.security-card{max-width:760px}.security-form{padding:24px}.security-form .form-grid{grid-template-columns:1fr;max-width:560px}.security-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.security-form .form-hint{margin:18px 0 12px}.security-form .form-error{margin-bottom:14px}
dialog{padding:0;border:1px solid #e2e8f0;border-radius:11px;width:620px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 36px);color:inherit;box-shadow:0 24px 80px #0b1e3433}dialog::backdrop{background:#0b20375c;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 26px;border-bottom:1px solid var(--border)}.dialog-heading .eyebrow{font-size:10px;color:#91a1b6;letter-spacing:1px}.dialog-heading h2{margin-top:7px;font-size:19px;font-weight:600}.dialog-heading .icon-button{font-size:23px}.dialog-body{padding:23px 26px;max-height:calc(100dvh - 220px);overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 20px}.form-grid>label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#657991}.form-grid input:not([type=checkbox]),.form-grid select{width:100%;min-width:0;height:39px;border:1px solid #dce4ef;border-radius:5px;padding:0 11px;color:#334b67;background:#fff;font-size:12px}.form-grid input::placeholder{font-size:10px;color:#acb7c6}.form-grid input[readonly]{background:#f5f7fa;color:#8291a6}.form-grid .switch-field{flex-direction:row;align-items:center;gap:10px}.switch-field small{display:block;color:#9aa8ba;font-size:10px;margin-top:7px}input[type=checkbox]{accent-color:#2874d9;width:15px;height:15px;flex-shrink:0}.permissions{padding:23px 0 0;border:0;margin:25px 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:12px}.permissions legend{font-size:13px;font-weight:500;padding:0 8px 0 0;float:left;width:100%;margin-bottom:9px}.permissions>p{grid-column:1/-1;color:#96a3b5;font-size:11px;margin-bottom:5px;line-height:1.8}.permission-option{display:flex;gap:10px;align-items:center;border:1px solid #e1e8f1;border-radius:7px;padding:14px 11px;cursor:pointer}.permission-option:has(input:checked){border-color:#81ade7;background:#f7faff}.permission-icon{width:30px;height:34px;background:#edf4ff;border-radius:6px;color:#5c8ccc;display:grid;place-items:center}.permission-icon.violet{color:#9475c8}.permission-icon .icon{width:16px;height:16px}.permission-option strong{font-size:11px;font-weight:500;color:#3f5672}.permission-option small{display:block;font-size:10px;color:#95a4b8;margin-top:6px}.form-hint{font-size:10px;color:#9aa6b6;line-height:1.9;margin-top:20px}.dialog-body .form-error{margin-top:10px}.dialog-footer{padding:15px 26px;border-top:1px solid var(--border);background:#fcfdff;display:flex;justify-content:flex-end;gap:10px}.dialog-footer button{min-width:90px;font-size:12px}.nav-backdrop{display:none}
@media(min-width:1700px){.login-brand{padding-left:15%;padding-right:10%}}
@media(max-width:1150px){.content{padding:25px 22px 18px}.topbar{padding:0 22px}.stat-grid{gap:12px}.stat-card{padding:20px 16px}.stat-icon{width:32px;height:32px;padding:8px}.stat-card small{font-size:9px}.overview-grid{gap:18px}.heading-actions>span{display:none}.login-brand{padding-left:10%;padding-right:8%}.login-features{gap:7px}.login-features span{font-size:10px}}
@media(max-width:900px){.app-shell{grid-template-columns:194px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.sidebar-brand{gap:9px;padding-left:8px}.sidebar-brand strong{font-size:16px}.sidebar-brand img{width:34px;height:34px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card small{font-size:10px}.overview-grid{grid-template-columns:1fr}.card-heading{padding:19px 20px}.login-screen{grid-template-columns:42% 58%}.login-brand{padding:34px 25px}.login-intro h1{font-size:31px}.brand-line strong{font-size:18px}.login-features{flex-direction:column;align-items:flex-start}.desktop-break{display:none}}
@media(max-width:680px){.login-screen{display:block;min-height:100dvh}.login-brand{padding:24px}.brand-line{gap:10px}.brand-line img{width:36px;height:36px}.brand-line strong{font-size:17px}.brand-line span{font-size:10px;margin-top:3px}.login-intro{padding:25px 0 5px}.login-intro>.eyebrow,.login-intro p,.login-features,.login-brand-footer{display:none}.login-intro h1{font-size:25px;margin:0;letter-spacing:1px;line-height:1.6}.login-intro h1 br{display:none}.login-form-area{padding:38px 28px 78px}.login-card{max-width:410px}.login-mark{display:none}.login-card h2{font-size:23px}.login-card>.muted{margin-bottom:28px}.login-page-footer{bottom:22px}.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:224px;z-index:40;transform:translateX(-100%);transition:transform .2s}.app-shell.nav-open .sidebar{transform:translateX(0)}.nav-backdrop{display:block;position:fixed;inset:0;z-index:30;border:0;background:#071b3555}.menu-toggle{display:block;font-size:18px}.topbar{height:59px;padding:0 13px}.breadcrumbs{gap:10px}.topbar-actions{gap:9px}.administrator{font-size:0}.avatar{font-size:11px}.content{padding:22px 14px 16px}.page-heading{gap:10px;margin-bottom:20px}.page-heading h1{font-size:21px}.page-heading p{font-size:11px;max-width:230px}.heading-actions .secondary{font-size:11px;padding:8px 10px;min-height:34px}.stat-grid{gap:10px;margin-bottom:18px}.stat-card{padding:18px 14px}.stat-card strong{font-size:29px;margin:14px 0 12px}.stat-card small{font-size:9px}.stat-icon{width:29px;height:29px;padding:7px}.card{margin-bottom:18px}.card-heading{padding:18px 16px;gap:8px}.card-heading h2{font-size:14px}.card-heading p{font-size:10px}.card-heading .primary{font-size:11px;padding:8px 10px}.table-toolbar{padding:14px 16px}.table-toolbar>span{display:none}th,td{padding-left:16px;padding-right:16px}.edition-row{padding:15px 16px;gap:12px}.guide-note{padding:13px 16px}.inline-note{margin:14px 16px 6px}.content-footer{font-size:9px}.content-footer span{display:none}.dialog-heading{padding:20px}.dialog-body{padding:20px;max-height:calc(100dvh - 210px)}.form-grid{grid-template-columns:1fr;gap:17px}.permissions{grid-template-columns:1fr;gap:10px}.permission-option{padding:14px}.permission-option strong{font-size:12px}.dialog-footer{padding:14px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
