@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap";:root{font-family:Nunito Sans,system-ui,-apple-system,sans-serif;color:#1e293b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #D5B872;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,34px);letter-spacing:-.8px;line-height:1.2}h2{font-size:23px}h3{font-size:17px}p{line-height:1.6}.gold{color:#c9a75d}.brand{font-size:28px;letter-spacing:-1.5px;font-weight:900;color:#fff;display:flex;align-items:center}.brand-a{font-size:36px;color:#c9a75d;letter-spacing:-3px}.brand.big{font-size:54px;color:#1e293b}.brand.big .brand-a{font-size:74px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.5px;color:#a48a57}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#1e293b;color:#dde5ee;padding:25px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.sidebar .brand{margin:0 12px 35px}.navlabel{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#8391a6;margin:18px 16px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navitem{width:100%;border:0;background:transparent;color:#c5d0de;border-radius:16px;padding:13px 14px;display:flex;gap:13px;align-items:center;text-align:left;font-weight:800;margin:2px 0}.navitem:hover,.navitem.active{background:#c9a75d;color:#1e293b}.sidebottom{margin-top:auto}.main{min-width:0;flex:1}.topbar{height:76px;background:#fff;border-bottom:1px solid #EBEEF3;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:13px;color:#8792a3}.breadcrumbs button{border:0;background:transparent;color:#6f7b8c}.breadcrumbs b{color:#1e293b}.topright{display:flex;align-items:center;gap:14px}.role-pill{font-size:12px;border:1px solid #E8DAB9;border-radius:30px;padding:7px 12px;color:#a17d3f;font-weight:800;background:#fffaee}.avatar{background:#e6d6b2;color:#745c2d;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex-shrink:0}.avatar.large{width:72px;height:72px;font-size:30px}.content{max-width:1250px;margin:auto;padding:32px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.pagehead h1{margin:7px 0 9px}.pagehead p{color:#758195;margin:0;font-size:14px}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:11px 18px;font-weight:900;border:1px solid transparent;white-space:nowrap}.primary{background:#1e293b;color:#fff}.primary:hover{background:#344359}.outline{border-color:#dce2e9;background:#fff;color:#26364b}.outline:hover{background:#f3f5f9}.wide{width:100%}.card{background:#fff;border:1px solid #EBEDF2;border-radius:24px;padding:22px;box-shadow:0 7px 25px #1e293b09}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}.class-card{background:#fff;text-align:left;border:1px solid #E9ECF2;border-radius:24px;padding:25px;box-shadow:0 8px 22px #1e293b09;transition:transform .2s,border-color .2s}.class-card:hover{transform:translateY(-3px);border-color:#d2b574}.class-symbol{width:56px;height:56px;border-radius:20px;background:#f6edda;color:#b99952;display:grid;place-items:center;margin-bottom:20px}.class-card h3{font-size:22px;margin:9px 0}.class-card p{font-size:13px;color:#748094}.class-link{display:flex;gap:5px;align-items:center;color:#b39151;font-weight:900;font-size:13px}.empty{padding:35px;text-align:center;color:#8b97a7;grid-column:1/-1}.empty h3{margin:12px 0 3px;color:#334155}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.stat{background:#fff;border:1px solid #ECEEF3;border-radius:23px;padding:22px;display:flex;flex-direction:column;gap:6px}.stat-icon{width:41px;height:41px;background:#f7efdd;color:#b49658;border-radius:14px;display:grid;place-items:center;margin-bottom:8px}.stat strong{font-size:30px}.stat span{color:#7a8596;font-size:13px}.two-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.cardtitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cardtitle h3{margin:0}.cardtitle span{font-size:12px;color:#9aa4b2}.session-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.session-pill{border:1px solid #E9EDF2;background:#f8fafc;border-radius:15px;display:flex;align-items:center;text-align:left;gap:10px;padding:12px;color:#344256}.session-pill.selected{border-color:#d1b373;background:#fff9e9}.session-pill b{background:#eaeff5;color:#566276;padding:7px;border-radius:10px}.session-pill span{font-size:12px;font-weight:700;line-height:1.3}.minirow,.event-row,.reviewline,.student-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #EFF1F4}.minirow{width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;justify-content:space-between}.minirow div,.student-row div,.reviewline div,.event-row div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.minirow span,.student-row span,.reviewline span,.event-row span{font-size:12px;color:#8792a2}.minirow b,.student-row b,.reviewline b,.event-row b{font-size:13px}.muted{color:#8a95a6;font-size:13px}.mascot-feature{display:flex;align-items:center;gap:14px}.mascot-feature img{width:135px;max-width:42%;border-radius:20px}.mascot-feature p{font-size:13px;color:#7c8797}.textlink,.linkbtn{border:0;background:none;color:#a48445;font-weight:900}.session-picker{display:flex;align-items:center;gap:15px;margin-bottom:15px}.session-picker label{font-size:13px;font-weight:900}.session-picker select{max-width:550px}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;background:linear-gradient(115deg,#fff,#fbf7ed)}.session-header h2{margin:8px 0}.session-header p{display:flex;align-items:center;gap:6px;font-size:12px;color:#8b97a7;margin:0}.task-list{display:grid;gap:12px}.task-card{display:flex;align-items:flex-start;gap:16px}.task-icon{background:#f8efdd;color:#b99c60;border-radius:15px;padding:14px}.taskbody{flex:1;min-width:0}.taskbody h3{margin:3px 0 9px}.taskbody p{font-size:14px;color:#697589;white-space:pre-line}.task-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-meta{font-size:12px;color:#a0a8b5;display:flex;align-items:center;gap:5px}.task-actions{align-self:center}.tag{display:inline-flex;align-items:center;gap:4px;border-radius:100px;padding:6px 10px;font-size:11px!important;font-weight:900;white-space:nowrap;background:#f1f4f8;color:#65758a!important}.tag.approved{background:#e7f5ec;color:#277d4b!important}.tag.pending{background:#fff4d9;color:#a37721!important}.tag.revision_required{background:#fce8e7;color:#ad5a55!important}.tag.todo{background:#eef1f5;color:#65758a!important}.sectionhead{margin:25px 0 12px}.reviewline{background:#fff;border-radius:15px;padding:12px 18px;margin:7px 0;border:1px solid #EFF1F4}.reviewline div{flex:1}.inline-editor{margin-bottom:16px;display:grid;gap:8px}.inline-editor .actions{margin-top:8px}.scoring-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:18px}.score-card{padding:16px}.score-card-head{display:flex;align-items:center;gap:9px;margin-bottom:15px}.score-card-head div{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.score-card-head b{font-size:13px}.score-card-head span{font-size:11px;color:#8792a3}.score-card-head strong{font-size:13px;color:#9a7a41}.quickbuttons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.quickbuttons button{border:1px solid #DDE3EB;background:#f7f9fc;border-radius:12px;padding:9px 3px;font-size:13px;font-weight:900;color:#263448}.quickbuttons button:hover{background:#e5ecf6}.quickbuttons button small{display:block;font-size:9px;font-weight:600;color:#8a94a2}.quickbuttons button.goldbtn{background:#f9ebc8;border-color:#ead49d}.custom-award{margin-bottom:18px}.custom-grid{display:grid;grid-template-columns:1.2fr .5fr 1fr 1.2fr auto;gap:9px}.point-hero{display:flex;align-items:center;gap:15px}.point-hero svg{color:#c9a75d}.point-hero span{font-size:12px;color:#8290a1}.point-hero h2{margin:0}.event-row{justify-content:space-between}.event-row strong{font-size:14px}.positive{color:#2c9965}.negative{color:#c06058}.iconbtn{background:transparent;border:0;border-radius:100%;display:grid;place-items:center;padding:7px;color:#8190a1}.iconbtn:hover{background:#f2f4f7}.periods{display:flex;gap:7px;margin-bottom:15px}.periods button{border:1px solid #E3E7EE;border-radius:100px;background:#fff;color:#6b798d;padding:9px 18px;font-weight:900}.periods button.selected{background:#1e293b;color:#fff;border-color:#1e293b}.rank-card{margin-bottom:16px}.rankrow{display:flex;align-items:center;gap:13px;padding:13px 5px;border-bottom:1px solid #F0F2F6}.rankrow.mine{background:#fff9ea;border-radius:12px;padding:13px}.rankno{font-weight:900;width:35px;text-align:center;font-size:18px}.rank-avatar{width:38px;height:38px;border-radius:50%;background:#e8e1d3;display:grid;place-items:center;font-weight:900;color:#8d6d33}.rank-name{flex:1;display:flex;flex-direction:column;gap:3px}.rank-name b{font-size:14px}.rank-name span{font-size:11px;color:#95a0ae}.rankrow strong{color:#997b43}.rankrow small{font-size:11px;color:#a6aebb}.student-row{gap:12px}.student-row div{flex:1}.student-row strong{font-size:13px;color:#b29456}.team-input{width:135px!important}.pending-avatar{background:#f0f3f7;color:#a0aab9}.mascot-current{display:flex;align-items:center;gap:25px;margin-bottom:18px}.mascot-current img{width:200px;max-width:45%;border-radius:22px}.mascot-current h2{margin:7px 0}.mascot-current p{color:#8390a1}.family-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.family-card{background:#fff;border:1px solid #E9EDF3;border-radius:22px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:5px}.family-card.selected{border:2px solid #C9A75D;background:#fffcf5}.family-card img{width:100%;max-width:150px;border-radius:14px}.family-card span{font-size:12px;color:#8a95a4}.evolution-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.evo-stage{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.evo-stage img{width:100%;border-radius:15px}.evo-stage span{font-size:10px;color:#8290a1}.profile-card{max-width:440px;display:flex;align-items:center;flex-direction:column}.profile-card p{color:#8490a2}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f9fafc}.login-art{background:linear-gradient(135deg,#fdfbf4,#edf3f9);padding:clamp(35px,7vw,95px);display:flex;flex-direction:column;justify-content:center}.login-art h1{font-size:clamp(48px,5.5vw,80px);margin:30px 0 20px;line-height:1.04;letter-spacing:-3px}.login-art h1 em{font-style:normal;color:#c9a75d}.login-art p{max-width:420px;color:#78859a}.mascot-line{display:flex;align-items:center;margin-top:35px}.mascot-line img{width:20%;border-radius:16px;mix-blend-mode:multiply}.login-form{display:flex;align-items:center;justify-content:center;padding:30px}.login-card{width:100%;max-width:450px;padding:38px}.login-card h2{font-size:28px;margin:10px 0}.login-card p{color:#7c889b;font-size:14px}.login-card label{display:block;margin:18px 0 7px}.login-card .primary{margin-top:22px}.login-card .linkbtn{margin-top:13px}.hint{display:flex;gap:9px;align-items:center;margin-top:25px;color:#9aa4b1;font-size:12px}.setup{max-width:570px;margin:12vh auto;padding:30px;background:#fff;border-radius:28px}.setup .brand{color:#1e293b}.loading{height:100vh;display:grid;place-items:center;color:#64748b}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid #E9D9B9;border-top-color:#1e293b;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modalback{position:fixed;top:0;right:0;bottom:0;left:0;background:#111c30a8;display:grid;place-items:center;padding:20px;z-index:20}.modal{background:#fff;border-radius:28px;padding:26px;width:min(100%,590px);max-height:90vh;overflow:auto;box-shadow:0 25px 80px #0002}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modalhead h2{margin:0}.formstack{display:flex;flex-direction:column;gap:11px}.formstack p{margin:0}.formstack label,.inline-editor label,.login-card label{font-size:13px;font-weight:900;color:#56647a}.checklabel{display:flex;align-items:center;gap:9px}.checklabel input{width:auto}.formstack textarea{min-height:80px}input,select,textarea{background:#fff;border:1px solid #DCE3EC;border-radius:15px;padding:12px 13px;width:100%;color:#1e293b}textarea{resize:vertical}.actions{display:flex;justify-content:flex-end;gap:9px}.roster-preview{background:#f7f9fc;border-radius:12px;padding:10px;max-height:120px;overflow:auto;font-size:12px;color:#617087}.submitted-content{white-space:pre-wrap;background:#f7f9fc;padding:14px;border-radius:15px;max-height:260px;overflow:auto}.toast{position:fixed;right:24px;bottom:22px;z-index:50;background:#1e293b;color:#fff;border-radius:16px;padding:14px 20px;max-width:460px;box-shadow:0 12px 32px #0003;display:flex;gap:10px;align-items:center}.evo-modal{text-align:center;max-width:400px}.evo-modal img{width:240px;max-width:90%;border-radius:25px}.evo-modal h2{margin:10px 0}.evo-modal p{color:#6c7b8d}.confetti{font-size:32px}.mobilebrand,.bottomnav{display:none}.search{max-width:240px}.inline-editor input{max-width:420px}@media (max-width:1050px){.sidebar{width:205px}.content{padding:22px}.two-cols{grid-template-columns:1fr}.custom-grid{grid-template-columns:repeat(2,1fr)}.family-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:740px){.sidebar{display:none}.main{padding-bottom:72px}.topbar{height:61px;padding:0 18px}.mobilebrand{display:block;font-weight:900;font-size:23px}.breadcrumbs{display:none}.content{padding:19px 14px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.pagehead .primary{font-size:12px;padding:10px 13px}.stats{gap:7px}.stat{padding:12px;border-radius:17px}.stat strong{font-size:22px}.stat span{font-size:10px}.stat-icon{width:32px;height:32px}.session-grid{grid-template-columns:1fr 1fr}.task-card{flex-wrap:wrap}.task-actions{margin-left:0;width:100%}.task-actions button{width:100%}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;height:68px;background:#fff;border-top:1px solid #E7EAF0;justify-content:space-around;z-index:10}.bottomnav button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#8994a4;font-size:10px;font-weight:800;min-width:0;flex:1}.bottomnav button.active{color:#b29353}.scoring-grid{grid-template-columns:1fr}.custom-grid{grid-template-columns:1fr 1fr}.custom-grid button{grid-column:1/-1}.family-grid{grid-template-columns:repeat(2,1fr)}.evolution-strip{grid-template-columns:repeat(3,1fr)}.student-row{flex-wrap:wrap}.team-input{width:110px!important}.login-page{grid-template-columns:1fr}.login-art{padding:30px;min-height:220px}.login-art h1{font-size:40px;margin:10px 0}.login-art p{font-size:12px}.mascot-line{display:none}.login-form{padding:0 15px 30px}.login-card{padding:23px}.role-pill{font-size:10px}.modal{padding:18px;border-radius:22px}.mascot-current img{width:130px}.session-picker{align-items:stretch;flex-direction:column;gap:6px}.reviewline{flex-wrap:wrap}.reviewline .outline{width:100%}.class-grid{grid-template-columns:1fr}.topright{gap:6px}}.checkin-card{margin-top:18px}.mood-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}.mood-row button{border:1px solid #E1E6ED;background:#f8fafc;border-radius:18px;padding:12px 5px;display:flex;flex-direction:column;align-items:center;gap:5px}.mood-row button.selected{background:#fff7e6;border-color:#c9a75d}.mood-row span{font-size:27px}.mood-row small{font-size:11px;color:#64748b}.checkin-card textarea{margin-bottom:10px}.team-bonus-row{display:grid;gap:8px}.team-bonus-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid #EEF0F4}.team-bonus-item b{flex:1;font-size:13px}.profile-editor{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:10px 0 20px}.profile-editor label{font-size:13px;font-weight:900;color:#56647a}.profile-editor .muted{text-align:left;margin:0 0 4px}.modal-section-title{font-size:12px;font-weight:900;letter-spacing:1.1px;color:#987944;margin:4px 0}.form-divider{height:1px;background:#e6eaf0;margin:13px 0}.required{color:#bd5e53}.student-row .iconbtn{flex:0 0 auto}.mode-switch{border:1px solid #e5e8ed;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;color:#162b48;max-width:165px;cursor:pointer}.topright{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.preview-banner{background:#fff4d8;color:#74541c;border:1px solid #ead18d;padding:13px 18px;border-radius:18px;display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:650}.admin-request{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 6px;border-bottom:1px solid #e9edf2;flex-wrap:wrap}.admin-request:last-child{border-bottom:0}.admin-request p{margin:6px 0}.admin-request small{color:#69788b}.admin-table{overflow-x:auto}.admin-table table{border-collapse:collapse;width:100%;min-width:580px}.admin-table th,.admin-table td{padding:13px 10px;text-align:left;border-bottom:1px solid #edf0f4}.admin-table th{font-size:12px;text-transform:uppercase;color:#758196}.admin-table small{color:#65748a}.contact-form{display:flex;flex-direction:column;gap:12px;max-width:760px}.contact-form select,.contact-form input,.contact-form textarea{width:100%;border-radius:16px;padding:12px 14px;border:1px solid #dfe4ed;font:inherit;background:#fff}.contact-form label{font-weight:700;color:#24364b}.outline.mini{border-radius:999px;font-size:12px;padding:7px 11px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}@media (max-width:760px){.topright{gap:5px}.mode-switch{max-width:115px;font-size:12px}.topright .role-pill{display:none}.admin-request{display:block}.admin-request .actions{margin-top:12px}.student-row{flex-wrap:wrap}}
