@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#172033;background:#f3f5f7;font-family:Noto Sans SC,PingFang SC,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1100px}button,input,textarea{font-family:inherit}.admin-shell,.admin-shell>.ant-layout{min-height:100vh}.admin-sider{box-shadow:4px 0 18px #1421330d;z-index:2}.brand{height:86px;display:flex;align-items:center;gap:11px;padding:0 25px;color:#fff;overflow:hidden}.brand-mark{width:35px;height:35px;flex:0 0 35px;border-radius:10px;display:grid;place-items:center;background:#d5b36a;color:#172033;font-weight:800;font-size:19px}.brand-mark.large{width:48px;height:48px;font-size:25px}.brand-name{font-weight:700;letter-spacing:1px;white-space:nowrap}.brand-caption{color:#95a2b5;font-size:11px;margin-top:3px;letter-spacing:1px;white-space:nowrap}.admin-sider .ant-menu{border-inline-end:0;padding:8px 12px}.admin-sider .ant-menu-item{margin:3px 0;width:100%;border-radius:6px;color:#aab5c4}.admin-sider .ant-menu-item-selected{color:#e8f3ef;font-weight:600}.sider-bottom{position:absolute;bottom:22px;left:24px;right:24px;color:#8997aa;font-size:12px}.system-status{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#6ab69a;box-shadow:0 0 0 3px #6ab69a1f}.admin-header{height:70px;padding:0 32px;background:#fff;border-bottom:1px solid #e9edf0;display:flex;align-items:center;justify-content:space-between}.breadcrumb-title{font-size:18px;font-weight:600;color:#172033}.header-date{color:#8a94a3;font-size:12px}.user-avatar{background:#e9f0ed;color:#2f6f62}.header-user{display:flex;flex-direction:column;line-height:1.35;font-size:13px}.header-user span{color:#8a94a3;font-size:11px}.admin-content{padding:30px 34px;background:#f3f5f7}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.page-header h1{margin:0 0 5px;font-size:25px;font-weight:700;letter-spacing:-.3px}.page-header p{color:#8a94a3;margin:0;font-size:13px}.page-actions{display:flex;gap:10px}.section-label{font-size:12px;color:#8a94a3;letter-spacing:.5px;text-transform:uppercase}.content-card{background:#fff;border:1px solid #e7ebee;border-radius:8px;padding:20px;box-shadow:0 2px 8px #1a2a3806}.content-card+.content-card{margin-top:18px}.muted{color:#9ca5af}.success-text{color:#2d8a66}.danger-text{color:#cf4a4a}.warning-text{color:#c78832}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid #e7ebee;border-radius:8px;padding:20px 20px 17px;min-height:142px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-34px;bottom:-39px;background:#edf4f1}.stat-top{display:flex;justify-content:space-between;align-items:flex-start}.stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#eef5f2;color:#2f6f62;font-size:17px}.stat-name{color:#778391;font-size:13px}.stat-value{font-family:DM Sans,sans-serif;font-size:31px;font-weight:700;color:#172033;margin-top:14px}.stat-trend{color:#2f8a66;font-size:12px;position:absolute;right:20px;bottom:18px;z-index:1}.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7ebee;border:1px solid #e7ebee;border-radius:7px;overflow:hidden}.daily-item{background:#fff;padding:18px}.daily-item .daily-number{font:700 24px DM Sans,sans-serif;margin-top:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.toolbar-left{display:flex;gap:10px;align-items:center}.toolbar .ant-input,.toolbar .ant-select{min-width:180px}.ant-table-wrapper{overflow-x:auto}.ant-table-thead>tr>th{font-size:12px;color:#76818c;font-weight:600;white-space:nowrap}.ant-table-tbody>tr>td{font-size:13px}.table-primary{color:#172033;font-weight:600}.table-secondary{color:#8a94a3;font-size:12px;margin-top:3px}.action-link{padding:0 4px}.danger-link{color:#c84c4c}.table-avatar{background:#e6f0ec;color:#2f6f62;margin-right:9px}.search-input{width:240px}.filter-tabs{margin-bottom:-1px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#f7f8f7}.login-decoration{background:#172033;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}.login-decoration:before,.login-decoration:after{content:"";position:absolute;border:1px solid rgba(213,179,106,.24);border-radius:50%}.login-decoration:before{width:650px;height:650px;left:-290px;bottom:-250px}.login-decoration:after{width:460px;height:460px;right:-210px;top:-170px}.login-copy{position:relative;z-index:1;width:390px}.login-copy .ant-typography{color:#fff}.login-copy h1{font-size:42px;letter-spacing:2px;margin:23px 0 10px}.login-copy p{color:#aab5c4;font-size:16px;line-height:1.9}.login-kpi{display:flex;gap:8px;margin-top:42px}.login-kpi span{width:34px;height:4px;background:#d5b36a;border-radius:4px}.login-kpi span:nth-child(2){width:12px;opacity:.55}.login-kpi span:nth-child(3){width:12px;opacity:.3}.login-panel{display:flex;align-items:center;justify-content:center}.login-card{width:405px;background:transparent}.login-heading{margin-bottom:28px}.eyebrow{color:#2f6f62;font:700 11px DM Sans,sans-serif;letter-spacing:1.5px;display:flex;align-items:center;gap:7px}.login-heading h2{margin:13px 0 5px;font-size:27px}.login-heading p{color:#8a94a3;margin:0}.login-submit{margin-top:7px;font-weight:600;height:46px}.login-submit span{margin-left:10px}.login-footer{color:#a7afb8;font-size:11px;text-align:center;margin-top:22px}.app-loading{min-height:100vh;display:grid;place-items:center}.import-textarea{width:100%;height:300px;border:1px solid #dfe5e8;border-radius:5px;padding:12px;margin-bottom:10px;resize:vertical;font:12px/1.6 monospace}.config-table{width:100%;border-collapse:collapse;font-size:13px}.config-table th{color:#76818c;font-size:12px;font-weight:600;text-align:left;background:#f6f8fa}.config-table th,.config-table td{padding:14px 16px;border-bottom:1px solid #edf0f2}.config-table code{color:#2f6f62;font-size:12px}@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.header-date{display:none}}
