@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;color:#16314e;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.muted{color:#7d8fa6;line-height:1.6}.small{font-size:12px}.overline{font-size:11px!important;font-weight:800!important;letter-spacing:2px!important;text-transform:uppercase}.login-bg{min-height:100vh;background:linear-gradient(135deg,#081b36,#0c3566 55%,#15539a);display:flex;align-items:center;justify-content:center;padding:30px}.login-shell{display:grid;grid-template-columns:1.1fr .9fr;max-width:1000px;width:100%;min-height:590px;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:26px;overflow:hidden;box-shadow:0 30px 110px #0003}.login-art{padding:75px 60px;color:#fff;background:radial-gradient(circle at 40% 90%,#217be447,transparent 45%)}.brand-mark{background:#3580eb;color:#fff;border-radius:14px;width:55px;height:55px;display:grid;place-items:center;font:700 33px Outfit;box-shadow:0 10px 20px #0002}.brand-mark.sm{width:39px;height:39px;font-size:25px;border-radius:12px}.login-art .overline{margin:55px 0 17px;color:#9ac8ff}.login-art h1{font:700 52px/1.1 Outfit;margin:0}.login-art h1 em{font-style:normal;color:#67cfff}.login-art>p:not(.overline){line-height:1.8;max-width:380px;color:#d0e5ff}.security-line{display:flex;align-items:center;gap:10px;font-size:13px;color:#a9d2ff;margin-top:80px}.login-card{background:#fff;padding:68px 50px;display:flex;flex-direction:column;justify-content:center}.brand-small{color:#1f6ac4;font-weight:900;letter-spacing:1.5px;font-size:14px}.brand-small span{color:#8491a0;margin-left:6px;font-weight:500;letter-spacing:0}.login-card h2{font:700 32px Outfit;margin:30px 0 0}.login-card .muted{margin:5px 0 27px;font-size:14px}.login-card label{font-size:13px;font-weight:700;margin-bottom:20px;display:block;color:#314765}.login-card input{display:block;margin-top:9px;width:100%;border:1px solid #dbe5f1;padding:14px 16px;border-radius:11px;outline:none;color:#223d5b;background:#fff}.login-card input:focus,.period input:focus{border-color:#3384f0;box-shadow:0 0 0 3px #3384f01e}.password-field{position:relative}.password-field button{position:absolute;right:13px;top:18px;background:transparent;border:0;color:#8294a8}.primary{display:flex;align-items:center;justify-content:center;gap:9px;background:#1e71dc;border:0;border-radius:11px;color:#fff;padding:14px 20px;font-size:14px;font-weight:800;transition:background .2s}.primary:hover{background:#1157ba}.primary.inline{display:inline-flex;margin-top:14px}.login-card small{color:#9aaabd;line-height:1.6;margin-top:20px}.error{background:#fff0f0;border:1px solid #ffc6c6;color:#b62d3c;padding:12px 15px;font-size:13px;border-radius:10px;margin-bottom:18px}.notice{background:#fff6dd;border:1px solid #f4d487;color:#835a08;padding:12px 15px;font-size:13px;border-radius:10px;margin-bottom:20px}.app{display:flex;min-height:100vh}.sidebar{background:#0a2343;color:#fff;width:254px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;padding:26px 15px}.wordmark{display:flex;align-items:center;gap:11px;padding:0 10px 48px}.wordmark b{letter-spacing:.6px;font:800 16px Outfit}.wordmark small{display:block;font-size:10px;color:#94b0d1;margin-top:2px}.side-label{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#658aaa;padding:0 16px 13px}.sidebar nav{display:grid;gap:6px}.sidebar nav button,.logout{color:#aac2dc;border:0;background:none;padding:14px 16px;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;font-size:13px;font-weight:700;width:100%}.sidebar nav button:hover{background:#16395e}.sidebar nav button.selected{background:#2674dd;color:#fff;box-shadow:0 5px 15px #0913284d}.side-bottom{margin-top:auto}.identity{display:flex;align-items:center;gap:10px;padding:14px 12px;border-bottom:1px solid #244360}.identity .avatar{width:35px;height:35px;background:#2768aa;border-radius:50%;display:grid;place-items:center;font-weight:900}.identity>div:last-child{min-width:0}.identity b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity small{font-size:10px;color:#9ebad8}.logout{margin-top:12px}.main{min-width:0;flex:1}.top{height:74px;background:#fff;border-bottom:1px solid #e5edf6;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#526b89;font-size:12px;font-weight:800;letter-spacing:.7px}.sep{color:#a4b1c2;margin:0 10px}.light-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid #dfe8f2;border-radius:9px;padding:10px 13px;color:#3f5978;font-size:12px;font-weight:700}.light-btn:hover{background:#f3f7fc}.content{max-width:1360px;margin:auto;padding:34px 40px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.heading .overline{color:#2d78d2;margin:0 0 8px}.heading h1{font:700 38px Outfit;margin:0}.wave{color:#3395ec}.heading .muted{margin:5px 0 0;font-size:14px}.period{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:9px 16px;color:#2666a1}.period label{display:grid;font-weight:800;font-size:10px;color:#829ab1;gap:3px}.period input{border:0;background:transparent;color:#1e3c60;font-weight:800;font-size:13px;min-width:153px;outline:none}.hero-card{border-radius:18px;background:linear-gradient(108deg,#1651a6,#267fec 88%);color:#fff;min-height:207px;padding:38px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 32px #1a5dae25}.hero-card p{font-size:12px;letter-spacing:1.7px;font-weight:800;color:#b9ddff}.hero-card h2{font:700 48px Outfit;margin:10px 0}.hero-card span{color:#d9e8ff;font-size:13px}.hero-card svg{opacity:.25}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}.stat{background:#fff;border:1px solid #e8eef6;border-radius:15px;padding:24px 26px;min-height:125px}.stat span{display:block;color:#7e93aa;font-size:12px;font-weight:600}.stat strong{display:block;font:700 31px Outfit;color:#122b4c;margin-top:9px}.stat small{display:block;color:#a0afc0;font-size:11px;margin-top:5px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid #e8eef6;border-radius:16px;padding:28px;margin-bottom:18px;min-width:0}.panel h3{font:700 19px Outfit;margin:0 0 16px}.target{display:flex;align-items:baseline;gap:9px;margin-bottom:17px}.target strong{font:700 33px Outfit;color:#195fad}.target span{font-size:12px;color:#8095ae}.track{background:#e8f0fb;height:10px;border-radius:9px;overflow:hidden}.track div{height:100%;border-radius:9px;background:linear-gradient(90deg,#2475eb,#39c2ed);transition:width .3s}.panel>.muted{font-size:13px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f9;padding:13px 0;color:#8494a9;font-size:13px}.detail-row b{color:#234264;text-align:right}.detail-row.total{border:0;color:#1c3352;font-weight:800;font-size:14px}.detail-row.total b{color:#1374d4;font-size:20px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h3{margin-bottom:4px}.section-head p{margin:0 0 20px;font-size:13px}.chip{display:inline-block;background:#edf3fd;border-radius:20px;padding:5px 10px;color:#47759f;font-size:11px;font-weight:800;white-space:nowrap}.chip.good{background:#def8ef;color:#147d5c}.chip.warn{background:#fff3da;color:#a97922}table{width:100%;border-collapse:collapse;min-width:520px}th{text-align:left;color:#8ea0b5;font-size:11px;text-transform:uppercase;letter-spacing:.7px;padding:12px;border-bottom:1px solid #e8edf4}td{font-size:13px;color:#3c536f;padding:15px 12px;border-bottom:1px solid #f0f3f7}.overflow{overflow-x:auto}.empty{text-align:center;color:#94a5ba;padding:45px 15px;font-size:13px}.pagination{display:flex;align-items:center;justify-content:end;gap:12px;padding-top:17px;color:#8495aa;font-size:12px}.qr{display:flex;flex-direction:column;align-items:start;gap:15px;padding-top:18px}.qr img{width:205px;max-width:100%;border:1px solid #e8edf4;border-radius:10px;padding:9px}footer{padding:25px 0;color:#a5b4c5;font-size:11px;text-align:center}@media(max-width:960px){.sidebar{width:76px}.wordmark{padding:0 3px 40px}.wordmark>div:last-child,.side-label,.sidebar nav button{font-size:0}.sidebar nav button{justify-content:center}.sidebar .identity>div:last-child,.sidebar .logout{font-size:0}.identity{padding:14px 4px}.logout{justify-content:center}.content{padding:25px}.top{padding:0 25px}.login-art{padding:50px 30px}.login-card{padding:45px 28px}}@media(max-width:660px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-card{min-height:540px}.sidebar{position:fixed;height:66px;bottom:0;top:auto;left:0;width:100%;z-index:3;padding:7px 10px;flex-direction:row;align-items:center;box-shadow:0 -5px 20px #05152b30}.sidebar .wordmark,.sidebar .side-label,.sidebar .side-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;width:100%}.sidebar nav button{width:auto;min-width:52px;padding:12px}.main{width:100%;padding-bottom:75px}.top{height:53px;padding:0 17px}.content{padding:24px 15px}.heading{align-items:start;flex-direction:column}.heading h1{font-size:29px}.period{width:100%;justify-content:start}.hero-card{padding:27px 22px}.hero-card h2{font-size:38px}.hero-card svg{display:none}.stats{grid-template-columns:1fr;gap:10px}.stat{min-height:auto;padding:18px}.two-col{grid-template-columns:1fr}.panel{padding:19px}}
