:root{color:#1f2937;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:#f4f7fb}button,input{font:inherit}.initial-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(440px,.8fr);background:#f5f8fc}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);color:#fff;background:radial-gradient(circle at 20% 18%,rgba(70,154,255,.38),transparent 30%),radial-gradient(circle at 86% 78%,rgba(45,212,191,.22),transparent 34%),linear-gradient(145deg,#081b3a,#0c2f64 58%,#0a4d6f)}.login-brand:before,.login-brand:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.09);border-radius:50%}.login-brand:before{top:-190px;right:-80px}.login-brand:after{bottom:-230px;left:-70px;width:480px;height:480px}.login-brand>*{position:relative;z-index:1}.login-brand .eyebrow{display:block;margin-bottom:18px;color:#79c7ff;font-size:12px;font-weight:700;letter-spacing:.2em}.login-brand h1{margin:0 0 18px;font-size:clamp(42px,5.4vw,76px);line-height:1;letter-spacing:-.045em}.login-brand p{max-width:540px;margin:0;color:#ffffffb8;font-size:18px;line-height:1.8}.login-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-top:52px}.login-highlights span{padding:10px 15px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#ffffff14;backdrop-filter:blur(8px);color:#ffffffd6}.brand-mark{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(140deg,#4096ff,#13c2c2);font-size:21px;font-weight:800;box-shadow:0 8px 28px #1677ff40}.brand-mark.large{width:54px;height:54px;margin-bottom:42px;border-radius:16px;font-size:30px}.login-panel{display:grid;place-items:center;padding:42px}.login-card{width:min(430px,100%);padding:18px 22px 12px;box-shadow:0 22px 70px #1d375a1f}.login-title{width:100%;margin-bottom:28px}.login-title h2{margin-bottom:0!important}.login-error{margin-bottom:20px}.login-button{height:46px;font-weight:600;box-shadow:0 8px 24px #1677ff40}.login-security-note{margin-top:24px;padding-top:20px;border-top:1px solid #edf0f5;color:#7b8797;text-align:center;font-size:12px}.app-shell{min-height:100vh}.app-sider{position:relative;min-height:100vh;background:linear-gradient(180deg,#0c1f3d,#102b50)!important;box-shadow:4px 0 20px #11274914}.sidebar-brand{height:70px;display:flex;align-items:center;gap:12px;margin:0 20px;color:#fff}.sidebar-brand strong{display:block;font-size:17px;letter-spacing:.06em}.sidebar-brand span{display:block;margin-top:1px;color:#ffffff85;font-size:11px}.app-sider .ant-menu{padding:10px 9px;background:transparent!important}.app-sider .ant-menu-item{margin-block:6px}.app-sider .ant-menu-item-selected{background:linear-gradient(90deg,#1677ff,#3c91f8)!important;box-shadow:0 8px 20px #1677ff38}.sidebar-security{position:absolute;right:18px;bottom:22px;left:18px;display:flex;gap:11px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:11px;color:#67e8c8;background:#ffffff0e}.sidebar-security strong,.sidebar-security span{display:block}.sidebar-security strong{color:#fff;font-size:12px}.sidebar-security span{margin-top:2px;color:#ffffff85;font-size:10px}.app-header{height:70px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#ffffffeb;border-bottom:1px solid #e9edf3;backdrop-filter:blur(10px)}.header-right{display:flex;align-items:center;gap:20px}.admin-profile{display:flex;align-items:center;gap:10px;padding-left:18px;border-left:1px solid #e9edf3}.admin-profile strong,.admin-profile span{display:block}.admin-profile strong{font-size:13px}.admin-profile span{color:#8c96a5;font-size:11px}.app-content{padding:26px;overflow:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h3{margin:0 0 4px!important;color:#18253a}.page-alert{margin-bottom:16px}.ant-card{border:1px solid rgba(221,228,238,.82);box-shadow:0 4px 18px #26406209}.metric-card{min-height:148px}.metric-card .ant-card-body{padding:20px}.metric-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:18px}.muted-icon{color:#a8b1bd}.metric-card .ant-statistic-title{color:#687487;font-size:13px}.metric-card .ant-statistic-content{color:#17243a;font-size:28px;font-weight:650;letter-spacing:-.025em}.chart-row{margin-top:16px}.chart-container{position:relative;width:100%;height:340px}.short-chart{height:260px}.membership-chart{height:340px}.donut-label{pointer-events:none;position:absolute;top:50%;left:50%;display:grid;place-items:center;transform:translate(-50%,-62%)}.donut-label strong{color:#18253a;font-size:27px}.donut-label span{color:#8a95a5;font-size:12px}.table-toolbar{display:flex;gap:12px;margin-bottom:18px}.table-toolbar .ant-input-affix-wrapper{max-width:340px}.table-toolbar .ant-select{min-width:170px}.system-list{width:100%}.system-list>.ant-space-item{width:100%}.system-list span:not(.ant-badge-status-text){display:flex;justify-content:space-between;gap:16px;color:#697689}@media(max-width:920px){.login-page{grid-template-columns:1fr}.login-brand{min-height:340px;padding:54px 38px}.login-brand .brand-mark{margin-bottom:26px}.login-brand h1{font-size:46px}.login-highlights{margin-top:30px}.login-panel{padding:36px 22px}.header-right>.ant-badge{display:none}.app-content{padding:20px 16px}}@media(max-width:680px){.app-sider{position:fixed!important;z-index:50;height:100vh}.app-shell>.ant-layout{margin-left:80px}.app-header{padding:0 12px}.admin-profile{display:none}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.ant-space{width:100%}.table-toolbar{flex-wrap:wrap}.table-toolbar .ant-input-affix-wrapper{max-width:none;width:100%}.login-brand{min-height:300px}.login-brand p{font-size:15px}.login-highlights span:nth-child(n+3){display:none}}
