@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy-950:#020617;--navy-900:#0f172a;--navy-800:#1e293b;--navy-700:#1e3a5f;--navy-600:#1e3a8a;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-300:#93c5fd;--cyan-400:#38bdf8;--cyan-300:#7dd3fc;--bg:#020617;--bg2:#0f172a;--bg3:#1e293b;--bg4:#162032;--glass-thin:#0f172a73;--glass:#0f172a9e;--glass-thick:#0a1022c7;--glass-light:#ffffff0a;--glass-stroke:#ffffff14;--border:#94a3b81a;--border2:#94a3b80f;--border-accent:#38bdf84d;--accent:#3b82f6;--accent2:#38bdf8;--green:#10d9a0;--green-dim:#10d9a01f;--red:#f87171;--red-dim:#f871711f;--yellow:#fbbf24;--yellow-dim:#fbbf241f;--purple:#a78bfa;--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 24px #00000073;--shadow-lg:0 8px 40px #0000008c;--sidebar-w:256px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}body.light{--bg:#eef2fb;--bg2:#fff;--bg3:#e2e8f6;--bg4:#d5dff2;--glass-thin:#fff9;--glass:#ffffffbf;--glass-thick:#ffffffe6;--glass-light:#ffffff59;--glass-stroke:#ffffffd9;--border:#1e3a8a1f;--border2:#1e3a8a12;--accent:#2563eb;--accent2:#0ea5e9;--text:#0f172a;--text2:#334155;--text3:#475569;--green:#059669;--green-dim:#0596691a;--red:#dc2626;--red-dim:#dc262614;--yellow:#b45309;--yellow-dim:#b4530914;--purple:#7c3aed;--shadow:0 4px 24px #0f172a1a;--shadow-lg:0 8px 40px #0f172a26}body.light .main-content,body.light .main-content *{color:#1e293b}body.light .fee-credit{color:#059669!important}body.light .fee-debit{color:#dc2626!important}body.light .text-muted{color:#64748b!important}body.light .card-title,body.light .page-sub,body.light .stat-label{color:#64748b}body.light .error-msg{color:#dc2626}body.light .badge-green,body.light .success-msg{color:#059669}body.light .badge-red{color:#dc2626}body.light .badge-yellow{color:#b45309}body.light .stat-value.blue{color:#2563eb}body.light .stat-value.green{color:#059669}body.light .stat-value.yellow{color:#b45309}body.light .stat-value.red{color:#dc2626}body.light .btn-primary,body.light .btn-primary:hover{color:#fff}body.light .btn-success{color:#065f46}body.light .btn-danger{color:#991b1b}body{-webkit-font-smoothing:antialiased;background:#020617;background:var(--bg);color:#f1f5f9;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;overflow-x:hidden}body:before{background:radial-gradient(ellipse 70% 55% at 10% 5%,#2563eb2e 0,#0000 65%),radial-gradient(ellipse 55% 50% at 90% 95%,#38bdf81f 0,#0000 60%),radial-gradient(ellipse 45% 40% at 55% 45%,#6348e012 0,#0000 65%),radial-gradient(ellipse 35% 30% at 75% 20%,#10d9a00d 0,#0000 55%)}body:after,body:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:0}body:after{animation:bgPulse 18s ease-in-out infinite alternate;background:radial-gradient(ellipse 60% 50% at 30% 70%,#2563eb0f 0,#0000 60%),radial-gradient(ellipse 40% 35% at 80% 30%,#38bdf80d 0,#0000 55%)}@keyframes bgPulse{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}.app-shell{height:100vh;z-index:1}.app-shell,.sidebar{display:flex;overflow:hidden;position:relative}.sidebar{backdrop-filter:blur(40px) saturate(200%) brightness(.9);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(.9);background:#0f172a9e;background:var(--glass);border-right:1px solid #94a3b81a;border-right:1px solid var(--border);box-shadow:inset 0 1px 0 #ffffff14,1px 0 0 #94a3b81a;box-shadow:inset 0 1px 0 var(--glass-stroke),1px 0 0 var(--border);flex-direction:column;gap:6px;min-width:256px;min-width:var(--sidebar-w);padding:0 12px 16px;transition:left .25s cubic-bezier(.4,0,.2,1);width:256px;width:var(--sidebar-w);z-index:100}.sidebar:after{background:linear-gradient(180deg,hsla(0,0%,100%,.025),#0000 30%,#0000 70%,#0000000f);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}body.light .sidebar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border-color:#1e3a8a1f;box-shadow:2px 0 16px #0f172a14}body.light .sidebar:after{display:none}.sidebar-brand{align-items:center;border-bottom:1px solid #94a3b80f;border-bottom:1px solid var(--border2);display:flex;flex-shrink:0;gap:10px;margin-bottom:4px;padding:20px 8px 16px;position:relative;z-index:1}.brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#60a5fa,#38bdf8);background:linear-gradient(135deg,var(--blue-400),var(--cyan-400));-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:800;letter-spacing:.5px}.brand-sub{color:#64748b;color:var(--text3);font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}body.light .brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#0ea5e9);-webkit-background-clip:text;background-clip:text}body.light .brand-sub{color:#64748b}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;padding:4px 0;position:relative;scrollbar-color:#94a3b81a #0000;scrollbar-width:thin;z-index:1}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b826;border-radius:2px}.nav-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text3);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;gap:10px;letter-spacing:.01em;padding:9px 12px;position:relative;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.nav-item:hover{background:#ffffff0f;color:#f1f5f9;color:var(--text)}.nav-item.active{background:linear-gradient(135deg,#2563eb38,#38bdf81f);border:1px solid #38bdf826;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 4px #0003;color:#7dd3fc;color:var(--cyan-300);font-weight:600}.nav-item.active:before{background:linear-gradient(180deg,#3b82f6,#38bdf8);background:linear-gradient(180deg,var(--blue-500),var(--cyan-400));border-radius:0 2px 2px 0;bottom:20%;content:"";left:0;position:absolute;top:20%;width:2px}.nav-icon{flex-shrink:0;font-size:15px;text-align:center;width:20px}body.light .nav-item{color:#475569}body.light .nav-item:hover{background:#1e3a8a0f;color:#0f172a}body.light .nav-item.active{background:linear-gradient(135deg,#2563eb1f,#38bdf812);border-color:#2563eb2e;box-shadow:none;color:#1e3a8a}.sidebar-footer{border-top:1px solid #94a3b80f;border-top:1px solid var(--border2);display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding-top:12px;position:relative;z-index:1}.user-pill{background:#ffffff0a;border:1px solid #94a3b80f;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius-sm);gap:10px;padding:8px 10px}.user-avatar,.user-pill{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#2563eb,#38bdf8);background:linear-gradient(135deg,var(--blue-600),var(--cyan-400));border-radius:10px;box-shadow:0 2px 8px #2563eb66;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}body.light .user-avatar{color:#fff!important}.user-name{color:#f1f5f9;color:var(--text);font-size:12px;font-weight:600}.user-role{font-size:10px;font-weight:400}.logout-btn,.user-role{color:#64748b;color:var(--text3)}.logout-btn{background:#0000;border:1px solid #f8717133;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:7px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.logout-btn:hover{background:#f871711f;background:var(--red-dim);border-color:#f87171;border-color:var(--red);color:#f87171;color:var(--red)}body.light .logout-btn{border-color:#dc262633;color:#64748b}body.light .logout-btn:hover{background:#dc26260f;border-color:#dc2626;color:#dc2626}.main-content{background:#0000;flex:1 1;overflow-y:auto;padding:28px 32px;scrollbar-color:#94a3b81a #0000;scrollbar-width:thin}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:2px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:28px}.page-title{color:#f1f5f9;color:var(--text);font-size:24px;font-weight:800;letter-spacing:-.5px;line-height:1.2}.page-sub{color:#64748b;color:var(--text3);font-size:13px;font-weight:400;margin-top:4px}.card{backdrop-filter:blur(28px) saturate(180%) brightness(1.02);-webkit-backdrop-filter:blur(28px) saturate(180%) brightness(1.02);background:#0f172a73;background:var(--glass-thin);border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffff14,0 4px 24px #00000073;box-shadow:inset 0 1px 0 var(--glass-stroke),var(--shadow);padding:20px 24px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:before{background:linear-gradient(180deg,hsla(0,0%,100%,.045),#0000);border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:50%;left:0;right:0}.card:after,.card:before{content:"";pointer-events:none;position:absolute;top:0;z-index:0}.card:after{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);height:1px;left:10%;right:10%}.card>*{position:relative;z-index:1}.card:hover{background:#0f172a85;border-color:#94a3b829;box-shadow:inset 0 1px 0 #ffffff1a,0 12px 40px #00000080;transform:translateY(-1px)}.card-title{color:#64748b;color:var(--text3);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:16px;text-transform:uppercase}body.light .card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border-color:#1e3a8a1a;box-shadow:0 2px 12px #0f172a14,0 0 0 1px #1e3a8a0f}body.light .card:hover{background:#fff;box-shadow:0 4px 20px #0f172a1f,0 0 0 1px #2563eb1f;transform:translateY(-1px)}body.light .card:after,body.light .card:before{display:none}.stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-card{backdrop-filter:blur(28px) saturate(180%) brightness(1.02);-webkit-backdrop-filter:blur(28px) saturate(180%) brightness(1.02);background:#0f172a73;background:var(--glass-thin);border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffff14,0 4px 24px #00000073;box-shadow:inset 0 1px 0 var(--glass-stroke),var(--shadow);cursor:default;overflow:hidden;padding:20px 22px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.stat-card:hover{box-shadow:inset 0 1px 0 #ffffff1f,0 16px 48px #00000080;transform:translateY(-2px)}.stat-card>*{position:relative;z-index:1}.stat-card:before{content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:2}.stat-card.blue:before{background:linear-gradient(90deg,#2563eb,#60a5fa);background:linear-gradient(90deg,var(--blue-600),var(--blue-400))}.stat-card.green:before{background:linear-gradient(90deg,#059669,#10d9a0);background:linear-gradient(90deg,#059669,var(--green))}.stat-card.yellow:before{background:linear-gradient(90deg,#d97706,#fbbf24);background:linear-gradient(90deg,#d97706,var(--yellow))}.stat-card.red:before{background:linear-gradient(90deg,#dc2626,#f87171);background:linear-gradient(90deg,#dc2626,var(--red))}.stat-card:after{border-radius:50%;bottom:-24px;content:"";filter:blur(24px);height:90px;opacity:.1;position:absolute;right:-24px;width:90px;z-index:0}.stat-card.blue:after{background:#3b82f6;background:var(--accent)}.stat-card.green:after{background:#10d9a0;background:var(--green)}.stat-card.yellow:after{background:#fbbf24;background:var(--yellow)}.stat-card.red:after{background:#f87171;background:var(--red)}.stat-card.blue{border-color:#3b82f638}.stat-card.green{border-color:#10d9a038}.stat-card.yellow{border-color:#fbbf2438}.stat-card.red{border-color:#f8717138}.stat-label{color:#64748b;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.stat-value{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1;margin:8px 0 0}.stat-value.blue{color:#60a5fa;color:var(--blue-400)}.stat-value.green{color:#10d9a0;color:var(--green)}.stat-value.yellow{color:#fbbf24;color:var(--yellow)}.stat-value.red{color:#f87171;color:var(--red)}body.light .stat-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border-color:#1e3a8a1f;box-shadow:0 2px 12px #0f172a14}body.light .stat-card:hover{box-shadow:0 4px 20px #0f172a1f}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:13px;width:100%}thead{position:sticky;top:0;z-index:1}th{backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);background:#0a1020bf;border-bottom:1px solid #94a3b81a;border-bottom:1px solid var(--border);color:#64748b;color:var(--text3);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid #94a3b80f;border-bottom:1px solid var(--border2);color:#f1f5f9;color:var(--text);padding:12px 16px;transition:background .15s;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#3b82f60d}body.light th{backdrop-filter:none;-webkit-backdrop-filter:none;background:#e8eef8;border-color:#1e3a8a24;color:#334155;font-weight:800}body.light td{color:#1e293b}body.light tr:hover td{background:#2563eb0a}.student-link{color:#60a5fa;cursor:pointer;font-weight:600;transition:color .15s}.student-link:hover{color:#93c5fd;text-decoration:underline}body.light .student-link{color:#1e3a8a!important}body.light .student-link:hover{color:#1d4ed8!important}.fee-credit{color:#10d9a0;color:var(--green);font-weight:600}.fee-debit{color:#f87171;color:var(--red);font-weight:600}.badge{align-items:center;border:1px solid #0000;border-radius:20px;display:inline-flex;font-size:10.5px;font-weight:700;gap:4px;letter-spacing:.05em;padding:3px 10px;text-transform:uppercase}.badge-green{background:#10d9a01f;background:var(--green-dim);border-color:#10d9a033;color:#10d9a0;color:var(--green)}.badge-red{background:#f871711f;background:var(--red-dim);border-color:#f8717133;color:#f87171;color:var(--red)}.badge-yellow{background:#fbbf241f;background:var(--yellow-dim);border-color:#fbbf2433;color:#fbbf24;color:var(--yellow)}.badge-blue{background:#3b82f61f;border-color:#3b82f633;color:#93c5fd;color:var(--blue-300)}.badge-gray{background:#94a3b814;border-color:#94a3b81a;border-color:var(--border);color:#64748b;color:var(--text3)}body.light .badge-green{background:#0596691a;border-color:#05966940}body.light .badge-red{background:#dc262614;border-color:#dc262633}body.light .badge-yellow{background:#b4530914;border-color:#b4530933}body.light .badge-blue{background:#2563eb14;border-color:#2563eb33;color:#1e40af}body.light .badge-gray{background:#47556914;border-color:#47556926;color:#475569}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;letter-spacing:.01em;overflow:hidden;padding:8px 18px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap}.btn:before{background:linear-gradient(180deg,#ffffff12,#0000);border-radius:8px 8px 0 0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(160deg,#2f72ff,#2563eb 60%,#1d4ed8);background:linear-gradient(160deg,#2f72ff,var(--blue-600) 60%,#1d4ed8);border-color:#3b82f659;box-shadow:inset 0 1px 0 #ffffff26,0 1px 3px #0000004d;color:#fff}.btn-primary:hover{background:linear-gradient(160deg,#3d7fff,#2563eb 60%,#1e4fd9);box-shadow:inset 0 1px 0 #ffffff2e,0 4px 20px #2563eb66;transform:translateY(-1px)}.btn-secondary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border-color:#94a3b81a;border-color:var(--border);box-shadow:inset 0 1px 0 #ffffff12;color:#94a3b8;color:var(--text2)}.btn-secondary:hover{background:#ffffff17;border-color:#3b82f64d;color:#f1f5f9;color:var(--text)}.btn-success{background:#10d9a01f;background:var(--green-dim);border-color:#10d9a040;color:#10d9a0;color:var(--green)}.btn-success:hover{background:#10d9a02e}.btn-danger{background:#f871711f;background:var(--red-dim);border-color:#f8717140;color:#f87171;color:var(--red)}.btn-danger:hover{background:#f871712e}.btn-sm{font-size:12px;padding:5px 12px}body.light .btn-secondary{background:#f1f5f9;border-color:#1e3a8a29;box-shadow:none;color:#334155}body.light .btn-secondary:hover{background:#e2e8f0;color:#0f172a}body.light .btn-success{background:#0596691a;border-color:#05966940}body.light .btn-danger{background:#dc262614;border-color:#dc262633}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-grid-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}label{color:#64748b;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}input,select,textarea{-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);background:#0f172a8c;border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:inset 0 1px 0 #ffffff0d;color:#f1f5f9;color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:9px 13px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}input::placeholder,textarea::placeholder{color:#64748b;color:var(--text3)}input:focus,select:focus,textarea:focus{background:#0f172ab8;border-color:#3b82f6;border-color:var(--blue-500);box-shadow:0 0 0 3px #3b82f626}textarea{min-height:80px;resize:vertical}select option{background-color:#1a2540;color:#e2e8f0}select option:checked{background-color:#2563eb;color:#fff}body.light input,body.light select,body.light textarea{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#1e3a8a2e;box-shadow:0 1px 3px #0f172a0f;color:#0f172a}body.light input:focus,body.light select:focus,body.light textarea:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}body.light input::placeholder,body.light textarea::placeholder{color:#94a3b8}body.light select option{background-color:#fff;color:#0f172a}body.light select option:checked{background-color:#dbeafe;color:#1e3a8a}.modal-overlay{align-items:center;animation:overlayIn .2s ease;-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);background:#020617b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalIn .25s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(.92);backdrop-filter:blur(40px) saturate(200%) brightness(.92);background:#0f172a9e;background:var(--glass);border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:inset 0 1px 0 #ffffff14,0 8px 40px #0000008c;box-shadow:inset 0 1px 0 var(--glass-stroke),var(--shadow-lg);max-height:90vh;max-width:600px;overflow-y:auto;scrollbar-width:thin;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-lg{max-width:860px}.modal-header{align-items:center;border-bottom:1px solid #94a3b80f;border-bottom:1px solid var(--border2);display:flex;justify-content:space-between;padding:22px 26px 16px}.modal-title{color:#f1f5f9;color:var(--text);font-size:16px;font-weight:700;letter-spacing:-.2px}.modal-close{align-items:center;background:#ffffff0f;border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:8px;color:#64748b;color:var(--text3);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:28px}.modal-close:hover{background:#f871711f;background:var(--red-dim);border-color:#f8717133;color:#f87171;color:var(--red)}.modal-body{padding:22px 26px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:0 26px 22px}body.light .modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border-color:#1e3a8a1f;box-shadow:0 8px 40px #0f172a26}body.light .modal-close{background:#f1f5f9;border-color:#1e3a8a1f}body.light .modal-close:hover{background:#dc262614;color:#dc2626}.filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filters-bar input,.filters-bar select{min-width:160px;width:auto}.filters-bar .search-input{min-width:240px}.empty-state{color:#64748b;color:var(--text3);padding:56px 32px;text-align:center}.empty-icon{font-size:40px;margin-bottom:12px;opacity:.6}.empty-text{color:#94a3b8;color:var(--text2);font-size:15px;font-weight:600}.empty-sub{color:#64748b;color:var(--text3);font-size:13px;line-height:1.6;margin-top:6px}.receipt{background:#fff;color:#111;font-family:Inter,sans-serif;max-width:480px;padding:32px}.receipt-header{border-bottom:2px solid #111;margin-bottom:16px;padding-bottom:14px;text-align:center}.receipt-academy{font-size:20px;font-weight:900}.receipt-branch{color:#444;font-size:13px;margin-top:2px}.receipt-title{font-size:15px;font-weight:700;letter-spacing:.08em;margin-top:10px;text-transform:uppercase}.receipt-row{border-bottom:1px dashed #ddd;display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.receipt-row:last-child{border-bottom:none}.receipt-total{display:flex;font-size:16px;font-weight:900;justify-content:space-between;margin-top:12px}.receipt-footer{color:#888;font-size:11px;margin-top:20px;text-align:center}.chart-wrap{height:240px}.login-bg{align-items:center;background:#020617;background:var(--bg);background-image:radial-gradient(ellipse 70% 60% at 15% 10%,#2563eb2e 0,#0000 60%),radial-gradient(ellipse 60% 50% at 85% 90%,#38bdf81a 0,#0000 60%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-bg:after,.login-bg:before{border-radius:50%;content:"";filter:blur(70px);opacity:.08;pointer-events:none;position:absolute}.login-bg:before{animation:drift 14s ease-in-out infinite alternate;background:#2563eb;background:var(--blue-600);height:520px;left:-120px;top:-120px;width:520px}.login-bg:after{animation:drift 11s ease-in-out infinite alternate-reverse;background:#38bdf8;background:var(--cyan-400);bottom:-100px;height:420px;right:-100px;width:420px}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(30px,20px) scale(1.1)}}.login-card{animation:cardIn .4s cubic-bezier(.34,1.26,.64,1);-webkit-backdrop-filter:blur(48px) saturate(200%) brightness(.95);backdrop-filter:blur(48px) saturate(200%) brightness(.95);background:#0c1226b8;border:1px solid #ffffff17;border-radius:24px;border-radius:var(--radius-2xl);box-shadow:inset 0 1px 0 #ffffff1f,0 24px 64px #0000008c;max-width:100%;padding:44px 40px;position:relative;width:400px;z-index:1}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-title{color:#f1f5f9;color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.4px;margin-bottom:4px}.login-sub{color:#64748b;color:var(--text3);font-size:13px;margin-bottom:28px}body.light .login-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#1e3a8a1f;box-shadow:0 8px 40px #0f172a26}.divider{border:none;border-top:1px solid #94a3b80f;border-top:1px solid var(--border2);margin:20px 0}.text-sm{font-size:12px}.text-muted{color:#64748b;color:var(--text3)}.mono{font-family:JetBrains Mono,monospace;letter-spacing:-.3px}.gap-row{display:flex;flex-wrap:wrap;gap:8px}.section-gap{margin-top:28px}.grid-2{grid-gap:20px;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-gap:20px;grid-template-columns:1fr 1fr 1fr}.loading{align-items:center;color:#64748b;color:var(--text3);display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:12px;padding:60px 40px;text-align:center}.loading:before{animation:spin .8s linear infinite;border:2px solid #94a3b81a;border-top-color:#3b82f6;border:2px solid var(--border);border-radius:50%;border-top-color:var(--blue-500);content:"";height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.error-msg{color:#f87171;color:var(--red)}.error-msg,.success-msg{font-size:12.5px;margin-top:6px}.success-msg{color:#10d9a0;color:var(--green)}.hamburger{align-items:center;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#0f172aa6;border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 24px #00000073;box-shadow:var(--shadow);color:#f1f5f9;color:var(--text);cursor:pointer;display:none;font-size:18px;height:38px;justify-content:center;left:14px;position:fixed;top:14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:38px;z-index:2000}.hamburger:hover{border-color:#3b82f64d}.sidebar-overlay{animation:overlayIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020617a6;display:none;inset:0;position:fixed;z-index:1500}.theme-toggle{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #94a3b81a;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:32px}.theme-toggle:hover{background:#38bdf812;border-color:#38bdf84d}@media (max-width:768px){.hamburger{display:flex}.sidebar{height:100vh;left:-280px;overflow-y:auto;position:fixed;top:0;transition:left .25s cubic-bezier(.4,0,.2,1);z-index:1600}.sidebar.open{box-shadow:0 8px 40px #0000008c;box-shadow:var(--shadow-lg);left:0}.sidebar-overlay.open{display:block}.main-content{padding:64px 16px 16px}.grid-2,.grid-3{grid-template-columns:1fr}.stat-grid{gap:12px;grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .form-group.full{grid-column:1}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.filters-bar input,.filters-bar select{flex:1 1;min-width:140px}.login-card{padding:32px 24px}.modal{border-radius:20px 20px 0 0;max-width:100%}.modal-overlay{align-items:flex-end;padding:0}.gap-row{flex-wrap:wrap}.page-title{font-size:20px}.stat-value{font-size:22px}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr}.btn{font-size:12.5px;padding:7px 14px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card,.stat-card{animation:fadeUp .3s ease both}.stat-grid>:first-child{animation-delay:.05s}.stat-grid>:nth-child(2){animation-delay:.1s}.stat-grid>:nth-child(3){animation-delay:.15s}.stat-grid>:nth-child(4){animation-delay:.2s}:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--blue-500);outline-offset:2px}a:focus-visible,button:focus-visible{border-radius:6px;outline:2px solid #3b82f6;outline:2px solid var(--blue-500);outline-offset:2px}*{scroll-behavior:smooth}
/*# sourceMappingURL=main.ecb73997.css.map*/