@charset "UTF-8";
:root{color-scheme:light;--bg:#f3f5f9;--surface:#fff;--ink:#1c293b;--subtle:#65748a;--line:#e7ecf3;--blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eff5ff;--navy:#15243b;--green:#15876b;--red:#d23d4e;--radius:10px;--shadow:0 3px 16px rgba(30,50,80,.025)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-hover)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #96baff;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.48}
button svg,a svg{flex-shrink:0}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{color:var(--ink)}
h1{margin-bottom:7px;font-size:25px;font-weight:650;letter-spacing:-.65px;line-height:1.4}
h2{margin:0;font-size:15px;font-weight:650}
h3{margin-bottom:10px;font-size:15px}
p{margin-bottom:16px}
[hidden]{display:none!important}
.muted,.cell-sub{color:var(--subtle)}
.mono{font-family:"Cascadia Code",Consolas,monospace;font-size:.94em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.app-shell{min-height:100vh}
.sidebar{width:232px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--navy);color:#9eafc7;padding:30px 17px 18px;z-index:30}
.brand{display:flex;align-items:center;gap:12px;padding:0 10px 29px;color:#fff}
.brand-mark,.login-logo{width:37px;height:37px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:10px;background:var(--blue);color:#fff;font-size:22px;font-weight:700;letter-spacing:-2px}
.brand-mark svg,.login-logo svg{width:24px;height:24px}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-copy strong{color:#f7faff;font-size:17px;font-weight:650;letter-spacing:1px}
.brand-copy small{color:#8293ac;font-size:9px;letter-spacing:1.9px}
.sidebar-caption{margin:16px 14px 9px;color:#6c809d;font-size:10px;font-weight:600;letter-spacing:1.8px}
.nav-list{display:grid;gap:6px;list-style:none;padding:0;margin:0}
.nav-item{width:100%;display:flex;align-items:center;gap:12px;border:0;border-radius:7px;padding:12px 15px;min-height:45px;background:transparent;color:#a9b6cb;font-size:13px;line-height:1.4;text-align:left;transition:background .15s,color .15s}
.nav-item:hover{background:#1d314d;color:#f6f8fc}
.nav-item.active{background:#2664e9;color:white;box-shadow:0 5px 12px #08182a35}
.nav-item .nav-icon{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;flex-shrink:0;opacity:.95}
.nav-icon svg{width:18px;height:18px;stroke-width:1.7}
.nav-item .badge{margin-left:auto}
.sidebar-footer{margin-top:auto;padding:23px 11px 3px;font-size:11px;color:#8395af}
.sidebar-footer>div{border-top:1px solid #2b3b52;padding-top:20px}
.sidebar-footer strong{display:block;margin-bottom:5px;color:#c0cede;font-size:12px;font-weight:500}
.sidebar-footer p{margin:5px 0 0;font-size:11px;color:#8395af}
.workspace{min-height:100vh;margin-left:232px}
.topbar{height:73px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:white}
.breadcrumbs{display:flex;align-items:center;gap:10px;color:#8d99a9;font-size:12px}
.breadcrumbs strong,.breadcrumbs>span:last-child{color:#3c4c63;font-weight:500}
.breadcrumbs svg{width:14px;height:14px}
.topbar-actions{display:flex;align-items:center;gap:18px}
.topbar-actions>.muted{font-size:12px}
.avatar{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf0fd;color:#3269cf;font-size:12px;font-weight:650;flex-shrink:0}
.mobile-toggle{display:none;border:none;background:transparent;padding:6px;color:var(--ink)}
.mobile-toggle svg{width:22px;height:22px}
.page{max-width:1550px;padding:29px 32px 10px;margin:0 auto;animation:page-enter .2s ease-out}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.eyebrow{color:#8795a7;font-size:10px;font-weight:650;letter-spacing:1.7px;margin:0 0 4px;text-transform:uppercase}
.page-description{margin:0;color:#8090a4;font-size:12px}
.page-actions,.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.button{border:1px solid #dce3ed;border-radius:6px;min-height:36px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#536176;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;transition:background .15s,box-shadow .15s,border-color .15s}
.button:hover{border-color:#b7c7df;background:#f9fbff;color:#31588d}
.button svg{width:15px;height:15px}
.button.primary{border-color:var(--blue);background:var(--blue);color:white;box-shadow:0 3px 6px #2563eb13}
.button.primary:hover{border-color:var(--blue-hover);background:var(--blue-hover)}
.button.secondary{background:white}
.button.danger{background:#fff;color:var(--red);border-color:#f0d7dc}
.button.danger:hover{background:#fff4f5;border-color:#e4a8b2}
.button.small{min-height:28px;padding:5px 9px;font-size:11px;border-radius:5px}
.button.icon-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:6px;border-radius:6px;color:#7a899c;background:transparent;border:1px solid transparent}
.icon-button:hover{background:#f0f4f9;color:var(--blue)}
.icon-button svg{width:17px;height:17px}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:4px;font-size:10px;line-height:1.5;font-weight:500;white-space:nowrap}
.badge-demo{background:#edf3ff;color:#3e70cf;border:1px solid #dce8ff}
.badge-success{background:#edf8f3;color:#158265}
.badge-muted{background:#f0f3f7;color:#7f8ba0}
.badge-warning{background:#fff7e7;color:#b37b15}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}
.stat-card{position:relative;padding:22px 22px 18px;min-height:149px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stat-icon{position:absolute;right:20px;top:22px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#eff5ff;color:#417ce5}
.stat-icon svg{width:19px;height:19px;stroke-width:1.7}
.stat-card:nth-child(2) .stat-icon{color:#159a85;background:#edf8f5}
.stat-card:nth-child(3) .stat-icon{color:#8a67d8;background:#f4f0fe}
.stat-card:nth-child(4) .stat-icon{color:#cb902f;background:#fff8e9}
.stat-label{color:#7b899b;font-size:12px;margin-bottom:12px;padding-right:42px}
.stat-value{font-size:29px;color:#233349;font-weight:600;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums}
.stat-value small{font-size:12px;letter-spacing:0;color:#a0acbb;margin-left:6px;font-weight:400}
.stat-foot{margin-top:15px;color:#8d9aac;font-size:10px}
.stat-foot strong{color:#169678;margin-right:5px;font-weight:500}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px;margin-bottom:22px}
.panel{min-width:0;margin-bottom:22px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.dashboard-grid>.panel{margin-bottom:0}
.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:17px 22px;border-bottom:1px solid #edf0f5}
.panel-header h2{font-size:14px}
.panel-header p{margin:3px 0 0;font-size:11px;color:#93a0b2}
.panel-header>a,.panel-header>.muted{font-size:11px}
.panel-body{padding:21px 22px}
.chart{position:relative;height:232px;padding:16px 10px 0}
.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:16px;height:171px;padding:10px 14px 0;border-bottom:1px solid #e8edf5;background:repeating-linear-gradient(to top,transparent 0,transparent 41px,#f0f3f7 42px,transparent 43px)}
.chart-bar{position:relative;flex:1;max-width:32px;min-width:12px;min-height:4px;background:#82a8f7;border-radius:4px 4px 0 0;transition:background .15s}
.chart-bar:last-child{background:var(--blue)}
.chart-bar:hover{background:#2563eb}
.chart-label{position:absolute;left:50%;bottom:-27px;transform:translateX(-50%);color:#96a2b4;font-size:10px;white-space:nowrap}
.chart-value{position:absolute;left:50%;top:-24px;transform:translateX(-50%);color:#617796;font-size:10px}
.chart-bars>div:not(.chart-bar){align-self:stretch;position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center}
.chart-bars>div:not(.chart-bar) .chart-bar{width:26px;flex:none}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:88px;padding:15px 8px;border-radius:7px;border:1px solid #e8edf6;background:#fbfcfe;color:#53657e;font-size:11px;transition:background .15s,border-color .15s}
.quick-action:hover{background:#f1f6ff;border-color:#c7d9ff;color:var(--blue)}
.quick-action svg{height:22px;width:22px;color:#5486da;stroke-width:1.6}
.notice-list{list-style:none;margin:0;padding:0}
.notice-item{display:flex;align-items:flex-start;gap:11px;padding:15px 0;border-bottom:1px solid #f0f3f7;font-size:12px}
.notice-item:first-child{padding-top:2px}
.notice-item:last-child{border-bottom:0;padding-bottom:2px}
.notice-item p{margin:0 0 5px;color:#54647b}
.notice-date{display:block;color:#a1adbc;font-size:10px}
.notice-tag{margin-top:1px;flex-shrink:0;color:#5484d2;background:#eff5ff;padding:2px 5px;border-radius:3px;font-size:9px}
.table-toolbar{padding:19px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px}
.filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.input,.select,.field input,.field select,.field textarea{width:100%;min-height:37px;padding:8px 11px;color:#42536a;background:white;border:1px solid #dde5ee;border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s}
.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#acb6c4}
.input:focus,.select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#8fb4f8;box-shadow:0 0 0 3px #2563eb0c}
.input:disabled,.field input:disabled{background:#f5f7fa;color:#8c99ab}
.filter-group>.input{width:220px;font-size:12px}
.filter-group>.select{width:125px;font-size:12px}
.field textarea{resize:vertical;min-height:100px}
.table-scroll{width:100%;overflow-x:auto}
.data-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;text-align:left}
.data-table th{padding:13px 21px;background:#f8fafc;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;color:#8391a4;font-size:11px;font-weight:500}
.data-table td{height:65px;padding:13px 21px;color:#55667e;border-bottom:1px solid #eff2f6}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover td{background:#fafcff}
.data-table th:first-child,.data-table td:first-child{padding-left:23px}
.data-table td:last-child{padding-right:23px}
.data-table input[type="checkbox"]{width:13px;height:13px;accent-color:var(--blue)}
.user-cell{display:flex;align-items:center;gap:10px}
.cell-avatar{width:31px;height:31px;display:flex;flex-shrink:0;align-items:center;justify-content:center;background:#edf2fa;border-radius:50%;color:#6c87b1;font-size:10px;font-weight:600}
.cell-copy{display:flex;flex-direction:column;gap:2px}
.cell-copy strong{color:#364b68;font-size:12px;font-weight:500}
.cell-sub{font-size:10px;color:#99a6b7}
.status-dot{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:currentColor;vertical-align:middle}
.table-footer{min-height:66px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f6;color:#97a4b6;font-size:11px}
.pagination{display:flex;align-items:center;gap:5px}
.pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:4px 8px;color:#8090a4;border:1px solid #e5ebf3;border-radius:4px;background:white;font-size:11px}
.pagination button.active,.pagination button[aria-current="page"]{color:#fff;border-color:var(--blue);background:var(--blue)}
.pagination button:hover:not(:disabled):not(.active){border-color:#a9c4f8;color:var(--blue)}
.pagination svg{width:13px;height:13px}
.empty-state{padding:53px 20px;text-align:center;color:#94a1b4}
.empty-state svg{width:38px;height:38px;margin-bottom:10px;color:#c4cfdd}
.empty-state strong{display:block;margin-bottom:5px;color:#6d7d94;font-weight:500}
.empty-state p{font-size:12px;margin:0}
.page-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
.profile-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:30px 23px 23px;text-align:center}
.profile-avatar{width:68px;height:68px;margin:0 auto 14px;background:#edf3ff;color:#5985d3;border:5px solid #f7faff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:600}
.profile-card h2{margin-bottom:6px}
.profile-card>p{margin-bottom:16px;color:#929fb0;font-size:12px}
.detail-list{margin:22px 0 0;padding-top:13px;border-top:1px solid #edf1f6;text-align:left}
.detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;font-size:12px}
.detail-list dt{color:#9aa6b7}
.detail-list dd{margin:0;color:#536882;overflow-wrap:anywhere;text-align:right}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.field{display:flex;flex-direction:column;gap:7px;color:#5a6c84;font-size:12px}
.field>label{font-size:12px;color:#65758c}
.field.full-width,.form-grid>.full-width{grid-column:1 / -1}
.field-help{color:#9ca8b9;font-size:11px;margin:0}
.form-actions{padding-top:21px;margin-top:24px;border-top:1px solid #edf1f6}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 0;border-bottom:1px solid #edf1f6}
.switch-row:last-child{border-bottom:0}
.switch-row strong{font-size:12px;font-weight:500;color:#52647d}
.switch-row p{margin:4px 0 0;font-size:11px;color:#9ba8b9}
.switch-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:34px;height:19px;margin:0;border-radius:20px;flex-shrink:0;background:#d6dee8;position:relative;cursor:pointer;transition:background .18s}
.switch-row input[type="checkbox"]::after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;top:2px;left:2px;background:white;box-shadow:0 1px 3px #27395226;transition:transform .18s}
.switch-row input[type="checkbox"]:checked{background:var(--blue)}
.switch-row input[type="checkbox"]:checked::after{transform:translateX(15px)}
.info-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:21px;padding:12px 15px;border:1px solid #dce8fb;border-radius:7px;background:#f0f6ff;color:#6482ab;font-size:12px}
.info-banner svg{width:16px;height:16px;margin-top:1px;flex-shrink:0;color:#5085d8}
.info-banner p{margin:0}
.segmented{display:inline-flex;align-items:center;padding:3px;gap:3px;background:#f4f6f9;border:1px solid #edf1f5;border-radius:6px}
.segment{background:transparent;border:0;border-radius:4px;min-height:25px;padding:4px 9px;color:#8c9aad;font-size:10px}
.segment.active{background:white;color:#3973d8;box-shadow:0 1px 4px #1a2b4010}
.activity-list{list-style:none;margin:0;padding:0}
.activity-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #f0f3f7}
.activity-item:last-child{border:0;padding-bottom:0}
.activity-item:first-child{padding-top:0}
.activity-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#719cec;margin-top:7px;box-shadow:0 0 0 4px #f0f5fe}
.activity-item p{margin:0 0 5px;font-size:12px;color:#687990}
.activity-item time,.activity-item small{font-size:10px;color:#a1adbc}
.log-action{display:inline-flex;align-items:center;border:1px solid #e2e9f3;border-radius:4px;padding:2px 6px;background:#f9fbfe;color:#6a80a1;font-size:10px}
.footer{max-width:1550px;margin:0 auto;padding:4px 32px 23px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#a4afbf;font-size:10px}
.login-screen{display:grid;grid-template-columns:minmax(400px,.95fr) 1.05fr;min-height:100vh;background:white}
.login-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:70px clamp(35px,6vw,100px);color:#b5c7e5;background:#15243b}
.login-art::before,.login-art::after{content:"";position:absolute;width:520px;height:520px;right:-260px;bottom:-180px;border:1px solid #2c4060;border-radius:50%;pointer-events:none}
.login-art::after{width:700px;height:700px;right:-350px;bottom:-270px}
.login-art .brand{padding:0;position:absolute;top:48px;left:clamp(35px,6vw,100px)}
.login-art h1{position:relative;max-width:460px;font-size:clamp(29px,3vw,44px);font-weight:600;color:white;line-height:1.5;letter-spacing:1px;margin:0 0 20px}
.login-art p{position:relative;max-width:380px;font-size:13px;line-height:1.9;color:#91a7c6}
.login-art ul{padding:0;list-style:none;margin-top:24px}
.login-art li{margin:15px 0;color:#adc0dc;font-size:12px;display:flex;align-items:center;gap:10px}
.login-art li svg{width:17px;height:17px;color:#7dacf9}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:55px 40px}
.login-form{width:100%;max-width:350px}
.login-form .login-logo{margin-bottom:24px}
.login-form h1,.login-form h2{font-size:25px;letter-spacing:-.5px;font-weight:650;margin-bottom:8px}
.login-form>p{font-size:12px;color:#98a4b5;margin-bottom:31px}
.login-form .field{margin-bottom:21px;gap:9px}
.login-form .input,.login-form .field input{min-height:44px}
.login-form .button.primary{width:100%;min-height:44px;margin-top:5px;font-size:13px}
.login-note{margin-top:25px;font-size:11px;color:#98a5b7;line-height:1.8}
.login-error{margin-bottom:16px;background:#fff4f5;color:#c54e5d;border:1px solid #f0d6db;border-radius:6px;padding:10px 12px;font-size:12px}
.demo-credentials{display:flex;flex-wrap:wrap;gap:6px 12px;border:1px solid #e5ebf3;background:#f8fafc;border-radius:6px;margin:22px 0 0;padding:12px 13px;font-size:11px;color:#8b9bb0}
.demo-credentials strong{color:#627995;font-weight:500}
.dialog-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#101e375e;padding:24px;backdrop-filter:blur(2px)}
.dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;color:var(--ink);background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 25px 100px #07122530;overflow:auto}
dialog.dialog::backdrop{background:#101e375e;backdrop-filter:blur(2px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid var(--line)}
.dialog-header h2{font-size:16px}
.dialog-body{padding:23px}
.dialog-body>p{font-size:13px;color:#7e8ca0}
.dialog-body .field+.field{margin-top:18px}
.dialog-body .form-grid .field+.field{margin-top:0}
.dialog-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 22px;border-top:1px solid var(--line);background:#fafbfd}
.toast-region{position:fixed;right:24px;top:86px;z-index:100;display:flex;flex-direction:column;gap:10px;width:min(350px,calc(100vw - 32px));pointer-events:none}
.toast{padding:13px 17px;border:1px solid #dceae5;border-left:3px solid #2ba381;border-radius:7px;background:#fff;color:#436b60;box-shadow:0 6px 22px #18385516;font-size:12px;animation:toast-enter .2s ease-out;pointer-events:auto}
.toast.error{color:#b95160;border-color:#f0dbe0;border-left-color:#d96371}
/* Components used by the PHP console's rendered views. */
.brand-copy{color:#f7faff;font-size:17px;font-weight:650;letter-spacing:1px;line-height:1.45}
.brand-copy small{font-weight:400}
.brand-mark{font-size:15px;letter-spacing:-.8px}
.nav-marker{width:5px;height:5px;border-radius:50%;background:#a5c5ff;margin-left:auto;opacity:0}
.nav-item.active .nav-marker{opacity:1}
.environment-indicator{display:flex;align-items:center;gap:5px;color:#b0c5e0;font-size:11px}
.environment-indicator .status-dot{background:#49bc92;box-shadow:0 0 0 3px #49bc9210}
.sidebar-footer>.muted{display:block;margin-top:10px;font-size:8px;letter-spacing:1.3px;color:#61758f}
.topbar-divider{width:1px;height:24px;background:#e7ecf3;margin:0 2px}
.topbar-user{display:flex;flex-direction:column;gap:1px;margin-left:-8px}
.topbar-user strong{color:#425670;font-size:11px;font-weight:600}
.topbar-user small{color:#9eabbb;font-size:9px}
.breadcrumb-slash{color:#bfc8d4;font-size:11px}
.icon-button.mobile-toggle{display:none}
.login-intro{position:relative;margin-top:-10px;z-index:1}
.login-intro .eyebrow{display:block;margin-bottom:21px;color:#7795be;font-size:9px;letter-spacing:2.2px}
.login-intro h1{font-size:43px;letter-spacing:1px;line-height:1.55;margin-bottom:22px;font-weight:600}
.login-intro p{font-size:13px;line-height:2.05;color:#91a7c6}
.login-feature{display:flex;align-items:center;gap:9px;margin-top:39px;color:#b2c5df;font-size:11px}
.login-feature svg{width:17px;height:17px;color:#759dde}
.login-art-footer{position:absolute;left:clamp(35px,6vw,100px);right:clamp(35px,6vw,100px);bottom:38px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:1.5px;color:#627b9e}
.login-form-panel{position:relative}
.login-form>.badge{margin-bottom:21px;font-size:9px;padding:4px 7px}
.password-input{position:relative}
.password-input>.input{padding-right:45px}
.password-input>.icon-button{position:absolute;right:6px;top:6px;width:32px;height:32px}
.password-input>.icon-button svg{width:17px;height:17px}
.login-error:empty{display:none}
.login-submit{justify-content:space-between!important;padding-left:16px!important;padding-right:16px!important}
.demo-credentials p{flex-basis:100%;margin:2px 0 0;font-size:10px;color:#a0acbc}
.demo-credentials .mono{margin-left:auto;color:#7086a4}
.login-form .login-note{margin:21px 0 0;font-size:10px;color:#a2aebf}
.login-copyright{position:absolute;bottom:37px;left:25px;right:25px;text-align:center;font-size:10px;color:#abb5c3;letter-spacing:.1px}
.stat-card .stat-icon.blue{color:#417ce5;background:#eff5ff}
.stat-card .stat-icon.green{color:#159a85;background:#edf8f5}
.stat-card .stat-icon.amber{color:#cb902f;background:#fff8e9}
.stat-card .stat-icon.purple{color:#8a67d8;background:#f4f0fe}
.chart-bars>div.chart-column{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;align-self:stretch}
.chart-column>.chart-value{position:static;transform:none;flex:none;margin-bottom:7px;color:#8da0bb;font-size:10px;line-height:1}
.chart-bars>.chart-column>.chart-bar{width:28px;flex:none;background:#85acf5;max-width:100%}
.chart-column:last-child>.chart-bar{background:#3474ef}
.chart-column:last-child>.chart-value{color:#497cca}
.chart-column>.chart-label{bottom:-27px;font-size:10px}
.quick-actions{display:grid;grid-template-columns:1fr;gap:0;padding:8px 22px 10px}
.quick-action{flex-direction:row;min-height:64px;justify-content:flex-start;gap:12px;padding:13px 0;border:0;border-bottom:1px solid #eff2f7;border-radius:0;background:white;text-align:left}
.quick-action:last-child{border-bottom:0}
.quick-action:hover{background:#fbfdff}
.quick-action>svg:first-child{width:34px;height:34px;padding:8px;border-radius:8px;color:#5285df;background:#eff5ff}
.quick-action:nth-child(2)>svg:first-child{background:#edf8f5;color:#25a087}
.quick-action:nth-child(3)>svg:first-child{background:#f5f0fe;color:#9473d2}
.quick-action:nth-child(4)>svg:first-child{background:#fff8ed;color:#c39a52}
.quick-action>span{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#576b87}
.quick-action small{font-size:9px;color:#a0adbe;font-weight:400}
.quick-action>svg:last-child{width:14px;height:14px;margin-left:auto;color:#a1b1c6}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;border:0;padding:4px 0;color:#638bcb;font-size:11px;white-space:nowrap}
.text-button:hover{color:#2563eb}
.text-warning{color:#c49342}
.text-warning:hover{color:#b87814}
.text-success{color:#319d85}
.text-success:hover{color:#187e68}
.row-actions{display:flex;align-items:center;gap:13px}
.role-label{display:inline-block;padding:3px 7px;border:1px solid #e5eaf2;border-radius:4px;background:#fafbfd;color:#7d8da3;font-size:10px}
.data-table td.muted{color:#98a5b7;font-size:11px}
.recent-users-panel .data-table td{height:65px}
.bottom-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.panel>.notice-list{padding:6px 22px}
.notice-item{align-items:center;min-height:70px}
.notice-item:first-child{padding-top:15px}
.notice-item:last-child{padding-bottom:15px}
.notice-item strong{display:block;font-size:11px;font-weight:500;color:#60728d;line-height:1.6}
.notice-item .notice-date{margin-top:5px}
.notice-item>svg{width:14px;height:14px;margin-left:auto;color:#b4c0d0}
.notice-item:hover strong{color:#2563eb}
.notice-tag{font-size:9px;margin-right:1px;padding:3px 6px}
.activity-item>div{min-width:0}
.activity-item strong{display:block;font-size:11px;font-weight:500;color:#5b6d86;margin-bottom:4px}
.activity-item p{font-size:10px;color:#929fb0;line-height:1.65}
.activity-item time{font-size:9px}
.search-input{position:relative;width:250px;max-width:100%}
.search-input>svg{position:absolute;left:11px;top:11px;width:15px;height:15px;color:#a4b1c3;pointer-events:none}
.search-input>.input{padding-left:33px;font-size:11px}
.table-toolbar>.muted{font-size:10px;color:#a0acbd}
.page-note{font-size:10px;color:#a5b0c0;margin:-3px 0 24px;line-height:1.8}
.pagination>span{padding:0 8px;color:#8c9cb1;font-size:10px}
.pagination button.button{min-width:60px;height:28px;padding:5px 9px;font-size:10px}
.table-footer>span strong{font-weight:500;color:#7d8fa9}
.field>label>span{color:#cb8893;font-size:10px}
.dialog-body .login-error:not(:empty){margin:18px 0 0}
.dialog-header .eyebrow{font-size:8px;margin-bottom:4px}
.distribution-list{padding:2px 0 8px}
.distribution-item+.distribution-item{margin-top:25px}
.distribution-item>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#7b8ea8;margin-bottom:10px}
.distribution-item strong{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:#516b90}
.distribution-item small{font-weight:400;color:#a7b4c6;font-size:10px}
.distribution-track{height:7px;border-radius:5px;background:#f0f3f8;overflow:hidden}
.distribution-track>span{height:100%;display:block;background:#79a2ef;border-radius:5px}
.distribution-item:nth-child(2) .distribution-track>span{background:#61baa8}
.distribution-item:nth-child(3) .distribution-track>span{background:#ac94dc}
.announcements{display:grid;gap:18px}
.announcement{display:flex;gap:24px;margin:0;padding:25px 28px}
.announcement-side{display:flex;flex-direction:column;gap:17px;align-items:center;flex-shrink:0;width:34px;padding-top:1px}
.announcement-side>span{font-size:23px;line-height:1;color:#d0daea;font-weight:600;letter-spacing:-1px}
.announcement-side>svg{width:19px;height:19px;color:#a1b7d8}
.announcement-content{min-width:0;flex:1}
.announcement-meta{display:flex;align-items:center;gap:15px;margin-bottom:13px}
.announcement-meta time{font-size:10px;color:#a5b1c2}
.announcement-content h2{margin-bottom:12px;font-size:15px;font-weight:600}
.announcement-content p{margin:0;color:#8797ad;font-size:12px;line-height:1.95;overflow-wrap:anywhere}
#profile-form>.form-actions{justify-content:space-between;padding:18px 22px;margin:0;background:#fbfcfe}
#profile-form>.form-actions>.muted{font-size:10px;color:#a4b0c0}
#profile-error:not(:empty){margin:20px 0 0}
@keyframes page-enter{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){
  .page{padding-top:36px}.stat-card{min-height:156px}.chart{height:260px}.chart-bars{height:195px}
}
@media(max-width:1190px){
  .topbar{padding:0 24px}.page{padding-left:24px;padding-right:24px}.footer{padding-left:24px;padding-right:24px}
  .stats-grid{gap:12px}.stat-card{padding:20px 16px 17px}.stat-icon{right:14px;width:31px;height:31px}.stat-label{font-size:11px}.stat-value{font-size:27px}
  .dashboard-grid{gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.quick-actions{gap:0}.page-grid{grid-template-columns:250px minmax(0,1fr);gap:18px}
}
@media(max-width:1024px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:137px}.dashboard-grid,.page-grid{grid-template-columns:1fr}
  .profile-card{padding:24px}.profile-card .detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
  .topbar-actions{gap:11px}.topbar-actions>.muted{display:none}.page-heading{align-items:flex-start}.page-actions{padding-top:7px}
  .login-screen{grid-template-columns:.8fr 1fr}.login-art{padding-left:35px;padding-right:28px}.login-art .brand{left:35px}.login-art h1{font-size:29px}
  .login-art-footer{left:35px;right:28px;font-size:7px}.bottom-grid{grid-template-columns:1fr}.search-input{width:220px}
}
@media(max-width:760px){
  .sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #0f1e3520}.sidebar.open,.sidebar.is-open,body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open::after{content:"";position:fixed;inset:63px 0 0 232px;z-index:25;background:#16243c35}
  .workspace{margin-left:0}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center}.topbar{height:63px;padding:0 17px;gap:10px;position:sticky;top:0;z-index:20}
  .breadcrumbs{font-size:11px;flex:1;gap:7px}.topbar-actions{gap:9px}.topbar-actions .avatar{width:29px;height:29px;font-size:10px}.topbar-actions .badge-demo{font-size:9px;padding:2px 5px}
  .page{padding:23px 17px 8px}h1{font-size:23px}.page-heading{margin-bottom:20px;flex-wrap:wrap;gap:13px}.page-actions{padding-top:0}.page-description{font-size:11px}
  .stats-grid{gap:11px;margin-bottom:18px}.stat-card{min-height:133px;padding:17px 14px 14px}.stat-label{padding-right:30px;margin-bottom:13px;font-size:10px}
  .stat-icon{width:27px;height:27px;top:15px;right:12px;border-radius:7px}.stat-icon svg{width:16px;height:16px}.stat-value{font-size:26px}.stat-foot{margin-top:14px;font-size:9px}
  .dashboard-grid{gap:18px;margin-bottom:18px}.panel{margin-bottom:18px}.panel-header{padding:15px 16px;min-height:57px;gap:10px}.panel-header h2{font-size:13px}.panel-body{padding:18px 16px}
  .chart{padding:10px 2px 0;height:222px}.chart-bars{padding-left:6px;padding-right:6px;gap:13px}.chart-bar{max-width:28px}
  .table-toolbar{padding:16px;align-items:flex-start}.filter-group{width:100%;gap:8px}.filter-group>.input{flex:1;min-width:140px;width:auto}.filter-group>.select{width:110px}
  .data-table th,.data-table td{padding-left:16px;padding-right:16px}.data-table th:first-child,.data-table td:first-child{padding-left:17px}.data-table td:last-child{padding-right:17px}
  .table-footer{padding:14px 16px;flex-wrap:wrap;min-height:60px;font-size:10px}.form-grid{grid-template-columns:1fr;gap:18px}.field.full-width,.form-grid>.full-width{grid-column:auto}
  .profile-card .detail-list{grid-template-columns:1fr}.footer{font-size:9px;padding:3px 18px 22px;flex-wrap:wrap;gap:6px}
  .login-screen{display:block;background:#f7f9fc}.login-art{display:none}.login-form-panel{min-height:100vh;padding:40px 25px}
  .login-form{padding:31px 24px;max-width:410px;border-radius:12px;border:1px solid #e5ebf4;background:white;box-shadow:0 10px 40px #1c396609}.login-form h1,.login-form h2{font-size:23px}
  .toast-region{right:16px;top:77px}.dialog{max-height:calc(100dvh - 32px)}.dialog-header{padding:16px 18px}.dialog-body{padding:20px 18px}.dialog-footer{padding:15px 18px}
  .icon-button.mobile-toggle{display:inline-flex}.topbar-user,.topbar-divider{display:none}.topbar-actions{gap:7px}.topbar-actions>.icon-button{width:28px;height:28px;padding:5px}
  .login-copyright{bottom:20px;font-size:9px}.login-form-panel{padding-bottom:70px}.login-form>.badge{margin-bottom:19px}
  .quick-actions{padding-left:16px;padding-right:16px}.panel>.notice-list{padding-left:16px;padding-right:16px}
  .search-input{width:100%;flex-basis:100%}.filter-group>.select{flex:1;width:auto}.table-toolbar>.search-input{width:100%}
  .announcement{padding:20px 17px;gap:14px}.announcement-side{width:25px}.announcement-side>span{font-size:21px}.announcement-meta{flex-wrap:wrap;gap:8px 12px}.announcement-content h2{font-size:14px}.announcement-content p{font-size:11px}
  #profile-form>.form-actions{padding:16px}#profile-form>.form-actions>.muted{font-size:9px}
}
@media(max-width:380px){
  .topbar-actions .badge-demo{display:none}.stat-card{padding-left:11px}.stat-foot{font-size:8px}.button{padding-left:10px;padding-right:10px}.login-form-panel{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
  .sidebar,.topbar,.page-actions,.table-toolbar,.pagination,.toast-region,.mobile-toggle{display:none!important}.workspace{margin-left:0}.page{padding:0}body{background:white}.panel,.stat-card{box-shadow:none;break-inside:avoid}.data-table{font-size:10px}.footer{padding-left:0;padding-right:0}
}
