*{box-sizing:border-box}body{margin:0;background:#fffaf0;color:#282c43;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}.shell{min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:10px clamp(20px,6vw,80px);border-bottom:1px solid #f2eacb}header img{width:140px;height:62px;object-fit:cover}header span{font-size:.85rem;color:#74758c}main{width:min(1060px,100%);margin:auto;padding:38px 22px;flex:1}.card{background:#fff;border:1px solid #f2ead4;border-radius:22px;box-shadow:0 8px 24px #967b2510;padding:24px}.login{max-width:460px;margin:30px auto;padding:38px}.badge{display:inline-block;background:#fff1ab;color:#735300;border-radius:99px;padding:8px 14px;font-weight:700;font-size:.83rem}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:16px 0 10px}h2{margin:0;font-size:1.35rem}p{color:#6b6e80;line-height:1.55}form{display:grid;gap:17px;margin-top:24px}label{display:grid;gap:7px;font-weight:650;font-size:.91rem}input{width:100%;border:1px solid #dad9d2;border-radius:12px;padding:14px;background:#fff}input:focus{outline:3px solid #ffe694}.password{display:flex;gap:6px}.eye,.secondary{background:#fff;border:1px solid #e9dfc0;border-radius:12px;color:#525872;padding:11px}.primary{background:#ffcc40;color:#3b2c00;border:0;border-radius:12px;padding:15px;font-weight:750}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;background:linear-gradient(110deg,#fff0a8,#ffe5e8);border-radius:24px}.welcome p,.section-title p{margin-bottom:0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:34px 0 18px}.section-title p{margin-top:5px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.metric{display:grid;gap:12px}.metric:nth-child(3n+1){background:#fff6cf}.metric:nth-child(3n+2){background:#e9f6ee}.metric:nth-child(3n){background:#ffeef2}.metric span{font-size:.9rem;color:#60677c}.metric strong{font-size:1.55rem}.select{text-align:left;font-weight:700}.select small{display:block;color:#777}.note{margin-top:22px;background:#f0f6ff}.error{color:#a52634}footer{text-align:center;color:#8c8b93;font-size:.8rem;padding:22px}@media(max-width:600px){header span{display:none}.login{margin:10px auto;padding:25px}.welcome{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:18px}.metric strong{font-size:1.2rem}}.academic{margin-top:20px}.academic ul{list-style:none;padding:0}.academic li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:14px 0}.academic li span{color:#6b6e80}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px}.pagination span{font-size:.85rem}select{width:100%;border:1px solid #dad9d2;border-radius:12px;padding:14px;background:#fff;color:#282c43}.attendance-row{display:grid;gap:12px;border-bottom:1px solid #eee;padding:18px 0}.attendance-row label{max-width:440px}.subscription{background:#fff2c2;border:1px solid #f1d577;color:#5b4400;border-radius:14px;padding:14px 18px;margin:18px 0}.navigation{display:flex;gap:8px;overflow:auto;margin:22px 0;padding:8px;background:#fff;border:1px solid #f2ead4;border-radius:16px}.navigation button{flex:1;min-width:max-content;border:0;background:transparent;border-radius:11px;padding:12px 15px;color:#5a5d70;font-weight:650}.navigation button[aria-current=page]{background:#ffdf78;color:#493600}@media(max-width:600px){.navigation{position:sticky;top:0;z-index:3;box-shadow:0 6px 14px #967b2517}.navigation button{font-size:.85rem;padding:10px}}textarea{width:100%;min-height:90px;resize:vertical;border:1px solid #dad9d2;border-radius:12px;padding:14px;font:inherit}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:22px;height:22px}.action-row{display:flex;gap:8px;flex-wrap:wrap}.table-scroll{overflow-x:auto;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #eee;padding:10px;vertical-align:top}th{background:#fff6cf}.academic details{padding:14px 0}.academic summary{cursor:pointer;font-weight:700}.academic .action-row{margin:14px 0}:root{color-scheme:light}body{background:radial-gradient(circle at 5% 0%,#fff0be 0,transparent 26rem),#fffbf4;color:#292d45}header{min-height:76px;box-shadow:0 3px 18px #8b6d1410}header img{height:62px;object-fit:contain;animation:brand-enter .7s ease both}header span{font-weight:650;letter-spacing:.02em}main{width:min(1120px,100%);padding-top:28px}.card{border-color:#f3e5bd;box-shadow:0 10px 32px #9c7a1c10}.login{max-width:490px;padding:42px;background:linear-gradient(180deg,#fffdf6,#fff);animation:card-enter .55s ease both}.login h1{color:#242a45;font-weight:800;letter-spacing:-.035em}.login form{gap:18px}.login .primary{min-height:54px;font-size:1rem}.welcome{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff0a9 5%,#ffe6bd 55%,#ffe9f0);border:1px solid #f7dfa1;box-shadow:0 10px 28px #a8831e12}.welcome h1{letter-spacing:-.035em}.welcome .secondary{z-index:1}.badge{background:#ffe990;color:#684700}.primary,.secondary,.eye{min-height:44px;transition:background-color .18s,box-shadow .18s,transform .18s}.primary{background:linear-gradient(120deg,#ffd550,#ffbf34);box-shadow:0 5px 12px #d5a11824}.primary:hover:not(:disabled){background:linear-gradient(120deg,#ffdc68,#ffc844);transform:translateY(-1px)}.secondary:hover:not(:disabled),.eye:hover{background:#fff9e8}.primary:focus-visible,.secondary:focus-visible,.eye:focus-visible,.navigation button:focus-visible,summary:focus-visible{outline:3px solid #3171df;outline-offset:2px}input,select,textarea{min-height:46px;border-color:#ded9cb;color:#292d45}input:focus,select:focus,textarea:focus{outline:3px solid #ffe18a;border-color:#d5a52a}.section-title{margin-top:28px}.metric{border-radius:20px;padding:20px}.metric span{font-weight:650}.metric strong{letter-spacing:-.03em}.navigation{gap:5px;padding:6px;box-shadow:0 8px 20px #8e6d1610;scrollbar-width:thin;scrollbar-color:#e6c65e transparent}.navigation button{min-height:44px;padding:11px 15px}.navigation button[aria-current=page]{background:#ffdf72;color:#430;box-shadow:inset 0 0 0 1px #f6ce57}.academic h2{font-size:1.5rem;letter-spacing:-.025em}.academic>p:first-of-type{margin-top:8px}.academic details{margin:14px 0;padding:14px 16px;border:1px solid #f1e6c9;border-radius:15px;background:#fffdf7}.academic details[open]{background:#fffdf9}.academic summary{color:#403924}.academic li{align-items:flex-start;gap:18px;padding:16px 2px}.academic li strong{color:#2a3048}.academic li p{margin:6px 0}.subscription{background:#fff4cd;border-color:#efd98d}.note{background:#f3f7ff}.checkbox input{min-height:22px;flex:none}.pagination{margin:16px 0}.pagination span{font-weight:650;color:#686e7d}footer{color:#8a8292}@keyframes brand-enter{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:600px){header{min-height:68px;padding:6px 18px}header img{height:54px;width:132px}main{padding:18px 14px}.login{padding:26px 22px;border-radius:22px}.welcome{padding:22px;gap:12px}.welcome h1{font-size:1.8rem}.welcome .secondary{align-self:flex-end}.navigation{margin:16px -4px;padding:6px;top:0}.navigation button{font-size:.84rem}.card{border-radius:20px}.academic{padding:20px 17px}.academic li{flex-direction:column}.academic li .action-row{margin:4px 0}.academic li>button{align-self:flex-start}.metric{padding:17px}.grid{gap:10px}.grid .metric strong{font-size:1.14rem}.password .eye{white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}header img{width:160px;height:56px;object-fit:cover}@media(max-width:600px){header img{width:150px;height:52px}}.navigation-hint{display:none}@media(max-width:600px){.navigation-hint{display:block;margin:-10px 4px 16px;color:#777181;font-size:.75rem}}
