@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{background:#101319;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}:root{color:#f5f5f7;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:always;--background:#101319;--surface:#191e27;--surface-light:#202633;--text:#f5f5f7;--muted:#a1a1aa;--accent:#818cf8;--border:#303744;background:#101319;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{min-height:100vh}.brand{letter-spacing:-1.5px;font-size:25px;font-weight:800}.brand span,.accent-dot{color:var(--accent)}.sidebar{border-right:1px solid var(--border);z-index:5;background:#141922;flex-direction:column;width:255px;padding:32px 22px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-label,.eyebrow{letter-spacing:1.7px;color:var(--muted);font-size:10px;font-weight:700}.sidebar-label{margin:52px 0 15px 10px}.side-nav{gap:7px;display:grid}.nav-item{color:#aeb4c0;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:13px;width:100%;padding:13px 14px;font-size:13px;transition:all .2s;display:flex}.nav-item>span{text-align:center;width:20px;font-size:19px}.nav-item:hover{color:#fff;background:#202633}.nav-item.active{color:#fff;background:#252c3d;border-color:#39445c}.nav-item.active>span{color:var(--accent)}.nav-item small{color:var(--accent);letter-spacing:1px;margin-left:auto;font-size:8px}.disabled-nav{opacity:.5}.sidebar-bottom{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding-top:20px;display:flex}.profile-avatar,.student-avatar{color:#fff;background:linear-gradient(145deg,#5968d9,#9b75e9);border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.account-info{gap:4px;min-width:0;display:grid}.account-info strong{font-size:11px}.account-info small{max-width:145px;color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.logout-button{width:32px;height:32px;color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:9px;margin-left:auto}.logout-button:hover{color:#fff;background:var(--surface-light)}.main-content{max-width:1600px;min-height:100vh;margin-left:255px;padding:35px 5%}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:28px;display:flex}.topbar .eyebrow{margin:0 0 7px}.topbar h2{letter-spacing:-.8px;margin:0;font-size:25px}.topbar-right{color:var(--muted);align-items:center;gap:9px;font-size:11px;display:flex}.online-dot{background:#48c994;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #48c99480}.welcome-panel{background:radial-gradient(at 90% 10%,#6366f126,#0000 45%),linear-gradient(120deg,#202838,#191e27);border:1px solid #39445c;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;min-height:205px;margin-top:30px;padding:38px;display:flex}.welcome-panel .eyebrow{color:#a5afff;margin:0 0 12px}.welcome-panel h1{letter-spacing:-1.5px;max-width:540px;margin:0;font-size:clamp(25px,3vw,37px);line-height:1.2}.welcome-panel p:not(.eyebrow){color:var(--muted);margin:12px 0 0;font-size:13px}.primary-button{color:#fff;background:linear-gradient(135deg,#818cf8,#686edc);border:1px solid #999fff;border-radius:10px;padding:12px 19px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 5px 20px #818cf82a}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #818cf84a}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:23px 0;display:grid}.stat-card,.panel{border:1px solid var(--border);background:linear-gradient(145deg,#1c222d,#191e27);border-radius:16px}.stat-card{padding:20px}.stat-icon{border-radius:10px;place-items:center;width:35px;height:35px;font-size:18px;display:grid}.purple-icon{color:#a59bff;background:#8b80f51c}.blue-icon{color:#70b8ff;background:#55a9ff1c}.green-icon{color:#61dca7;background:#48c9941c}.orange-icon{color:#f5b56c;background:#f5a44b1c}.stat-card p{color:var(--muted);margin:17px 0 7px;font-size:11px}.stat-card h2{letter-spacing:-1px;margin:0;font-size:29px}.stat-card small{color:#777f8d;margin-top:7px;font-size:10px;display:block}.content-grid{grid-template-columns:1.4fr 1fr;gap:17px;display:grid}.panel{padding:24px}.panel-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.panel-heading .eyebrow{margin:0 0 8px}.panel-heading h3,.panel h3{letter-spacing:-.4px;margin:0;font-size:17px}.text-button{color:#a5adff;background:0 0;border:0;padding:6px;font-size:11px;font-weight:600}.text-button:hover{color:#fff}.list-row,.record-row{border-bottom:1px solid #30374480;align-items:center;gap:13px;padding:13px 0;display:flex}.list-row:last-child,.record-row:last-child{border-bottom:0}.student-avatar{border-radius:11px;width:37px;height:37px;font-size:13px}.list-row-info,.record-info{gap:5px;min-width:0;display:grid}.list-row-info strong,.record-info strong{font-size:12px}.list-row-info small,.record-info small{color:var(--muted);font-size:10px}.quick-panel h3{margin-bottom:18px}.quick-action{text-align:left;color:#fff;border:0;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:12px;width:100%;padding:15px 0;display:flex}.quick-action>span{color:#a5adff;background:#818cf81b;border-radius:10px;place-items:center;width:35px;height:35px;font-size:18px;display:grid}.quick-action div{gap:5px;display:grid}.quick-action strong{font-size:11px}.quick-action small{color:var(--muted);font-size:10px}.quick-action b{color:var(--muted);margin-left:auto}.empty-state{color:var(--muted);text-align:center;justify-items:center;gap:12px;padding:40px 15px;font-size:12px;display:grid}.empty-icon{color:#a5adff;background:#818cf81b;border-radius:15px;place-items:center;width:50px;height:50px;font-size:24px;display:grid}.management-panel{min-height:400px;margin-top:28px}.panel-description{color:var(--muted);margin:7px 0 0;font-size:11px}.editor-form{background:#151b25;border:1px solid #444d68;border-radius:14px;margin:20px 0;padding:22px}.editor-form h3{margin-bottom:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.editor-form label,.auth-card label{color:#c6cad3;margin:0 0 8px;font-size:11px;font-weight:600;display:block}.editor-form input,.auth-card input,.search-input{border:1px solid var(--border);width:100%;min-height:43px;color:var(--text);background:#10151d;border-radius:9px;outline:none;padding:12px 13px;font-size:12px;transition:border .2s,box-shadow .2s}.editor-form input:focus,.auth-card input:focus,.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #818cf81c}.editor-form input::placeholder,.auth-card input::placeholder,.search-input::placeholder{color:#6f7786}.form-actions{gap:10px;margin-top:20px;display:flex}.secondary-button{color:#d5d8e0;background:#282f3b;border:1px solid #414958;border-radius:9px;padding:11px 17px;font-size:11px}.secondary-button:hover{background:#353e4d}.table-toolbar{justify-content:space-between;align-items:center;gap:15px;margin:22px 0 10px;display:flex}.table-toolbar .search-input{max-width:390px}.table-toolbar span{color:var(--muted);font-size:10px}.records-list{border-top:1px solid var(--border)}.record-actions,.subject-actions{gap:7px;margin-left:auto;display:flex}.icon-button{border:1px solid var(--border);color:#c8cce0;background:#222936;border-radius:9px;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.icon-button:hover{border-color:var(--accent);color:#fff}.icon-button.danger-action:hover{color:#f77;background:#ff777714;border-color:#ff77775c}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:25px;display:grid}.subject-card{border:1px solid var(--border);background:#171d27;border-radius:13px;align-items:center;gap:13px;min-width:0;padding:17px;transition:border .2s,transform .2s;display:flex}.subject-card:hover{border-color:#626c91;transform:translateY(-2px)}.subject-symbol{color:#a5adff;background:#818cf81b;border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.subject-card h4{margin:0 0 5px;font-size:12px}.subject-card p{color:var(--muted);margin:0;font-size:10px}.app-footer{border-top:1px solid var(--border);color:#777f8d;justify-content:space-between;gap:15px;margin-top:35px;padding:18px 0;font-size:10px;display:flex}.notice{border-radius:9px;margin:15px 0;padding:12px 14px;font-size:11px;line-height:1.5}.error-notice{color:#f99;background:#ff55551a;border:1px solid #f554}.success-notice{color:#77e0ad;background:#48c99418;border:1px solid #48c99444}.dashboard-notice{color:#b9c2ff;background:#818cf81b;border:1px solid #818cf84c;justify-content:space-between;align-items:center;display:flex}.dashboard-notice button{color:#fff;background:0 0;border:0;font-size:18px}.auth-screen,.loading-screen{background:#101319;place-items:center;min-height:100vh;padding:25px;display:grid;position:relative;overflow:hidden}.auth-glow{filter:blur(100px);pointer-events:none;background:#818cf82a;border-radius:50%;width:550px;height:550px;position:absolute;top:-280px;left:50%;transform:translate(-50%)}.auth-card{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#191e27ef;border:1px solid #394252;border-radius:21px;width:100%;max-width:420px;padding:38px;position:relative;box-shadow:0 25px 100px #0005}.auth-card .brand{margin-bottom:35px}.auth-card .eyebrow{color:#a5adff;margin-bottom:13px}.auth-card h1{letter-spacing:-1.2px;margin:0;font-size:32px}.auth-description{color:var(--muted);margin:10px 0 27px;font-size:12px;line-height:1.6}.auth-card input{margin-bottom:19px}.full-button{width:100%;margin-top:5px}.auth-switch{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px;margin-top:25px;font-size:11px;display:flex}.auth-switch button{color:#a5adff;background:0 0;border:0;padding:0;font-weight:700}.auth-footer{color:#737b8a;text-align:center;margin:35px 0 0;font-size:10px}.loading-screen{color:var(--muted);align-content:center;gap:15px;font-size:12px}.brand-mark{color:#fff;background:linear-gradient(135deg,#818cf8,#686edc);border-radius:15px;place-items:center;width:52px;height:52px;font-size:25px;font-weight:800;display:grid}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:28px 3%}}@media (width<=800px){.sidebar{width:100%;height:auto;padding:17px 20px;position:static}.sidebar-label,.sidebar-bottom{display:none}.side-nav{gap:5px;margin-top:16px;display:flex;overflow-x:auto}.nav-item{flex-shrink:0;width:auto;padding:10px;font-size:11px}.nav-item>span{display:none}.main-content{margin-left:0;padding:22px 17px}.content-grid{grid-template-columns:1fr}.welcome-panel{flex-direction:column;align-items:flex-start;padding:27px}}@media (width<=550px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:14px}.stat-card h2{font-size:24px}.form-grid,.subject-grid{grid-template-columns:1fr}.panel{padding:17px}.panel-heading{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar .search-input{max-width:none}.app-footer{flex-direction:column}.auth-card{padding:27px 22px}}.report-card{background:#191e27;border:1px solid #303744;border-radius:18px;margin-top:24px;padding:28px}.report-student-info{border-top:1px solid #303744;border-bottom:1px solid #303744;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px 0;display:grid}.report-student-info div,.report-summary div{flex-direction:column;gap:8px;display:flex}.report-student-info small,.report-summary small{color:#a1a1aa;font-size:12px}.report-student-info strong,.report-summary strong{color:#f5f5f7;font-size:15px}.report-table-heading,.report-table-row{border-bottom:1px solid #303744;grid-template-columns:1.5fr 1fr 1fr .6fr;align-items:center;gap:12px;padding:15px 12px;display:grid}.report-table-heading{color:#a1a1aa;font-size:12px}.report-table-row{color:#f5f5f7;font-size:14px}.report-table-row strong{color:#818cf8}.report-summary{background:#101319;border:1px solid #303744;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding:22px;display:grid}@media (width<=650px){.report-student-info,.report-summary{grid-template-columns:1fr}.report-table-heading,.report-table-row{grid-template-columns:1.2fr 1fr .8fr .5fr;gap:6px;padding:12px 4px;font-size:11px}}@media print{body{color:#111!important;background:#fff!important}body *{visibility:hidden}.report-card,.report-card *{visibility:visible}.report-card{border:1px solid #ddd;border-radius:0;width:100%;margin:0;padding:32px;position:absolute;top:0;left:0;color:#111!important;background:#fff!important}.report-card h2,.report-card strong,.report-card span{color:#111!important}.report-card small,.report-card .eyebrow,.report-card .panel-description{color:#555!important}.report-card .report-summary{border:1px solid #ddd;background:#f5f5f5!important}.report-card .report-student-info,.report-card .report-table-heading,.report-card .report-table-row{border-color:#ddd!important}.report-card button{display:none!important}@page{size:A4 portrait;margin:15mm}}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.attendance-summary>div{background:#191e27;border:1px solid #303744;border-radius:14px;flex-direction:column;gap:8px;padding:20px;display:flex}.attendance-summary span{color:#a1a1aa;font-size:13px}.attendance-summary strong{color:#f5f5f7;font-size:28px;font-weight:600}@media (width<=600px){.attendance-summary{grid-template-columns:1fr}}.attendance-history-panel{background:#191e27;border:1px solid #303744;border-radius:18px;min-height:auto;padding:28px}.attendance-history-panel .panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.attendance-history-panel .panel-heading h3{color:#f5f5f7;margin-bottom:7px;font-size:21px}.attendance-history-panel .panel-heading p{color:#a1a1aa;font-size:14px}.attendance-history-panel .panel-heading select{color:#f5f5f7;cursor:pointer;background:#101319;border:1px solid #303744;border-radius:10px;outline:none;min-width:150px;padding:11px 16px}.attendance-history-panel .panel-heading select:focus{border-color:#818cf8}.attendance-history-panel .records-list{gap:14px;display:grid}.attendance-history-panel .record-row{background:#10151e;border:1px solid #303744;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.attendance-history-panel .record-row:hover{border-color:#818cf8;transform:translateY(-2px)}.attendance-history-panel .record-row>div:first-child{flex-direction:column;gap:7px;display:flex}.attendance-history-panel .record-row strong{color:#f5f5f7;font-size:16px}.attendance-history-panel .record-row span{color:#a1a1aa;font-size:13px}.attendance-history-panel .record-row>div:last-child{flex-wrap:wrap;gap:12px;display:flex}.attendance-history-panel .record-row>div:last-child span{color:#86efac;background:#202a27;border-radius:8px;padding:8px 12px;font-weight:600}.attendance-history-panel .record-row>div:last-child span:last-child{color:#fca5a5;background:#302321}@media (width<=600px){.attendance-history-panel{padding:18px}.attendance-history-panel .panel-heading{flex-direction:column;align-items:flex-start}.attendance-history-panel .panel-heading select{width:100%}.attendance-history-panel .record-row{flex-direction:column;align-items:flex-start}}.student-profile-panel{margin-bottom:24px;padding:28px}.student-profile-panel .panel-heading{margin-bottom:28px}.student-profile-panel .stats-grid{margin-bottom:30px}.student-profile-panel h3{margin-bottom:18px}.student-profile-panel .record-row{border-bottom:1px solid #303744;border-radius:10px;padding:18px}.student-profile-panel .record-row:hover{background:#191e27}
