:root{--navy: #15324F;--navy-mid: #0E7C66;--navy-light: #1E4A73;--gold: #D4A843;--gold-light: #f0d890;--af-red: #C0392B;--sky-bg: #EEF3F1;--sky-card: #EEF3F1;--border-color: #C7DAD4;--text-on-blue: #D6EAFF}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:#1a1a2e;background:var(--sky-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#15324f2e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#15324f5c}.ant-layout-sider ::-webkit-scrollbar-thumb{background:#ffffff26}.login-page{min-height:100vh;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef3f1}.login-brand{position:relative;flex:0 0 55%;max-width:55%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:64px 56px;color:#fff;background:linear-gradient(135deg,#0e7c66,#15324f 52%,#0e223a)}.login-brand-pattern{position:absolute;inset:0;width:100%;height:100%;opacity:.05;pointer-events:none;z-index:0}.login-brand-glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;z-index:0}.login-brand-glow--teal{width:520px;height:520px;top:-180px;right:-160px;background:radial-gradient(circle,#0e7c668c,#0e7c6600 70%)}.login-brand-glow--gold{width:420px;height:420px;bottom:-160px;left:-120px;background:radial-gradient(circle,#d4a84347,#d4a84300 70%)}.login-brand-accentbar{position:absolute;top:0;right:0;bottom:0;width:5px;background:linear-gradient(180deg,#d4a843,#d4a84326);z-index:2}.login-brand-inner{position:relative;z-index:1;width:100%;max-width:520px}.login-brand-head{display:flex;align-items:center;gap:20px}.login-brand-logo{width:84px;height:84px;flex-shrink:0;border-radius:16px;background:#ffffff0f;border:1px solid rgba(212,168,67,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px #0e223a73}.login-brand-logo img{width:64px;height:64px}.login-brand-name h1{margin:0 0 6px;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:.3px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.login-brand-name p{margin:0;font-size:14px;font-weight:400;letter-spacing:.3px;color:#ffffffb8}.login-brand-divider{height:1px;margin:36px 0 32px;background:linear-gradient(90deg,rgba(212,168,67,.6) 0%,rgba(255,255,255,.08) 60%,transparent 100%)}.login-brand-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.login-brand-feature{display:flex;align-items:flex-start;gap:16px}.login-brand-feature-icon{width:46px;height:46px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#d4a843;background:linear-gradient(135deg,#d4a8432e,#d4a8430f);border:1px solid rgba(212,168,67,.28);transition:transform .25s ease,box-shadow .25s ease}.login-brand-feature:hover .login-brand-feature-icon{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #d4a84340}.login-brand-feature-text{display:flex;flex-direction:column;gap:2px}.login-brand-feature-text strong{font-size:15.5px;font-weight:600;letter-spacing:.2px;color:#fff}.login-brand-feature-text em{font-style:normal;font-size:13px;line-height:1.5;color:#ffffff9e}.login-brand-foot{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff80}.login-form-side{flex:0 0 45%;max-width:45%;display:flex;align-items:center;justify-content:center;padding:48px 40px;background:radial-gradient(1200px 600px at 120% -10%,rgba(27,109,194,.06) 0%,transparent 60%),#eef3f1}.login-card{width:100%;max-width:420px;padding:40px 40px 32px;background:#fff;border-radius:16px;border:1px solid rgba(21,50,79,.06);box-shadow:0 2px 8px #0e223a0f,0 20px 48px #0e223a1f}.login-card-mobilebrand{display:none;align-items:center;gap:12px;margin-bottom:28px}.login-card-mobilebrand img{width:48px;height:48px}.login-card-mobilebrand span{font-size:16px;font-weight:700;letter-spacing:1px;color:#15324f}.login-card-head{margin-bottom:28px}.login-card-kicker{display:inline-block;margin-bottom:12px;padding:4px 12px;border-radius:20px;font-size:11.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#0e7c66;background:#0e7c661a}.login-card-head h2{margin:0 0 8px;font-size:26px;font-weight:700;letter-spacing:-.3px;color:#15324f}.login-card-head p{margin:0;font-size:14px;line-height:1.5;color:#6b7785}.login-form .ant-form-item-label>label{font-size:13px;font-weight:600;color:#15324f}.login-input-icon{color:#0e7c66;font-size:16px}.login-form .ant-input-affix-wrapper{padding:11px 14px;border-radius:10px;border-color:#dbe3e0;background:#f7faf9;transition:all .2s ease}.login-form .ant-input-affix-wrapper:hover{border-color:#0e7c66;background:#fff}.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-affix-wrapper:focus-within{border-color:#0e7c66;background:#fff;box-shadow:0 0 0 3px #0e7c661f}.login-form-row{display:flex;align-items:center;justify-content:space-between;margin:4px 0 24px}.login-forgot{font-size:13px;font-weight:500;color:#1b6dc2}.login-forgot:hover{color:#0e7c66}.login-submit.ant-btn-primary{height:48px;border:none;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.3px;background:linear-gradient(135deg,#0e7c66,#15324f);box-shadow:0 8px 20px #0e7c6647;transition:all .25s ease}.login-submit.ant-btn-primary:hover{background:linear-gradient(135deg,#13967c,#1d4571)!important;box-shadow:0 12px 28px #0e7c6661;transform:translateY(-1px)}.login-submit.ant-btn-primary:active{transform:translateY(0)}.login-demo-hint{display:flex;align-items:center;gap:8px;margin-top:20px;padding:10px 14px;border-radius:10px;font-size:13px;color:#15324f;background:#d4a8431a;border:1px dashed rgba(212,168,67,.45)}.login-demo-hint b{color:#0e7c66;font-weight:700}.login-demo-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#d4a843;box-shadow:0 0 0 4px #d4a8432e}.login-card-foot{margin-top:28px;padding-top:18px;border-top:1px solid #eef1f0;text-align:center;font-size:12px;color:#98a3ad}@media(max-width:992px){.login-page{flex-direction:column}.login-brand{flex:none;max-width:100%;width:100%;padding:40px 32px}.login-brand-accentbar{display:none}.login-form-side{flex:none;max-width:100%;width:100%;padding:36px 24px 48px}}@media(max-width:640px){.login-brand{display:none}.login-card-mobilebrand{display:flex}.login-form-side{min-height:100vh;padding:24px 16px}.login-card{padding:28px 22px 24px}.login-card-head h2{font-size:23px}}.stat-card{border-radius:14px;border:none;cursor:default;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #15324f38!important}.stat-card .bg-icon{position:absolute;top:-8px;right:-8px;font-size:64px;opacity:.1;transition:transform .5s cubic-bezier(.4,0,.2,1);pointer-events:none;line-height:1}.stat-card:hover .bg-icon{transform:rotate(15deg) scale(1.15)}.section-card{border-radius:14px!important;border:1px solid var(--border-color, #C7DAD4)!important;box-shadow:0 2px 12px #15324f14!important;background:#fff!important;transition:box-shadow .22s ease,transform .22s ease!important;overflow:hidden}.section-card:hover{box-shadow:0 8px 28px #15324f26!important;transform:translateY(-1px)}.section-card .ant-card-head{background:#fff!important;border-bottom:1px solid var(--border-color, #C7DAD4)!important;min-height:48px}.section-card .ant-card-head-title{padding:12px 0}.section-card .ant-table-thead>tr>th{background:var(--sky-card, #EEF3F1)!important;color:var(--navy-mid, #0E7C66)!important;font-weight:600!important;border-bottom:1px solid var(--border-color, #C7DAD4)!important}.section-card .ant-table-tbody>tr:hover>td{background:var(--sky-bg, #EEF3F1)!important}.card-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--navy, #15324F);letter-spacing:-.3px}.card-title-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.sider-menu .ant-menu-submenu>.ant-menu-submenu-title{font-weight:600!important;font-size:13px!important;color:#ffffffe6!important}.sider-menu .ant-menu-submenu-arrow{display:none!important}.sider-menu .ant-menu-sub.ant-menu-inline{background:#0000001f!important;border-radius:0 0 8px 8px;margin:0 8px 0 22px!important;padding:4px 0;border-left:2px solid rgba(212,168,67,.5)!important}.sider-menu .ant-menu-sub .ant-menu-item{font-size:12.5px!important;font-weight:400!important;padding-left:20px!important;color:#ffffffa6!important;height:36px!important;line-height:36px!important;margin:0!important;border-radius:6px!important}.sider-menu .ant-menu-sub .ant-menu-item:hover{color:#fff!important;background:#ffffff1a!important}.sider-menu>.ant-menu-item,.sider-menu .ant-menu-item{font-weight:500!important;font-size:13px!important;color:#ffffffc7!important;transition:all .18s ease!important}.sider-menu>.ant-menu-item:hover,.sider-menu .ant-menu-item:hover{color:#fff!important;background:#ffffff1a!important}.sider-menu .ant-menu-item-selected,.sider-menu>.ant-menu-item-selected{color:var(--gold-light, #f0d890)!important;font-weight:700!important;background:#d4a8432e!important;box-shadow:inset 3px 0 0 var(--gold, #D4A843)!important}.sider-menu .ant-menu-item-selected .ant-menu-item-icon,.sider-menu>.ant-menu-item-selected .ant-menu-item-icon,.sider-menu .ant-menu-item-selected svg{color:var(--gold, #D4A843)!important}.sider-menu .ant-menu-item-selected .ant-menu-title-content{color:var(--gold-light, #f0d890)!important}.sider-menu .ant-menu-item-divider{border-color:#d4a84338!important;margin:6px 16px!important}.sidebar-logo{height:64px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid rgba(212,168,67,.5);flex-shrink:0}.sidebar-logo-text h4{color:#fff;font-weight:700;font-size:14px;line-height:20px;margin:0;white-space:nowrap;letter-spacing:-.3px}.sidebar-logo-text p{color:#ffffff73;font-size:11px;margin:0;white-space:nowrap}.sidebar-user{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:12px 18px 16px;border-top:1px solid rgba(212,168,67,.5);background:#0000002e}.sidebar-user-name{color:#ffffffd9;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:#fff6;font-size:10px;white-space:nowrap}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.5}}.pulse-critical{animation:pulse-critical 1.5s ease-in-out infinite}.progress-label{font-size:12px;color:#fffc;margin-bottom:4px;font-weight:500}
