:root{color:#24283d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6fb}*{box-sizing:border-box}html,body,#root{width:100%;min-width:1120px;min-height:100%;margin:0}body{background:radial-gradient(circle at 84% 8%,#6c5ce717,#0000 28rem),#f4f6fb;min-height:100vh}button,input,textarea{font:inherit}.admin-shell{min-height:100vh}.admin-sider{height:100vh;top:0;overflow:hidden;box-shadow:14px 0 40px #13172914;position:sticky!important}.brand{color:#fff;align-items:center;gap:12px;height:88px;padding:18px 22px;display:flex}.brand-collapsed{justify-content:center;padding-inline:0}.brand-mark{background:linear-gradient(145deg,#ffeaa7,#fdcb6e);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:23px;display:grid;box-shadow:0 8px 24px #fdcb6e3d}.brand-title{letter-spacing:.01em;font-weight:750}.brand-subtitle{color:#8f97b7;letter-spacing:.11em;text-transform:uppercase;margin-top:2px;font-size:11px}.admin-menu{padding:10px 12px;border-inline-end:0!important}.admin-menu .ant-menu-item{height:46px;margin-block:6px;line-height:46px}.sider-footnote{color:#8f97b7;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:28px;left:24px}.sider-status-dot{background:#55efc4;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #55efc41f}.admin-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #dfe2edd6;justify-content:space-between;align-items:center;height:76px;padding:0 30px;display:flex;position:sticky;top:0}.header-title.ant-typography{margin:0;font-size:18px}.header-subtitle{margin-top:1px;font-size:12px;display:block}.account-button{border-radius:14px;align-items:center;gap:9px;height:46px;padding-inline:8px 12px;display:flex}.account-avatar{background:linear-gradient(145deg,#6c5ce7,#8e7cf0)}.admin-content{padding:30px}.page-intro{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:22px;display:flex}.page-eyebrow{color:#6c5ce7;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.page-intro h2.ant-typography{color:#20243a;margin:6px 0 7px;font-size:27px}.page-intro p.ant-typography{color:#7c8299;max-width:680px;margin:0}.content-card{border:1px solid #eceef5;overflow:hidden;box-shadow:0 16px 50px #1f25400f}.user-filter-card{background:linear-gradient(135deg,#fbfaff,#f6f3ff);border-color:#ddd7ff;margin-bottom:16px}.user-filter-content{justify-content:space-between;align-items:center;gap:16px;display:flex}.filter-bar{background:#fbfcff;border-bottom:1px solid #eff1f6;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px;display:flex}.filter-bar .filter-keyword{width:270px}.filter-bar .filter-select{width:150px}.table-image{object-fit:cover;background:#f5f6fa;border:1px solid #eceef5;border-radius:12px;width:58px;height:58px;overflow:hidden}.table-placeholder{color:#a9aec1;place-items:center;font-size:20px;display:grid}.table-primary{color:#2f344c;max-width:360px;font-weight:600;display:block}.table-link:hover{color:#6e55d7}.table-secondary{color:#9297aa;text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-top:3px;font-size:12px;display:block;overflow:hidden}.detail-grid{grid-template-columns:116px minmax(0,1fr);gap:14px 18px;display:grid}.detail-label{color:#9297aa}.detail-value{color:#32374f;overflow-wrap:anywhere;min-width:0}.detail-image{object-fit:contain;background:#f5f6fa;border-radius:18px;width:100%;max-height:420px;margin-top:20px}.detail-section{border-top:1px solid #eff1f6;margin-top:24px;padding-top:22px}.drawer-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.app-loading{color:#7e849a;justify-content:center;align-items:center;gap:16px;width:100vw;height:100vh;display:flex}.app-loading-mark{font-size:34px}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.stat-card{border:1px solid #eceef5;min-height:132px;position:relative;overflow:hidden;box-shadow:0 14px 38px #1f25400d}.stat-card:after{background:var(--stat-glow,#6c5ce71a);content:"";border-radius:50%;width:100px;height:100px;position:absolute;top:-34px;right:-30px}.stat-card-icon{background:var(--stat-bg,#f0edff);width:38px;height:38px;color:var(--stat-color,#6c5ce7);border-radius:12px;place-items:center;margin-bottom:16px;font-size:18px;display:grid}.chart-card{border:1px solid #eceef5;margin-top:18px;box-shadow:0 14px 38px #1f25400d}.chart-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chart-title{font-size:17px;font-weight:700}.login-page{background:#15192b;grid-template-columns:minmax(480px,1.1fr) minmax(480px,.9fr);min-width:960px;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-visual{color:#fff;flex-direction:column;justify-content:space-between;padding:62px 70px;display:flex;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.login-visual:before{background:radial-gradient(circle,#6c5ce785,#0000 66%);width:520px;height:520px;top:-180px;left:-140px}.login-visual:after{background:radial-gradient(circle,#00cec942,#0000 65%);width:600px;height:600px;bottom:-200px;right:-180px}.login-visual-content,.login-visual-footer{z-index:1;position:relative}.login-logo{align-items:center;gap:14px;font-size:16px;font-weight:700;display:flex}.login-logo-mark{background:linear-gradient(145deg,#ffeaa7,#fdcb6e);border-radius:16px;place-items:center;width:48px;height:48px;font-size:26px;display:grid;box-shadow:0 14px 36px #fdcb6e2e}.login-headline{letter-spacing:-.045em;max-width:620px;margin:80px 0 24px;font-size:clamp(42px,5vw,68px);font-weight:800;line-height:1.08}.login-headline span{color:#a99cf4;display:block}.login-copy{color:#aeb5d0;max-width:520px;font-size:16px;line-height:1.8}.login-visual-footer{color:#747c9d;font-size:12px}.login-panel{background:#f8f9fd;border-radius:36px 0 0 36px;justify-content:center;align-items:center;padding:64px;display:flex}.login-card{width:100%;max-width:410px}.login-card h1{color:#24283d;margin:0 0 10px;font-size:30px}.login-card-copy{color:#9297aa;margin-bottom:34px}.login-form .ant-form-item{margin-bottom:20px}.login-form .ant-input-affix-wrapper,.login-form .ant-input{border-radius:13px;min-height:50px}.login-submit{border-radius:13px;height:50px;margin-top:4px;font-weight:700;box-shadow:0 12px 28px #6c5ce73d}.login-security-note{color:#a1a6b8;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}@media (width<=1240px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
