*{box-sizing:border-box}body{color:#202631;background:#f6f7f9;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;color:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 13px;display:inline-flex}button:disabled{opacity:.45;cursor:default}input,select{color:#333;background:#fff;border:1px solid #dce0e5;border-radius:6px;min-width:0;padding:10px}small{color:#818795;font-size:12px}.shell{min-height:100vh;display:flex}aside{color:#aab1bd;background:#111923;flex-direction:column;width:245px;padding:34px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:1px;align-items:center;gap:11px;font-size:16px;font-weight:800;display:flex}.brand small{letter-spacing:2px;color:#9ca6b5;margin-top:7px;font-size:8px;display:block}.mark{border:1px solid #46505e;padding:8px 4px;font-size:28px;font-style:italic;position:relative}.mark span{color:#d1af70;font-size:17px;position:absolute;top:-12px;right:-6px}.nav-label{letter-spacing:1.5px;margin:52px 13px 18px;font-size:10px}nav{gap:7px;display:grid}nav button{justify-content:flex-start;width:100%;padding:14px;font-size:13px}nav button svg:last-child{opacity:.4;margin-left:auto}nav button.selected{color:#f1d19b;background:#29313b;border-left:3px solid #c4a36e}.sidebar-bottom{margin-top:auto}.private{border-bottom:1px solid #2d3540;gap:10px;padding:20px 8px;font-size:11px;display:flex}.private small{margin-top:6px;font-size:9px;display:block}.profile{color:#fff;align-items:center;gap:10px;padding:22px 5px 0;font-size:12px;display:flex}.profile b{color:#dfbe85;background:#333b45;border-radius:50%;padding:10px}.profile small{margin-top:4px;font-size:10px;display:block}.profile>span{color:#7aa68f;margin-left:auto;font-size:10px}main{width:calc(100% - 245px);margin-left:245px}header{background:#fff;border-bottom:1px solid #e6e8ed;justify-content:space-between;align-items:center;height:73px;padding:0 40px;display:flex}.breadcrumb{color:#707786;align-items:center;gap:14px;font-size:12px;display:flex}.sync{color:#818995;align-items:center;gap:7px;font-size:10px;display:flex}.sync i{background:#70a98b;border-radius:50%;width:5px;height:5px}.content{max-width:1580px;margin:auto;padding:37px 40px}.heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.7px;color:#8e7955;font-size:9px;font-weight:700}h1{letter-spacing:-1px;margin:12px 0 8px;font-size:31px;font-weight:650}p{color:#838995;margin:5px 0;font-size:12px;line-height:1.6}.primary{color:#fff;background:#1e2b36;padding:12px 17px;font-size:12px}.secondary{background:#fff;border:1px solid #dfe3e8;padding:9px 12px;font-size:11px}.stats{grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px;display:grid}.stats article{background:#fff;border:1px solid #e3e6eb;border-radius:9px;padding:22px}.stats article>div{color:#727b88;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stats svg{color:#a7aeb8}.stats strong{letter-spacing:-.7px;margin:20px 0 9px;font-size:27px;font-weight:600;display:block}.stats strong small{letter-spacing:0;margin-left:7px;font-size:10px;font-weight:400}.stats p{font-size:10px}.green{color:#3e7c62}.overview-grid{grid-template-columns:1.65fr 1fr;gap:24px;margin-bottom:25px;display:grid}.panel{background:#fff;border:1px solid #e3e6eb;border-radius:10px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:23px 25px;display:flex}.panel-heading>svg{color:#9aa3b1}h2{margin:0;font-size:15px;font-weight:600}h2+p{margin-top:7px;font-size:11px}.tatami{background:#edf0ee;flex-direction:row-reverse;justify-content:space-between;min-height:204px;margin:0 20px 20px;padding:29px;display:flex;position:relative;overflow:hidden}.tatami:after{content:"";border:1px solid #d2dad5;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-100px;right:-45px}.tatami h2{letter-spacing:-.5px;margin-top:11px;font-size:24px}.tatami .primary{margin-top:17px;font-size:11px}.gi{color:#c5cec7;margin:10px 25px;font-family:serif;font-size:58px;line-height:1.1;transform:rotate(-9deg)}.tatami .eyebrow{color:#74887b;font-size:8px}.month-label{color:#838995;justify-content:space-between;align-items:center;margin:0 25px;font-size:11px;display:flex}.month-label input{padding:7px;font-size:11px}.progress{background:#eef0f2;border-radius:8px;height:7px;margin:22px 25px;overflow:hidden}.progress span{background:#53866b;height:100%;display:block}.legend{justify-content:space-between;padding:0 25px 16px;font-size:12px;display:flex}.legend span{color:#858c97;align-items:center;gap:8px;display:flex}.legend i{background:#53866b;border-radius:50%;width:7px;height:7px}.legend i.gray{background:#d5dbe1}.text-button{color:#7e6948;padding:9px 0;font-size:11px}.overview-grid .text-button{margin:2px 25px 14px}.toolbar{gap:12px;padding:0 25px 20px;display:flex}.search{color:#929ba8;border:1px solid #e2e5e9;border-radius:6px;flex:1;align-items:center;max-width:340px;padding-left:12px;display:flex}.search input{border:0;width:100%;font-size:11px}.toolbar select,.toolbar>input{font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;color:#88909d;letter-spacing:1px;background:#fafbfc;border-block:1px solid #edf0f3;padding:15px 25px;font-size:9px;font-weight:500}td{border-bottom:1px solid #edf0f3;padding:18px 25px;font-size:12px}.student{align-items:center;gap:11px;display:flex}.student>span{color:#788291;background:#edf0f3;border-radius:50%;place-items:center;width:35px;height:35px;font-size:11px;display:grid}.student b{font-size:12px;font-weight:500}.student small{margin-top:5px;font-size:10px;display:block}.belt{align-items:center;gap:6px;margin-top:6px;font-size:10px;display:flex}.belt i{border-radius:1px;width:17px;height:5px}.badge{color:#8a919b;background:#eff1f4;border-radius:5px;margin-top:4px;padding:5px 9px;font-size:10px;display:inline-block}.badge.late{color:#b87550;background:#fcf0eb}.count{color:#87909d;background:#f0f2f5;margin-left:6px;padding:3px 7px;font-size:10px}.empty{text-align:center;color:#9ca5af;padding:38px 15px 45px}.empty svg{margin-bottom:10px}.empty h3{color:#515d6a;font-size:15px;font-weight:500}.empty .primary{margin-top:15px}.presence{border:1px solid #e1e6e9;font-size:11px}.presence.on{color:#428260;background:#e8f3eb;border-color:#bcd9c6}footer{color:#a2a8b1;letter-spacing:1px;justify-content:space-between;padding-top:25px;font-size:9px;display:flex}footer span{letter-spacing:0}.overlay{z-index:10;background:#0e182977;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:13px;width:460px;max-height:95vh;padding:28px;overflow:auto;box-shadow:0 20px 90px #0003}.modal-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal label{color:#707a86;flex-direction:column;gap:7px;margin-bottom:16px;font-size:12px;display:flex}.form-row{gap:14px;display:flex}.form-row label{width:50%}.modal .checkbox{flex-direction:row;align-items:center}.modal>.primary{width:100%}.notice{background:#fff4d9;margin-bottom:20px;padding:17px;font-size:13px}.notice a{color:#70551d}@media (min-width:1500px){.content{padding-top:50px}.stats article{padding:27px}}@media (max-width:1100px){aside{width:200px;padding:30px 14px}main{width:calc(100% - 200px);margin-left:200px}.brand{font-size:13px}.brand small{font-size:7px}.content{padding:28px 23px}header{padding:0 23px}.stats{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.tatami{min-height:200px}}@media (max-width:700px){.shell{display:block}aside{width:100%;padding:16px;position:static}.brand{font-size:14px}.brand small{font-size:8px}.mark{padding:5px;font-size:20px}.nav-label,.sidebar-bottom{display:none}nav{gap:3px;margin-top:18px;display:flex}nav button{gap:5px;padding:10px 6px;font-size:10px}nav button svg{width:14px}nav button svg:last-child{display:none}nav button.selected{border-bottom:2px solid #c4a36e;border-left:0}main{width:100%;margin:0}header{height:48px;padding:0 17px}.sync{max-width:155px;font-size:9px}.content{padding:25px 16px}.heading{align-items:flex-start}.heading .primary{white-space:nowrap;margin-top:20px;padding:10px;font-size:10px}h1{font-size:24px}.heading p{font-size:11px}.eyebrow{font-size:7px}.stats{gap:10px}.stats article{padding:16px}.stats strong{font-size:23px}.stats strong small{margin:5px 0 0;display:block}.stats p{font-size:9px}.stats article>div{font-size:10px}.panel-heading{padding:18px 15px}.panel-heading p{font-size:10px}.panel-heading .secondary{padding:8px;font-size:9px}.toolbar{flex-wrap:wrap;padding:0 15px 17px}.search{min-width:160px}.gi{margin:20px 0;font-size:40px}.tatami{margin:0 12px 12px;padding:22px}.tatami h2{font-size:21px}footer{gap:10px;font-size:7px}.modal{padding:22px}}a.secondary{color:inherit;border-radius:6px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.row-actions{align-items:center;gap:12px;display:flex}.photo-preview{object-fit:cover;border-radius:50%;width:65px;height:65px}.student-link{background:#f5f7f8;border-radius:7px;margin-bottom:20px;padding:14px}.student-link input{width:100%;margin-top:8px;font-size:10px}.student-link small{letter-spacing:1px;font-size:8px}.modal textarea{font:inherit;resize:vertical;border:1px solid #dce0e5;border-radius:6px;padding:10px}.period-tabs{border-bottom:1px solid #e6e9ec;gap:8px;margin:0 25px 25px;padding-bottom:10px;display:flex}.period-tabs button{color:#818996;font-size:12px}.period-tabs .active{color:#456c53;background:#edf0ee}.champ-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 25px 25px;display:grid}.champ-card{border:1px solid #e3e7eb;border-radius:9px;padding:23px}.champ-top{align-items:center;gap:9px;display:flex}.trophy{color:#a1834f;background:#f5efe3;border-radius:9px;padding:12px;display:inline-flex}.champ-top .badge:first-of-type{margin-left:auto}.champ-card h3{letter-spacing:-.3px;margin:20px 0 8px;font-size:19px;font-weight:600}.champ-card p{white-space:pre-line;overflow-wrap:anywhere;min-height:38px}.champ-date{color:#7e8793;align-items:center;gap:8px;margin:20px 0;font-size:11px;display:flex}.reward{background:#f7f8fa;border-radius:6px;gap:7px;padding:13px;display:grid}.reward small{letter-spacing:1px;font-size:8px}.reward b{overflow-wrap:anywhere;font-size:12px;font-weight:500}.champ-actions{justify-content:space-between;gap:8px;margin-top:20px;display:flex}.champ-actions .primary{font-size:10px}.student-shell{background:#f5f6f4;min-height:100vh}.student-header{color:#fff;background:#131d27;border:0;height:90px;padding:0 max(24px,50% - 500px)}.student-brand{color:inherit;letter-spacing:1px;align-items:center;gap:13px;font-weight:700;text-decoration:none;display:flex}.student-brand small{letter-spacing:2px;color:#a8b0bb;margin-top:6px;font-size:8px;display:block}.student-area{color:#b6c0ca;align-items:center;gap:8px;font-size:11px;display:flex}.student-main{width:100%;max-width:1000px;margin:0 auto;padding:44px 24px}.student-welcome h1{margin-top:13px;font-size:33px}.student-welcome p{font-size:13px}.student-nav{border-bottom:1px solid #dfe4df;gap:14px;margin:29px 0 25px;display:flex}.student-nav button{color:#7e8791;border-radius:0;width:auto;padding:14px 7px;font-size:13px}.student-nav button.active{color:#23302a;border-bottom:2px solid #a88b59}.student-profile{position:relative}.profile-cover{color:#b3c5b6;background:#253930;justify-content:space-between;align-items:flex-start;height:155px;padding:28px 35px;display:flex;overflow:hidden}.profile-cover>span:first-child{letter-spacing:3px;font-size:9px}.cover-kanji{letter-spacing:12px;color:#3e5547;margin-top:-10px;font-family:serif;font-size:108px;transform:rotate(-10deg)}.profile-details{padding:0 35px 32px}.student-avatar{color:#6c8473;background:#e4e9e5;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;margin-top:-55px;font-size:32px;font-weight:500;display:flex;position:relative;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%}.profile-details>.badge{margin-top:15px;font-size:9px}.profile-details>h2{letter-spacing:-.5px;margin:13px 0 7px;font-size:26px}.profile-details>p{font-size:12px}.rank-card{background:#f7f8f6;border:1px solid #e8ece6;border-radius:8px;justify-content:space-between;align-items:center;gap:25px;margin-top:26px;padding:23px 25px;display:flex}.rank-card small{letter-spacing:1.5px;color:#839387;font-size:9px}.rank-card h3{margin:10px 0 0;font-size:21px;font-weight:500}.belt-visual{border-top:2px solid #fff3;border-bottom:3px solid #0002;width:200px;max-width:40%;height:24px;position:relative;box-shadow:0 2px 5px #0002}.belt-visual:after{content:"";background:inherit;width:25px;height:31px;position:absolute;top:-5px;left:45%;transform:rotate(-18deg);box-shadow:1px 1px 4px #0003}.belt-visual>span{background:#171c23;width:35px;height:100%;position:absolute;right:12px}.student-champ-preview{justify-content:space-between;align-items:center;gap:25px;margin-top:24px;padding:29px 35px;display:flex}.student-champ-preview h2{margin-top:17px;font-size:18px}.student-champ-preview p{margin-top:8px}.student-champ-preview .primary{white-space:nowrap}.student-main footer{padding-top:30px}.student-main>.panel>.championships{min-height:300px}@media (max-width:700px){.champ-grid{grid-template-columns:1fr;padding:0 15px 20px}.championships>.panel-heading{align-items:flex-start}.championships>.panel-heading .primary{padding:10px;font-size:10px}.period-tabs{gap:1px;margin:0 15px 20px}.period-tabs button{padding:10px;font-size:11px}.student-header{height:76px;padding:0 20px}.student-brand{font-size:13px}.student-brand small{font-size:6px}.student-area{font-size:9px}.student-main{padding:30px 16px}.student-nav{margin-top:22px}.student-nav button{padding:13px 9px;font-size:12px}.profile-cover{height:130px;padding:25px 22px}.profile-cover>span:first-child{letter-spacing:2px;font-size:7px}.cover-kanji{letter-spacing:0;margin-top:10px;margin-left:-90px;font-size:76px}.profile-details{padding:0 22px 25px}.student-avatar{width:95px;height:95px;margin-top:-48px}.profile-details>h2{font-size:22px}.rank-card{gap:15px;padding:19px 15px}.rank-card small{letter-spacing:1px;font-size:7px}.rank-card h3{font-size:18px}.belt-visual{width:115px;height:20px}.student-champ-preview{flex-direction:column;align-items:flex-start;padding:25px 22px}.student-champ-preview h2{font-size:17px}.student-welcome h1{font-size:28px}}.login-page{background:#14251e;justify-content:center;align-items:center;gap:90px;min-height:100vh;padding:35px;display:flex}.login-brand{color:#fff;max-width:350px}.login-brand .mark{padding:12px 8px;font-size:40px;display:inline-block}.login-brand h1{letter-spacing:1px;margin-top:30px;font-size:30px}.login-brand p{color:#a6b8ac;font-size:13px}.login-card{background:#fff;border-radius:13px;width:385px;padding:33px;box-shadow:0 20px 90px #0002}.login-card h2{margin:22px 0 8px;font-size:23px}.login-card>p{margin-bottom:25px}.login-card label{color:#717c88;flex-direction:column;gap:8px;margin-bottom:18px;font-size:12px;display:flex}.login-card input{padding:12px}.login-card>.primary{justify-content:space-between;width:100%;margin:8px 0 24px}.login-card>small{text-align:center;color:#949ca4;font-size:10px;display:block}.login-error{color:#aa5e42;background:#fcf0eb;border-radius:6px;margin-bottom:12px;padding:12px;font-size:12px}.header-session{align-items:center;gap:20px;display:flex}.logout-button{color:inherit;border:1px solid #9aa4a540;padding:7px 12px;font-size:11px}@media (max-width:700px){.login-page{flex-direction:column;gap:25px;padding:30px 20px}.login-brand{text-align:center}.login-brand .mark{padding:8px 5px;font-size:26px}.login-brand h1{margin-top:17px;font-size:20px}.login-brand p{font-size:11px}.login-card{width:100%;max-width:385px;padding:26px}.header-session{gap:7px}.logout-button{padding:6px;font-size:10px}.student-area{gap:6px}}.attendance-grid{grid-template-columns:1.4fr 1fr;gap:22px;display:grid}.attendance-calendar{padding-bottom:25px}.calendar-month{justify-content:space-between;align-items:center;padding:0 25px 18px;display:flex}.calendar-month strong{text-transform:capitalize;font-size:14px;font-weight:500}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0 25px;display:grid}.calendar-days .weekday{text-align:center;color:#929c96;padding:10px 0;font-size:10px}.calendar-days button{aspect-ratio:1;border:1px solid #edf0ec;border-radius:7px;padding:0;font-size:13px;position:relative}.calendar-days button.marked{color:#3d7352;background:#e5efe6}.calendar-days button.chosen{outline-offset:1px;outline:2px solid #9c845c}.calendar-days button:disabled{opacity:.25}.calendar-days button i{background:#43815c;border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px;left:calc(50% - 2px)}.calendar-legend{color:#87958c;gap:20px;padding:24px 25px 0;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.calendar-legend i{background:#77a887;border-radius:50%;width:8px;height:8px}.calendar-legend span:last-child i{background:#e0e4e0}.attendance-total{color:#87958c;border-top:1px solid #edf0ec;margin:22px 25px 0;padding-top:20px;font-size:12px}.attendance-total b{color:#3c674d;margin-right:4px;font-size:20px}.attendance-selection{align-self:start;padding:30px}.attendance-selection h2{margin-top:23px;font-size:20px}.attendance-selection>p{margin-top:10px}.attendance-selection label{color:#88928b;flex-direction:column;gap:8px;margin:25px 0 18px;font-size:11px;display:flex}.attendance-status{color:#8c948f;background:#f3f4f2;border-radius:6px;align-items:center;gap:8px;margin-bottom:18px;padding:13px;font-size:12px;display:flex}.attendance-status.is-present{color:#507b5d;background:#eaf2e9}.attendance-selection>.primary{width:100%}.attendance-selection>small{margin-top:20px;font-size:10px;line-height:1.6;display:block}.belt-visual>span{justify-content:center;align-items:center;gap:3px;padding:0 3px;display:flex}.belt-visual>span i{background:#faf9ee;width:4px;height:100%}.rank-card h3+small{letter-spacing:0;margin-top:8px;font-size:10px;display:block}@media (max-width:700px){.attendance-grid{grid-template-columns:1fr}.attendance-selection{padding:24px}.calendar-days{gap:6px;padding:0 18px}.calendar-days button{aspect-ratio:1.15}.calendar-month{padding:0 18px 15px}.calendar-legend{padding:22px 18px 0}.student-nav{gap:6px}.student-nav button{padding:13px 7px;font-size:11px}}.attendance-teacher-note{color:#89968e;align-items:flex-start;gap:10px;padding-top:6px;display:flex}.attendance-teacher-note svg{flex-shrink:0;margin-top:4px}.attendance-teacher-note p{margin:0;font-size:11px;line-height:1.7}.student-home-hero{color:#fff;background:#233d30;border-radius:12px;justify-content:space-between;min-height:320px;padding:40px;display:flex;position:relative;overflow:hidden}.student-home-hero .eyebrow{color:#b6c4ae}.student-home-hero h2{letter-spacing:-1.5px;margin:19px 0 16px;font-size:45px;line-height:1.08}.student-home-hero p{color:#bacbbd;font-size:12px}.student-home-hero .primary{color:#28392d;background:#e9d7b6;margin-top:24px}.student-home-hero small{color:#c0cfbf;align-items:center;gap:7px;margin-top:17px;font-size:9px;display:flex}.student-home-hero small i{background:#ccb78b;border-radius:50%;width:5px;height:5px}.home-kanji{opacity:.16;align-self:center;margin-right:60px;font-family:serif;font-size:112px;line-height:1.1;transform:rotate(-10deg)}.student-home-grid{grid-template-columns:1.7fr 1fr;gap:20px;margin-top:23px;display:grid}.home-identity{align-items:center;gap:22px;padding:25px;display:flex}.home-avatar{color:#67836d;background:#e8eee6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:65px;height:65px;font-size:23px;display:flex;overflow:hidden}.home-avatar img{object-fit:cover;width:100%;height:100%}.home-identity small{letter-spacing:1.5px;font-size:8px}.home-identity h3{margin:9px 0 5px;font-size:17px}.home-count{color:#8e9a90;grid-template-columns:1fr auto;align-items:center;padding:25px;display:grid}.home-count strong{color:#4e7158;font-size:33px;font-weight:500}.home-count p{grid-column:1/-1}.home-next{grid-template-columns:1fr auto;gap:10px;margin-top:23px;padding:26px;display:grid}.home-next h3{margin:12px 0 5px;font-size:17px}.home-next>strong{color:#4e7158;align-self:center;font-size:26px}.graduation-track{background:#e8ece7;border-radius:5px;grid-column:1/-1;height:8px;overflow:hidden}.graduation-track i{background:#658e69;border-radius:5px;height:100%;display:block}.home-next .text-button{justify-self:start}.graduation-progress{background:#f1f5ee;border-radius:8px;grid-template-columns:1fr auto;gap:15px;margin:0 25px 25px;padding:25px;display:grid}.graduation-progress h3{margin:10px 0 0;font-size:19px;font-weight:500}.graduation-progress strong{color:#56765b;align-self:center;font-size:30px;font-weight:500}.graduation-progress p{grid-column:1/-1;font-size:10px}.graduation-columns{grid-template-columns:1fr 1fr;gap:25px;padding:0 25px 25px;display:grid}.graduation-columns section>h3{color:#6d7d70;border-bottom:1px solid #e7ece5;align-items:center;gap:8px;margin:5px 0 18px;padding-bottom:17px;font-size:13px;font-weight:500;display:flex}.grade-card{border:1px solid #e4e9e2;border-radius:7px;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;padding:18px;display:flex}.grade-card>div{flex:1;min-width:0}.grade-card h4,.promotion-card h4{overflow-wrap:anywhere;margin:10px 0 5px;font-size:14px;font-weight:500}.grade-card p,.promotion-card p{white-space:pre-line;overflow-wrap:anywhere;font-size:11px}.grade-card small,.promotion-card small{font-size:9px}.grade-card>strong{color:#56765b;align-self:center;font-size:25px}.grade-card>strong small{margin-left:2px;font-size:11px;font-weight:400}.grade-card .text-button{justify-content:flex-start;width:100%}.promotion-card{border-bottom:1px solid #edf0eb;gap:13px;margin-bottom:13px;padding:12px 0 20px;display:flex}.promotion-card>.trophy{align-self:start;padding:10px}.teacher-confirm{background:#f1f5ef;border-top:1px solid #e2e9df;justify-content:space-between;align-items:center;gap:20px;padding:18px 25px;display:flex}.teacher-confirm b{font-size:12px;font-weight:500}.teacher-confirm p{font-size:10px}.teacher-confirm .primary{font-size:11px}.student-nav{flex-wrap:wrap}.student-nav button,.student-area{white-space:nowrap}@media (max-width:700px){.student-home-hero{min-height:300px;padding:28px}.student-home-hero h2{font-size:35px}.home-kanji{margin-right:0;font-size:80px;position:absolute;top:65px;right:18px}.student-home-hero>div{z-index:1;position:relative}.student-home-hero p{font-size:11px}.student-home-hero small{font-size:8px}.student-home-grid{grid-template-columns:1fr;gap:14px;margin-top:16px}.home-identity{padding:22px}.home-count{grid-template-columns:auto 1fr auto;gap:15px;padding:22px}.home-count p{grid-column:auto}.home-count strong{order:2}.home-next{margin-top:16px;padding:22px}.graduation-columns{grid-template-columns:1fr;gap:15px;padding:0 15px 20px}.graduation-progress{margin:0 15px 20px;padding:20px}.teacher-confirm{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 15px}.teacher-confirm .primary{width:100%}}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 25px 25px;display:grid}.class-card{border:1px solid #e3e8e1;border-radius:9px;padding:22px}.class-card h3{margin:19px 0 6px;font-size:18px;font-weight:500}.class-card>small{color:#8b978c;font-size:9px;line-height:1.6;display:block}.class-details{color:#697d6d;gap:11px;margin:20px 0;font-size:12px;display:grid}.class-details span{align-items:center;gap:8px;display:flex}.class-roster{background:#f6f8f4;border-radius:6px;margin:17px 0;padding:15px}.class-roster small{letter-spacing:1px;font-size:8px}.class-roster p{color:#768778;overflow-wrap:anywhere;font-size:11px}.class-checkin{gap:14px;margin-top:18px;display:grid}.class-checkin .badge{justify-self:start}.class-checkin .primary{width:100%;font-size:11px}.class-timezone{color:#8e9b90;align-self:center;font-size:10px}.class-members{border:1px solid #e0e6df;border-radius:6px;max-height:220px;margin:10px 0 20px;padding:15px;overflow:auto}.class-members legend{color:#768477;padding:0 5px;font-size:11px}.class-members .checkbox{margin:5px 0 12px}.class-message{margin:0 25px 15px;font-size:11px}.photo-control{flex-wrap:wrap;align-items:center;gap:12px;margin:13px 0;display:flex}.photo-control label{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.photo-control input{opacity:0;width:1px;height:1px;position:absolute}.photo-control p{width:100%;font-size:10px}.today-lessons{margin-top:22px;padding:24px}.today-lessons h3{margin:0 0 12px;font-size:14px;font-weight:500}.today-lesson{text-align:left;border-top:1px solid #edf0eb;justify-content:space-between;width:100%;padding:15px 0}.today-lesson b{font-size:13px;font-weight:500}.today-lesson small{margin-top:6px;font-size:10px;display:block}.today-lesson strong{color:#5f7f67;margin-left:auto;margin-right:15px;font-size:13px;font-weight:500}.attendance-selection .class-grid{grid-template-columns:1fr;padding:0}.attendance-selection .class-card{padding:15px}.attendance-selection .classes .panel-heading{padding:20px 0}.attendance-selection .classes h2{margin:0;font-size:15px}.attendance-selection .classes h3{font-size:16px}.attendance-selection .classes .empty{padding:20px 0}.attendance-selection .classes .empty h3{font-size:13px}.attendance-selection .class-message{margin:10px 0}.leaderboard{border-top:1px solid #e5e9e3;margin-top:24px;padding-top:18px}.leaderboard h4{margin:0 0 7px;font-size:13px;font-weight:500}.leaderboard>p{min-height:0;font-size:9px}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;margin-top:19px;display:grid}.podium-person{text-align:center;background:#f5f7f3;border:1px solid #e5eade;border-radius:8px;min-width:0;padding:13px 7px;position:relative}.podium-person.place-1{background:#f7f1e3;border-color:#e7d9b5}.rank-number{color:#987e49;margin-bottom:10px;font-size:13px;font-weight:600;display:block}.rank-photo{color:#74846d;background:#e0e7dc;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:auto;font-size:17px;display:flex;overflow:hidden}.rank-photo img{object-fit:cover;width:100%;height:100%}.podium-person>b{overflow-wrap:anywhere;margin:10px 0 6px;font-size:11px;font-weight:500;line-height:1.4;display:block}.podium-person>small{font-size:8px;line-height:1.5;display:block}.podium-person>strong{color:#617f5d;margin-top:10px;font-size:20px;display:block}.podium-person>strong small{font-size:7px;font-weight:400}.ranking-rest{margin-top:15px}.ranking-rest>div{border-top:1px solid #e9ece5;align-items:center;gap:8px;padding:10px 0;font-size:11px;display:flex}.ranking-rest img{object-fit:cover;border-radius:50%;width:25px;height:25px}.ranking-rest b{font-size:10px;font-weight:500}.ranking-rest small{font-size:8px}.ranking-rest strong{margin-left:auto}.ranking-empty{color:#9aa48e;padding:15px 0}@media (max-width:700px){.class-grid{grid-template-columns:1fr;padding:0 15px 20px}.class-card{padding:20px}.class-card h3{font-size:17px}.today-lessons{margin-top:16px;padding:20px}.today-lesson strong{margin-right:7px;font-size:11px}.podium{gap:6px}.podium-person{padding:12px 4px}.rank-photo{width:42px;height:42px}.photo-control{gap:8px}.ranking-rest{overflow:auto}.classes>.panel-heading .primary{padding:10px;font-size:10px}}html,body{width:100%;margin:0}img,svg{max-width:100%}img{height:auto}.shell,.shell>main,.content,.student-shell,.student-main,.panel,.heading,.panel-heading,.toolbar,.form-row,.graduation-columns,.class-grid,.champ-grid,.overview-grid,.stats,.student-home-grid,.attendance-grid{min-width:0}.content,.student-main,.modal,.panel{overflow-wrap:anywhere}.stats>*,.overview-grid>*,.champ-grid>*,.class-grid>*,.graduation-columns>*,.student-home-grid>*,.attendance-grid>*,.heading>div,.panel-heading>div,.header-session,.student-welcome,.student-brand>div,.grade-card>div,.promotion-card>div,.home-identity>div,.rank-card>div{min-width:0}.stats strong{font-size:clamp(20px,2.2vw,27px)}.stats article>div{gap:8px}.stats article>div>svg{flex-shrink:0}.stats strong small{white-space:normal}.toolbar{flex-wrap:wrap}.toolbar>input,.toolbar>select{max-width:100%}.toolbar .search{min-width:min(100%,200px)}.panel-heading{align-items:flex-start}.panel-heading>button{white-space:normal;flex-shrink:0;max-width:45%}.month-label{flex-wrap:wrap;gap:10px}.month-label input{max-width:100%}.tatami>div{z-index:1;min-width:0;position:relative}.gi{flex-shrink:0}.legend{gap:12px}.legend>b{overflow-wrap:anywhere}.student-header{gap:14px}.student-brand{flex-shrink:1;min-width:0}.student-brand .mark,.student-area,.grade-card>strong{flex-shrink:0}.class-card,.champ-card{min-width:0}.class-card h3,.champ-card h3,.profile-details>h2,.home-identity h3,.grade-card h4,.promotion-card h4{overflow-wrap:anywhere}.champ-top,.champ-actions{flex-wrap:wrap}.champ-actions>button{max-width:100%}.teacher-confirm>div{min-width:0}.teacher-confirm button{white-space:normal}.modal{width:min(460px,100%);max-height:calc(100dvh - 32px)}.modal input,.modal select,.modal textarea{width:100%;min-width:0;max-width:100%}.form-row{gap:12px}.form-row label{flex:1;width:0;min-width:0}.modal .checkbox input{flex-shrink:0;width:auto}.modal .checkbox{overflow-wrap:anywhere}.class-members{min-width:0}.class-members legend{overflow-wrap:anywhere;max-width:100%}.class-members .checkbox{flex-direction:row;align-items:flex-start}.class-members .checkbox input{margin-top:2px}.student-link input{min-width:0}.nav-scroll-frame{min-width:0;max-width:100%;position:relative}.drag-nav{-webkit-user-select:none;user-select:none;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.drag-nav::-webkit-scrollbar{display:none}.drag-nav button{white-space:nowrap;flex-shrink:0}.nav-scroll-controls{display:none}.student-nav-frame{margin:29px 0 25px}.student-nav-frame .student-nav{touch-action:pan-x pan-y;flex-wrap:nowrap;gap:18px;width:100%;margin:0;padding-right:65px;scroll-padding-inline:8px;display:flex;overflow-x:auto}.student-nav-frame .student-nav button{flex:none;width:auto;min-height:46px;padding:14px 8px;font-size:12px}.student-nav-frame .student-nav svg{flex-shrink:0}.student-nav-frame .nav-scroll-controls{background:#f5f6f4;border-radius:6px;gap:2px;padding-left:6px;display:flex;position:absolute;top:4px;right:0}.nav-scroll-controls button{color:#69806b;background:#f9faf7;border:1px solid #dfe5df;width:27px;height:34px;padding:0}.nav-scroll-controls button:disabled{opacity:.3}.drag-nav{cursor:grab}.drag-nav:active{cursor:grabbing}.shell>aside{overflow-y:auto}.shell>aside .professor-nav{overflow-x:hidden}.shell>aside .professor-nav button{white-space:normal}.student-home-hero>div{min-width:0;max-width:100%}.home-count{min-width:0}.today-lesson{gap:12px;min-width:0}.today-lesson>div{min-width:0}.today-lesson strong{flex-shrink:0}.profile-cover{gap:15px}.rank-card .belt-visual{flex-shrink:0}.ranking-rest>div{flex-wrap:wrap}.ranking-rest b{overflow-wrap:anywhere;min-width:0}.photo-control label{max-width:100%}.photo-control input{width:1px}.sync{overflow-wrap:anywhere;max-width:260px;line-height:1.4}.sync i{flex-shrink:0}.table-scroll{overscroll-behavior-x:contain;min-width:0;max-width:100%}.student>b,.student>div{min-width:0}.student>span{flex-shrink:0}footer{flex-wrap:wrap;gap:15px;line-height:1.6}.student-profile{overflow:hidden}@media (max-width:900px){.toolbar>select{flex:170px}.toolbar>.search{flex:240px;max-width:none}.heading,.panel-heading{gap:15px}.student-header{padding-inline:24px}.student-home-hero h2{font-size:38px}}@media (max-width:700px){.shell{width:100%;display:block}.shell>aside{z-index:6;width:100%;max-width:100%;padding:16px 16px 10px;position:sticky;top:0;overflow:visible}.shell>main{width:100%;margin-left:0}.professor-nav-frame{margin-top:15px;padding-right:0}.shell>aside .professor-nav{touch-action:pan-x pan-y;flex-wrap:nowrap;gap:8px;width:100%;margin:0;padding:0 56px 5px 0;scroll-padding-inline:2px;display:flex;overflow-x:auto}.shell>aside .professor-nav button{white-space:nowrap;border-radius:7px;flex:none;gap:8px;width:auto;min-height:43px;padding:11px 13px;font-size:12px}.shell>aside .professor-nav button svg{flex-shrink:0;width:16px}.shell>aside .professor-nav button.selected{border:0;box-shadow:inset 0 -2px #d4b681}.professor-nav-frame .nav-scroll-controls{background:#111923;gap:2px;padding-left:5px;display:flex;position:absolute;top:4px;right:0}.professor-nav-frame .nav-scroll-controls button{color:#d1b781;background:#202b36;border-color:#384451;width:25px}.shell>main>header{gap:10px;height:auto;min-height:52px;padding:10px 16px}.breadcrumb{gap:6px;font-size:10px}.header-session{gap:8px;min-width:0}.sync{max-width:125px;font-size:9px}.content{width:100%;max-width:100%;padding:25px 16px}.heading{flex-wrap:wrap;align-items:flex-start;gap:14px}.heading>div{flex:210px}.heading>.primary{white-space:normal;flex-shrink:0;min-height:42px;margin:0;padding:11px 14px;font-size:11px}.heading h1{font-size:26px;line-height:1.15}.heading p{line-height:1.6}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats article{padding:17px 14px}.stats strong{letter-spacing:-.7px;font-size:23px;line-height:1.2}.stats article>div{align-items:flex-start;font-size:11px;line-height:1.4}.stats p{font-size:10px}.stats strong small{margin-top:7px;font-size:10px}.overview-grid{grid-template-columns:minmax(0,1fr)}.panel-heading{flex-wrap:wrap;gap:12px;padding:19px 16px}.panel-heading>div{flex:150px}.panel-heading>button{max-width:100%;min-height:40px}.panel-heading>svg{flex-shrink:0}.tatami{margin:0 12px 12px;padding:24px 20px}.tatami .gi{opacity:.55;margin:0;font-size:47px;position:absolute;top:14px;right:12px}.tatami>div{padding-right:35px}.tatami h2{font-size:21px;line-height:1.2}.toolbar{gap:10px;padding:0 16px 18px}.toolbar>.search{flex:100%;width:100%;min-width:0}.toolbar>input,.toolbar>select{flex:140px;width:0;min-width:0;padding:11px;font-size:12px}.search input{min-width:0;padding:12px;font-size:12px}.month-label{margin-inline:18px;font-size:12px}.month-label input{flex:1;min-width:0}.legend{padding-inline:18px}.table-scroll{overflow:visible}table{white-space:normal;width:100%;min-width:0;display:block}thead{display:none}tbody{gap:12px;padding:0 14px 16px;display:grid}tr{background:#fff;border:1px solid #e1e6e1;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}td{overflow-wrap:anywhere;border:0;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:13px 12px;font-size:12px;display:flex}td:before{content:attr(data-label);color:#939d93;letter-spacing:1px;text-transform:uppercase;font-size:8px;display:block}td:first-child{background:#fafbf8;border-bottom:1px solid #edf0e9;grid-column:1/-1;padding:14px}td:first-child:before{display:none}td:last-child{border-top:1px solid #edf0e9;grid-column:1/-1}td .student{gap:12px;width:100%;min-width:0}td .student b{overflow-wrap:anywhere;font-size:13px;line-height:1.5}td .student small{font-size:11px}td .student>span{width:39px;height:39px}.row-actions{flex-wrap:wrap;gap:13px;width:100%}.row-actions .secondary{padding:11px 13px}.row-actions .text-button{padding:10px 0}.presence{white-space:normal;padding:10px;font-size:11px}.teacher-confirm{padding:17px 16px}.teacher-confirm>.primary{min-height:44px}.student-header{z-index:6;gap:10px;height:74px;padding:0 16px;position:sticky;top:0}.student-brand{gap:10px}.student-brand>div{font-size:12px}.student-brand small{letter-spacing:1.3px;font-size:6px}.student-area{gap:8px;font-size:0}.student-area>svg{width:17px}.student-area .logout-button{padding:9px 12px;font-size:11px}.student-main{width:100%;max-width:100%;margin:0;padding:27px 16px}.student-welcome h1{font-size:27px;line-height:1.2}.student-nav-frame{z-index:5;background:#f5f6f4;margin:22px 0 23px;padding-top:3px;position:sticky;top:74px}.student-nav-frame .student-nav{border-bottom:1px solid #dfe4df;gap:8px;padding-right:65px}.student-nav-frame .student-nav button{gap:7px;min-height:48px;padding:13px 10px;font-size:12px}.student-nav-frame .student-nav button svg:last-child{opacity:1;margin-left:0}.student-nav-frame .nav-scroll-controls{top:8px}.student-home-hero{border-radius:10px;padding:27px 24px}.student-home-hero h2{font-size:36px;line-height:1.1}.student-home-hero .home-kanji{opacity:.12;font-size:75px;right:14px}.student-home-hero p{font-size:12px;line-height:1.7}.student-home-hero .primary{white-space:normal;max-width:100%;min-height:44px}.student-home-hero small{align-items:flex-start;max-width:100%;font-size:10px;line-height:1.5}.student-home-hero small i{flex-shrink:0;margin-top:5px}.home-identity{gap:15px;padding:22px 18px}.home-avatar{width:54px;height:54px}.home-identity h3{font-size:16px;line-height:1.4}.home-next{gap:10px;padding:22px 18px}.home-next>div{min-width:0}.home-next>strong{font-size:24px}.home-count{gap:12px;padding:20px 18px}.home-count>p{font-size:11px}.student-home-grid,.attendance-grid{grid-template-columns:minmax(0,1fr)}.attendance-selection{padding:23px 18px}.calendar-days{gap:6px;padding-inline:18px}.calendar-days button{aspect-ratio:1;min-width:0;font-size:12px}.calendar-legend{flex-wrap:wrap;gap:12px;font-size:10px}.attendance-selection label input{width:100%;min-width:0;max-width:100%}.class-grid,.champ-grid,.graduation-columns{grid-template-columns:minmax(0,1fr);padding-inline:15px}.class-card,.champ-card{padding:20px 16px}.class-card .champ-top,.champ-card .champ-top{gap:8px}.class-checkin .primary{white-space:normal;min-height:44px;line-height:1.4}.class-card>small{font-size:10px;line-height:1.7}.class-details{font-size:12px}.class-details>span{align-items:flex-start;line-height:1.5}.class-details svg{flex-shrink:0}.today-lessons{padding:20px 16px}.today-lesson{flex-wrap:wrap;gap:10px}.today-lesson>div{flex:130px}.today-lesson strong{white-space:normal;margin:0;font-size:12px}.today-lesson b{font-size:12px}.profile-cover{padding:24px 20px;position:relative}.profile-cover>span:first-child{max-width:70%;line-height:1.7}.cover-kanji{opacity:.7;margin:0;position:absolute;top:15px;right:10px}.profile-details{padding:0 20px 25px}.rank-card{flex-wrap:wrap;gap:15px;padding:18px 14px}.rank-card>div:first-child{flex:140px}.rank-card .belt-visual{width:130px;max-width:150px}.rank-card h3{font-size:20px}.profile-details>h2{font-size:23px;line-height:1.3}.graduation-progress{gap:12px;padding:20px 16px}.graduation-progress h3{font-size:18px;line-height:1.4}.graduation-progress strong{font-size:25px}.graduation-columns section>h3{flex-wrap:wrap;line-height:1.5}.promotion-card{gap:12px}.grade-card{gap:12px;padding:16px}.grade-card h4{font-size:14px;line-height:1.4}.grade-card>strong{font-size:23px}.grade-card>div{flex:130px}.podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.podium-person{padding:12px 5px}.podium-person>b{font-size:10px}.podium-person>small{font-size:8px;line-height:1.6}.podium-person>strong small{font-size:8px;display:block}.rank-photo{width:42px;max-width:100%;height:42px}.period-tabs{overscroll-behavior-x:contain;flex-wrap:nowrap;gap:5px;max-width:100%;overflow-x:auto}.period-tabs button{white-space:nowrap;flex:none;min-height:40px}.overlay{align-items:center;padding:16px}.modal{border-radius:12px;width:100%;max-width:460px;max-height:calc(100dvh - 32px);padding:23px 18px}.modal-title{gap:12px}.modal-title h2{font-size:18px;line-height:1.4}.modal-title>button{flex-shrink:0;padding:7px}.modal label{font-size:12px;line-height:1.5}.modal input,.modal select,.modal textarea{min-width:0;max-width:100%;padding:11px;font-size:16px}.modal .checkbox input{font-size:inherit;width:auto;padding:0}.form-row{flex-wrap:wrap;gap:0 12px}.form-row label{flex:135px;width:auto}.modal>.primary{min-height:45px}.modal fieldset{min-width:0}.login-page{width:100%;padding:30px 20px}.login-card{width:100%;min-width:0;padding:27px 22px}.login-card input{font-size:16px}.login-card h2{font-size:23px;line-height:1.3}.login-brand h1{font-size:21px}.login-card>.primary{min-height:44px}.photo-control{gap:9px}.photo-control label{min-height:42px}.photo-control .text-button{min-height:40px}.photo-control p{font-size:11px;line-height:1.6}footer{letter-spacing:.6px;gap:8px;font-size:9px}footer span{font-size:9px;line-height:1.6}.class-message{margin-inline:15px}.class-timezone{font-size:10px}.empty{padding:30px 16px}.empty h3{font-size:14px;line-height:1.5}.empty p{font-size:11px}.empty .primary{white-space:normal;min-height:42px}}@media (max-width:359px){.student-main,.content,.shell>aside,.student-header{padding-inline:12px}.stats{gap:9px}.stats article{padding:15px 12px}.stats strong{font-size:21px}.student-brand>div{font-size:10px}.student-brand small{font-size:5px}.student-brand .mark{font-size:18px}.student-home-hero{padding:25px 20px}.student-home-hero h2{font-size:32px}.student-home-hero p br{display:none}.home-count{grid-template-columns:auto 1fr}.home-count>strong{grid-area:1/2/3;justify-self:end}.home-count>p{grid-column:1;font-size:10px}.grade-card>div{flex-basis:110px}.podium{gap:4px}.podium-person{padding-inline:3px}.rank-photo{width:35px;height:35px}}.drag-nav,.student-nav-frame .student-nav,.shell>aside .professor-nav{scroll-padding-inline-end:65px}.nav-scroll-controls[hidden]{display:none}.student>span img{object-fit:cover;border-radius:50%;width:100%;height:100%}.student b{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.birthday-badge{color:#b78329;vertical-align:middle;background:#fff0d7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex}.birthday-photo{box-shadow:0 0 0 3px #ead394,0 0 16px #f4d99e66}.student-avatar.birthday-photo{box-shadow:0 0 0 4px #e8c575,0 0 24px #f4d99e77}.instructor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 25px 25px;display:grid}.instructor-card{border:1px solid #e1e7dd;border-radius:9px;flex-wrap:wrap;align-items:flex-start;gap:16px;min-width:0;padding:22px;display:flex}.instructor-card>div{flex:1;min-width:0}.instructor-card h3{overflow-wrap:anywhere;margin:2px 0 7px;font-size:17px;font-weight:500}.instructor-card p{font-size:11px}.instructor-card>.secondary{width:100%;margin-top:4px}.student-championships .champ-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:0 28px 28px}.student-championships .champ-card{background:linear-gradient(145deg,#fff,#f8faf5);border-color:#dce5d5;padding:34px}.student-championships .champ-card>h3{letter-spacing:-.7px;margin:24px 0 12px;font-size:30px;line-height:1.2}.student-championships .champ-card>p{min-height:0;font-size:14px}.student-championships .champ-top>.trophy{padding:18px}.student-championships .champ-top>.trophy svg{width:30px;height:30px}.student-championships .champ-date{margin:23px 0;font-size:13px}.student-championships .reward{padding:20px;font-size:14px}.student-championships .reward b{font-size:15px}.student-championships .leaderboard{margin-top:30px;padding-top:27px}.student-championships .leaderboard h4{margin-bottom:10px;font-size:21px}.student-championships .leaderboard>p{font-size:12px}.student-championships .podium{align-items:end;gap:18px;margin-top:32px}.student-championships .podium-person{background:#f1f5ed;min-width:0;padding:25px 16px}.student-championships .podium-person.place-1{background:linear-gradient(155deg,#fbf4df,#f4e8c6);border-color:#dfc78b;order:2;padding-top:37px;padding-bottom:33px}.student-championships .podium-person.place-2{order:1}.student-championships .podium-person.place-3{order:3}.student-championships .rank-number{margin-bottom:17px;font-size:23px}.student-championships .rank-photo{border:3px solid #fff;width:88px;height:88px;font-size:28px;box-shadow:0 3px 12px #45533718}.student-championships .podium-person>b{margin-top:17px;font-size:16px}.student-championships .podium-person>small{font-size:11px;line-height:1.5}.student-championships .podium-person>strong{margin-top:17px;font-size:32px}.student-championships .podium-person>strong small{font-size:11px;display:block}.student-championships .ranking-rest>div{padding:17px 0;font-size:14px}.student-championships .ranking-rest img{width:38px;height:38px}.student-championships .ranking-rest b{font-size:14px}.student-championships .ranking-rest small{font-size:11px}.student-championships .ranking-empty{padding:28px 0}.student-championships .panel-heading h2{font-size:22px}@media (max-width:700px){.instructor-grid{grid-template-columns:minmax(0,1fr);padding:0 15px 20px}.instructor-card{padding:20px 17px}.student-championships .champ-grid{gap:20px;padding:0 14px 20px}.student-championships .champ-card{padding:23px 16px}.student-championships .champ-card>h3{font-size:25px}.student-championships .champ-card>p{font-size:12px}.student-championships .leaderboard h4{font-size:18px}.student-championships .podium{gap:7px;margin-top:25px}.student-championships .podium-person{padding:18px 6px}.student-championships .podium-person.place-1{padding-top:25px;padding-bottom:23px}.student-championships .rank-photo{width:62px;max-width:100%;height:62px;font-size:20px}.student-championships .podium-person>b{font-size:12px}.student-championships .podium-person>small{font-size:9px}.student-championships .podium-person>strong{font-size:25px}.student-championships .rank-number{font-size:18px}.student-championships .podium-person>strong small{font-size:9px}.student-championships .ranking-rest b{font-size:12px}.student-championships .champ-date{font-size:11px}.student-championships .reward b{font-size:13px}.birthday-badge{width:23px;height:23px}.arctha-logo{width:50px!important;max-width:50px!important}}.batch-dates{border:1px solid var(--border,#e5e7eb);border-radius:12px;min-width:0;margin:16px 0;padding:16px}.weekday-options,.date-chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.weekday-options label{border:1px solid #ddd;border-radius:8px;align-items:center;gap:6px;padding:8px;margin:0!important;display:flex!important}.weekday-options input{width:auto!important;margin:0!important}.batch-preview{background:#f3f4f6;border-radius:12px;margin:14px 0;padding:14px}.batch-preview small{margin-top:8px;display:block}.batch-preview details{margin-top:8px}.batch-preview p{overflow-wrap:anywhere;line-height:1.7}.batch-preview summary{cursor:pointer}.date-chips button{white-space:normal}.batch-dates small{line-height:1.5;display:block}.delete-class-button{color:#b42318!important}.delete-class-confirm{color:#fff!important;background:#b42318!important}.face-camera video{aspect-ratio:4/3;object-fit:cover;background:#121826;border-radius:16px;width:100%;max-height:420px;display:block;transform:scaleX(-1)}.face-camera p{line-height:1.5}.face-device-form{border:1px solid #ddd;border-radius:14px;margin:20px 0;padding:20px}.face-device-form small{margin-top:10px;display:block}.kiosk-page{max-width:1000px;margin:auto;padding:24px 24px 80px}.kiosk-page header{justify-content:space-between;align-items:center;gap:16px;padding:0 0 20px;display:flex;position:static}.kiosk-page h1{font-size:26px}.kiosk-panel{background:#fff;border:1px solid #ddd;border-radius:20px;padding:24px}.kiosk-panel label{flex-direction:column;gap:8px;display:flex}.kiosk-panel select{border:1px solid #ddd;border-radius:10px;width:100%;padding:14px;font-size:16px}.kiosk-result{text-align:center;background:#f3f4f6;border-radius:16px;min-height:100px;margin:16px 0;padding:20px}.kiosk-result.recognized{color:#14532d;background:#e9f8ed}.kiosk-result img,.kiosk-avatar{object-fit:cover;border-radius:50%;width:90px;height:90px;margin:auto}.kiosk-avatar{color:#fff;background:#16a34a;place-items:center;font-size:40px;display:grid}.kiosk-result h2{margin:12px 0;font-size:28px}.kiosk-result strong{font-size:22px}.face-device-form .form-row label{min-width:0}.face-device-form input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px}.kiosk-panel small{line-height:1.6;display:block}@media (max-width:600px){.kiosk-page{padding:16px 12px 70px}.kiosk-page header{flex-wrap:wrap;align-items:flex-start}.kiosk-panel{padding:16px}.kiosk-page h1{font-size:22px}.kiosk-panel .teacher-confirm{flex-wrap:wrap}}.face-camera-placeholder{color:#cbd5e1;background:#121826;border-radius:16px;place-items:center;min-height:180px;margin-top:16px;padding:24px;font-size:20px;display:grid}body:has(.kiosk-page){background:#070d17}.kiosk-page{--face-cyan:#67e8f9;--face-border:#73bedc2e;color:#e5eefb;background:radial-gradient(at 50% 5%,#1b739129,#0000 62%);max-width:1120px;min-height:100vh;padding:30px 24px 80px;position:relative}.kiosk-page header{color:#e5eefb;background:0 0;border:0;padding-bottom:26px}.kiosk-brand{align-items:center;gap:14px;display:flex}.kiosk-brand-icon{color:#67e8f9;background:linear-gradient(135deg,#183348,#0b1827);border:1px solid #254359;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 0 28px #1cc2e91a}.kiosk-eyebrow{letter-spacing:.19em;color:#67e8f9;font-size:10px;font-weight:700}.kiosk-page h1{letter-spacing:-.035em;margin:4px 0;font-size:24px}.kiosk-page header p{color:#8497b0;margin:0;font-size:12px}.kiosk-panel{border:1px solid var(--face-border);background:linear-gradient(145deg,#132134fa,#0a1423fa);border-radius:24px;padding:25px;box-shadow:0 24px 80px #0005,inset 0 1px #ffffff08}.kiosk-section-title{letter-spacing:.12em;color:#8094ad;justify-content:space-between;gap:12px;margin-bottom:24px;font-size:11px;display:flex}.kiosk-section-title>span:first-child{color:#67e8f9;align-items:center;gap:8px;font-weight:700;display:flex}.kiosk-panel label{color:#a4b5ca;font-size:12px;font-weight:600}.kiosk-panel select{color:#e5eefb;outline-offset:3px;background:#0a1525;border:1px solid #2a4057;font-size:14px}.kiosk-panel select option{color:#e5eefb;background:#0a1525}.kiosk-page .secondary{color:#d7e6f8;background:#142337;border:1px solid #2d435a;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.kiosk-page .primary{color:#062132;background:linear-gradient(120deg,#6de6f5,#5ab7f7);border:1px solid #9feaf8;border-radius:10px;min-height:46px;font-weight:700;box-shadow:0 4px 22px #29c2ef20}.kiosk-page button:disabled{opacity:.45;box-shadow:none}.kiosk-page .teacher-confirm{background:0 0;border:0;gap:12px;margin:0;padding:18px 0}.kiosk-page .teacher-confirm h2{color:#e5eefb;margin:0 0 5px;font-size:18px}.kiosk-page .teacher-confirm p{color:#91a4bd;font-size:12px}.kiosk-page .badge{color:#9fb0c6;background:#1a2639;border:1px solid #33435a;font-size:11px}.kiosk-page .badge.paid{color:#79e1bc;background:#0f332d;border-color:#235a49}.scanner-stage{isolation:isolate;aspect-ratio:4/3;background:#08121f;border:1px solid #2b4159;border-radius:20px;margin-top:12px;position:relative;overflow:hidden}.face-camera .scanner-stage video{object-fit:contain;aspect-ratio:auto;z-index:1;border-radius:0;width:100%;height:100%;max-height:none;position:absolute;inset:0}.face-camera .face-camera-placeholder{text-align:center;color:#91afc7;background:radial-gradient(#123047 0%,#08121f 68%);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:0;margin:0;padding:50px 24px;display:flex;position:absolute;inset:0}.face-camera-placeholder svg{color:#67e8f9;filter:drop-shadow(0 0 16px #32c8e544);margin-bottom:4px}.face-camera-placeholder strong{letter-spacing:-.02em;color:#d9e9f7;font-size:19px;font-weight:500}.face-camera-placeholder>span{max-width:260px;font-size:12px;line-height:1.6}.scanner-grid{pointer-events:none;z-index:2;background-image:linear-gradient(#89d7ff08 1px,#0000 1px),linear-gradient(90deg,#89d7ff08 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.camera-active .scanner-grid{opacity:.25}.scanner-hud,.scanner-footer{z-index:5;color:#a6dbe7;letter-spacing:.12em;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;left:18px;right:18px}.scanner-hud{top:16px}.scanner-hud>span{background:#06131cc9;border:1px solid #8dd1e328;border-radius:30px;align-items:center;gap:8px;padding:8px 11px;display:flex}.scanner-hud i{background:#607b8e;border-radius:50%;width:6px;height:6px}.camera-active .scanner-hud i{background:#60e8be;animation:2s ease-in-out infinite face-breathe;box-shadow:0 0 8px #60e8be}.scanner-footer{letter-spacing:.09em;font-size:10px;bottom:17px}.scanner-footer>span:first-child{background:#06131cbb;border-radius:8px;align-items:center;gap:8px;padding:9px 11px;display:flex}.scanner-bars{color:#67e8f9;font-size:18px}.scanner-guide{pointer-events:none;z-index:4;border-radius:22px;position:absolute;inset:18% 24%}.scanner-guide>i{filter:drop-shadow(0 0 5px #67e8f966);border:0 solid #67e8f9;width:30px;height:30px;position:absolute}.scanner-guide>i:first-child{border-top-width:2px;border-left-width:2px;border-radius:12px 0 0;top:0;left:0}.scanner-guide>i:nth-child(2){border-top-width:2px;border-right-width:2px;border-radius:0 12px 0 0;top:0;right:0}.scanner-guide>i:nth-child(3){border-bottom-width:2px;border-left-width:2px;border-radius:0 0 0 12px;bottom:0;left:0}.scanner-guide>i:nth-child(4){border-bottom-width:2px;border-right-width:2px;border-radius:0 0 12px;bottom:0;right:0}.scanner-sweep{background:linear-gradient(90deg,#0000,#9defff,#0000);height:1px;animation:3.5s ease-in-out infinite face-scan;position:absolute;left:2%;right:2%;box-shadow:0 0 18px 3px #50cce855}.face-mesh-overlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.face-mesh-overlay line{stroke:#a1e8f9;stroke-width:.6px;opacity:.4}.face-mesh-overlay circle{fill:#b8f3ff;opacity:.8}.face-mesh-overlay rect{fill:none;stroke:#68dff5;stroke-width:1px;stroke-dasharray:12 8;opacity:.65}.camera-recognized .scanner-guide>i{filter:drop-shadow(0 0 6px #6ee7b766);border-color:#6ee7b7}.camera-recognized .scanner-footer{color:#6ee7b7}.face-camera .scanner-status{color:#475569;background:#f3f6fa;border-radius:10px;margin:12px 0;padding:12px 14px;font-size:13px;line-height:1.6}.kiosk-page .scanner-status{color:#a9bdd4;background:#0a1525;border:1px solid #20354b}.kiosk-page .face-camera>.row-actions{flex-wrap:wrap;gap:10px}.kiosk-result{color:#a8bad0;background:#0b1829;border:1px solid #20354b;min-height:0;margin:20px 0 16px;padding:20px}.kiosk-result>p{margin:0;font-size:13px;line-height:1.6}.kiosk-result.recognized{color:#a9efd0;background:linear-gradient(135deg,#10372f,#0b2526);border-color:#2b7460;animation:.4s ease-out face-success;box-shadow:0 0 32px #25ca9512}.kiosk-result.recognized h2{color:#e7fff4;font-size:30px}.kiosk-result.recognized strong{color:#91f7cc;background:#33d49a1a;border:1px solid #50d9ab55;border-radius:30px;margin:12px 0;padding:9px 18px;font-size:16px;display:inline-block}.kiosk-result.recognized img{border:3px solid #8ce5be;box-shadow:0 0 22px #41d3a133}.kiosk-avatar{color:#b9fbdc;background:#1e6952;border:1px solid #51bb91}.kiosk-steps{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:20px;display:flex}.kiosk-steps>span{color:#8298b2;align-items:center;gap:8px;font-size:11px;display:flex}.kiosk-steps b{color:#7bbdd4;border:1px solid #2f465f;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:500;display:grid}.kiosk-bottom-note{color:#6f86a1;text-align:center;font-size:11px}.kiosk-bottom-note svg{vertical-align:middle;margin-right:5px}.kiosk-page~.arctha-bar{background:#070d17}.kiosk-page :focus-visible{outline-offset:3px;outline:2px solid #67e8f9}@keyframes face-scan{0%,to{opacity:.2;top:8%}50%{opacity:.9;top:92%}}@keyframes face-breathe{50%{opacity:.4}}@keyframes face-success{0%{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (min-width:800px){.kiosk-panel,.kiosk-page header{max-width:820px;margin:auto}.scanner-stage{max-height:490px}}@media (max-width:600px){.kiosk-page{padding:20px 12px 80px}.kiosk-panel{border-radius:18px;padding:16px}.kiosk-page h1{font-size:19px}.kiosk-brand{gap:10px}.kiosk-brand-icon{border-radius:13px;width:44px;height:44px}.kiosk-section-title{letter-spacing:.08em;margin-bottom:18px;font-size:9px}.scanner-stage{border-radius:14px}.scanner-hud,.scanner-footer{font-size:8px;left:10px;right:10px}.scanner-hud{top:10px}.scanner-footer{bottom:10px}.scanner-footer>span:first-child{padding:7px;font-size:8px}.face-camera-placeholder svg{width:50px;height:50px}.face-camera-placeholder strong{font-size:15px}.face-camera-placeholder>span{max-width:210px;font-size:10px}.kiosk-steps{gap:10px}.kiosk-steps>span{gap:5px;font-size:10px}.kiosk-page .face-camera>.row-actions>button{flex:1;min-width:160px}}@media (prefers-reduced-motion:reduce){.scanner-sweep,.scanner-hud i,.kiosk-result.recognized{animation:none!important}}.scanner-stage{margin-left:auto;margin-right:auto}.kiosk-compact header{padding-bottom:16px}.kiosk-compact .kiosk-brand h1{font-size:22px}.kiosk-compact .kiosk-panel{padding:18px}.kiosk-compact .scanner-stage{margin-top:14px}.camera-feedback{z-index:6;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.camera-checkin-success{text-align:center;color:#b5ffe1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06261fe6;border:1px solid #68e5b8;border-radius:20px;flex-direction:column;align-items:center;gap:8px;max-width:88%;padding:24px 30px;animation:.3s ease-out face-success;display:flex;box-shadow:0 0 50px #42d69c33}.camera-checkin-success strong{color:#daffed;font-size:22px!important}.camera-checkin-success>span{overflow-wrap:anywhere;font-size:14px}.camera-checkin-success small{color:#9dcbb8;font-size:10px}.camera-checkin-hint{text-align:center;color:#b6cddd;margin:0;font-size:12px;position:absolute;bottom:62px;left:16px;right:16px}.camera-inline-status{z-index:7;color:#d6e8f5;text-align:center;pointer-events:none;background:#07121cdd;border-radius:8px;margin:0;padding:8px 12px;font-size:11px;position:absolute;bottom:10px;left:14px;right:14px}.kiosk-compact .scanner-footer{bottom:46px}.kiosk-compact .scanner-status{display:none}.kiosk-compact .face-camera>.row-actions{margin-top:12px}.kiosk-expanded{z-index:10000;flex-direction:column;height:100dvh;display:flex;inset:0;overflow:auto;background:#070d17!important;max-width:none!important;min-height:0!important;padding:14px 18px!important;position:fixed!important}.kiosk-expanded header{flex-shrink:0;width:100%;padding-bottom:10px;max-width:none!important}.kiosk-expanded .kiosk-panel{flex-direction:column;flex:1;width:100%;min-height:0;margin:0;padding:12px;display:flex;max-width:none!important}.kiosk-expanded .face-camera{flex-direction:column;flex:1;min-height:0;display:flex}.kiosk-expanded .face-camera>.row-actions{flex-shrink:0}.kiosk-expanded:-webkit-full-screen{box-sizing:border-box;width:100%;height:100%}.kiosk-expanded:fullscreen{box-sizing:border-box;width:100%;height:100%}.kiosk-compact .scanner-hud>span:last-child{background:#06131cc9;border-radius:8px;padding:8px}@media (max-width:600px){.kiosk-compact header{gap:10px}.kiosk-compact .kiosk-brand h1{font-size:19px}.kiosk-compact header>.row-actions{gap:6px}.kiosk-compact header .secondary{min-height:36px;padding:8px;font-size:11px}.kiosk-compact .kiosk-panel{padding:12px}.camera-checkin-success{gap:6px;padding:18px}.camera-checkin-success strong{font-size:18px!important}.camera-checkin-hint{font-size:10px;bottom:70px}.camera-inline-status{font-size:10px}.kiosk-expanded{padding:10px!important}.kiosk-expanded .scanner-guide{inset:20% 15%}}.face-camera .scanner-stage{aspect-ratio:16/9;width:100%;min-height:0;max-height:none}.kiosk-expanded .scanner-stage{aspect-ratio:16/9;flex:none;width:100%;min-height:0;max-height:none}.kiosk-expanded .face-camera{align-items:center}.kiosk-expanded .face-camera>.scanner-stage{width:min(100%,177.778dvh - 400px)}.kiosk-expanded .face-camera>.row-actions{width:100%}.face-camera .face-camera-placeholder{padding:40px 18px}.face-camera-placeholder svg{width:52px;height:52px;margin-bottom:0}.face-camera-placeholder strong{font-size:16px}.face-camera-placeholder>span{font-size:11px}.scanner-guide{inset:14% 32%}@media (max-width:600px){.face-camera .face-camera-placeholder{gap:5px;padding:30px 12px}.face-camera-placeholder svg{width:30px;height:30px}.face-camera-placeholder strong{font-size:12px}.face-camera-placeholder>span{display:none}.kiosk-expanded .scanner-guide,.scanner-guide{inset:18% 30%}.scanner-guide>i{width:20px;height:20px}.camera-checkin-success{gap:4px;padding:12px 18px}.camera-checkin-success>svg{width:26px;height:26px}.camera-checkin-success strong{font-size:15px!important}.camera-checkin-success>span{font-size:12px}.camera-checkin-hint{font-size:9px;bottom:54px}.scanner-footer>span:first-child{font-size:7px}.scanner-footer{bottom:40px}.camera-inline-status{padding:5px 8px;font-size:9px;bottom:6px}}.face-camera .scanner-stage video{object-fit:cover;object-position:center}.face-mesh-overlay{overflow:hidden}.kiosk-expanded{background:#070d17!important;padding:0!important;overflow:hidden!important}.kiosk-expanded header{z-index:20;pointer-events:none;top:0;left:0;right:0;background:linear-gradient(#030a16e6,#0000)!important;padding:14px 16px!important;position:absolute!important}.kiosk-expanded header .row-actions{pointer-events:auto}.kiosk-expanded .kiosk-brand-icon{display:none}.kiosk-expanded .kiosk-brand h1{color:#fff;text-shadow:0 1px 8px #000;font-size:18px}.kiosk-expanded .kiosk-panel{box-shadow:none;background:0 0;border:0;border-radius:0;display:block;position:absolute;inset:0;padding:0!important}.kiosk-expanded .kiosk-panel>label{z-index:20;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06131c88;border-radius:12px;padding:8px 10px;font-size:11px;position:absolute;top:76px;left:14px;right:14px}.kiosk-expanded .kiosk-panel>label select{background:#071320c9;padding:10px}.kiosk-expanded .kiosk-panel>p{z-index:20;color:#fff;position:absolute;top:145px;left:20px;right:20px}.kiosk-expanded .face-camera{display:block;position:absolute;inset:0}.kiosk-expanded .face-camera>.scanner-stage{border:0;border-radius:0;min-height:0;max-height:none;margin:0;position:absolute;inset:0;aspect-ratio:auto!important;width:100%!important;height:100%!important}.kiosk-expanded .scanner-stage video{object-fit:cover;width:100%;height:100%}.kiosk-expanded .face-camera>.row-actions{bottom:max(18px,env(safe-area-inset-bottom));z-index:20;flex-wrap:wrap;justify-content:center;width:auto;position:absolute;left:16px;right:16px}.kiosk-expanded .face-camera>.row-actions button{color:#dffaff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b2031dd;border-color:#79c9e555;min-height:44px}.kiosk-expanded .scanner-hud{top:165px;left:20px;right:20px}.kiosk-expanded .scanner-guide{inset:28% 13%}.kiosk-expanded .scanner-footer{bottom:140px;left:20px;right:20px}.kiosk-expanded .camera-inline-status{padding:12px;font-size:12px;bottom:92px;left:20px;right:20px}.kiosk-expanded .camera-checkin-hint{background:#06131c99;border-radius:10px;padding:10px;font-size:13px;bottom:190px;left:20px;right:20px}.kiosk-expanded .camera-checkin-success{max-width:88%;padding:26px}.kiosk-expanded .face-camera-placeholder{padding:160px 30px}.kiosk-expanded .face-camera-placeholder svg{width:70px;height:70px}.kiosk-expanded .face-camera-placeholder strong{font-size:20px}.kiosk-expanded .face-camera-placeholder>span{font-size:12px;display:block}@media (orientation:landscape) and (max-height:600px){.kiosk-expanded header{padding:8px 14px!important}.kiosk-expanded .kiosk-panel>label{max-width:360px;padding:5px 8px;top:58px}.kiosk-expanded .scanner-hud{top:68px;left:auto;right:20px}.kiosk-expanded .scanner-guide{inset:24% 34%}.kiosk-expanded .scanner-footer{bottom:116px}.kiosk-expanded .camera-inline-status{padding:7px;bottom:70px}.kiosk-expanded .camera-checkin-hint{font-size:11px;bottom:150px}.kiosk-expanded .face-camera>.row-actions{bottom:10px}.kiosk-expanded .face-camera-placeholder{padding:80px 20px}}.camera-checkin-success.camera-checkin-warning{color:#ffe09b;background:#372409f0;border-color:#f6c664;box-shadow:0 0 40px #f6c66422}.camera-checkin-warning strong{color:#fff0c7!important;font-size:19px!important}.camera-checkin-warning small{color:#ecd3a1}.camera-checkin-warning>svg{color:#f6c664}@media (max-width:600px){.camera-checkin-warning strong{font-size:16px!important}}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.podium-person.place-1{background:linear-gradient(145deg,#fff6d8,#f6e6b5);border-color:#dec579;order:2;padding-top:32px;padding-bottom:30px}.podium-person.place-2{background:linear-gradient(145deg,#f5f7fa,#e4e9ef);border-color:#cbd3dc;order:1}.podium-person.place-3{background:linear-gradient(145deg,#faf0e8,#edd9c8);border-color:#dcb99a;order:3}.podium-medal{color:#9b7724;margin-bottom:8px;display:block}.place-2 .podium-medal{color:#687b91}.place-3 .podium-medal{color:#aa734c}.ranking-initials{color:#536477;background:#edf1f5;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:10px;display:grid}.ranking-rest>div>strong>small{font-size:9px;font-weight:400;display:block}.ranking-rest>h4{margin-top:24px}.rank-number{white-space:nowrap}@media (max-width:600px){.rank-number{font-size:13px!important}.podium-person>b{overflow-wrap:anywhere}.ranking-rest>div{flex-wrap:wrap}.ranking-rest>div>small{font-size:10px}}.pwa-install{z-index:60;color:#e6faff;background:#112a40;border:1px solid #4f9bb4;border-radius:30px;min-height:42px;font-size:12px;position:fixed;bottom:58px;right:16px;box-shadow:0 4px 18px #0003}.pwa-overlay{z-index:10050}.pwa-overlay small{line-height:1.6;display:block}body:has(.kiosk-expanded) .pwa-install{display:none}@media (display-mode:standalone){.pwa-install{display:none}}.lesson-calendar{border:1px solid #dce3e9;border-radius:14px;margin:0 24px 20px;overflow:hidden}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{background:#f6f8fa}.calendar-weekdays>span{text-align:center;color:#738195;padding:12px 4px;font-size:11px;font-weight:600}.calendar-cell{text-align:left;background:#fff;border-top:1px solid #e4e9ef;border-bottom:0;border-left:0;border-right:1px solid #e4e9ef;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;min-width:0;min-height:104px;padding:8px;display:flex}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.blank{background:#fafbfc}.calendar-cell.chosen{background:#edf6fc;box-shadow:inset 0 0 0 2px #4693bd}.calendar-day-number{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.calendar-cell.is-today .calendar-day-number{color:#fff;background:#18374c;border-radius:50%}.calendar-events{flex-direction:column;gap:4px;min-width:0;display:flex}.calendar-event{background:#edf2f7;border-left:2px solid #7996ad;border-radius:4px;flex-direction:column;min-width:0;padding:5px;font-size:10px;display:flex}.calendar-event.nogi{background:#f2edf8;border-color:#9171b6}.calendar-event>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.calendar-day-heading{justify-content:space-between;align-items:center;gap:12px;margin:20px 0 12px;padding:0 24px;display:flex}.calendar-day-heading h3{text-transform:capitalize;margin:0;font-size:16px}.calendar-day-heading>span{color:#7b8794;font-size:11px}.calendar-day-classes{grid-template-columns:minmax(0,1fr)}.calendar-day-classes .class-card h3{margin:10px 0;font-size:18px}.calendar-day-classes .class-roster{margin:10px 0}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar input[type=month]{width:160px}@media (max-width:600px){.lesson-calendar{border-radius:10px;margin:0 10px 16px}.calendar-cell{gap:4px;min-height:70px;padding:4px}.calendar-day-number{width:20px;height:20px;font-size:11px}.calendar-event{border-left-width:2px;padding:3px 2px;font-size:9px}.calendar-event>span{display:none}.calendar-weekdays>span{padding:10px 0;font-size:10px}.calendar-day-heading{padding:0 12px}.calendar-day-heading h3{font-size:13px}.calendar-toolbar{gap:5px!important}.calendar-toolbar input[type=month]{width:135px;padding:8px}.calendar-toolbar .class-timezone{width:100%}.calendar-day-classes .class-card{padding:15px}.calendar-events small{font-size:8px}}.app-icon-settings{border:1px solid #dce3e9;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin:20px;padding:20px;display:flex}.app-icon-settings h3,.app-icon-settings p,.app-icon-settings small{width:100%;margin:0;line-height:1.6}.app-icon-settings img{border-radius:18px}.app-icon-settings button{white-space:normal;max-width:100%}img,video,svg{max-width:100%}.modal,.panel,.content,.student-main,.student-shell,.shell main{min-width:0}.modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}.row-actions{flex-wrap:wrap}.panel-heading>div,.heading>div,.instructor-card>div{min-width:0}h1,h2,h3,h4,p,b,small{overflow-wrap:anywhere}@media (max-width:600px){.panel-heading,.heading{flex-wrap:wrap;gap:12px}.panel-heading>.primary,.panel-heading>.secondary{white-space:normal;max-width:100%}.form-row{grid-template-columns:minmax(0,1fr)}.toolbar{flex-wrap:wrap}.toolbar>*{max-width:100%}.app-icon-settings{margin:12px;padding:16px}.theme-custom{grid-template-columns:minmax(0,1fr)}.student-header{flex-wrap:wrap;gap:12px}.student-area,.theme-save{flex-wrap:wrap}.rank-photo{max-width:100%}.champ-actions{flex-wrap:wrap}}.calendar-day-classes .class-card{padding:0!important}.class-summary{cursor:pointer;min-height:58px;padding:16px 18px;list-style-position:inside}.class-summary b{font-size:14px;line-height:1.5}.class-summary>small{margin:4px 0 0 17px;font-size:11px;display:block}.class-expanded{padding:0 18px 18px}.class-expanded>.champ-top,.class-expanded>h3{display:none}.calendar-cell,.calendar-event,.calendar-events{transform:none!important}.calendar-event{margin:0!important}.calendar-day-classes{gap:10px}.calendar-day-classes .class-details{margin-top:8px}.payment-panel,.payment-admin,.payment-admin .panel{min-width:0}.payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.payment-summary article{border:1px solid var(--border,#e3e8e8);border-radius:14px;min-width:0;padding:18px}.payment-summary small{color:var(--muted,#6c7778);margin-bottom:9px;display:block}.payment-summary strong{overflow-wrap:anywhere;font-size:clamp(20px,3vw,28px)}.payment-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.payment-hint{color:var(--muted,#6c7778);overflow-wrap:anywhere;font-size:13px;line-height:1.6}.payment-list{gap:12px;margin:18px 0;display:grid}.payment-row,.payment-review{border:1px solid var(--border,#e3e8e8);border-radius:14px;align-items:center;gap:18px;min-width:0;padding:18px;display:flex}.payment-row>div:first-child,.payment-review>div:first-child{flex:1;min-width:0}.payment-row h3,.payment-review h3{text-transform:capitalize;overflow-wrap:anywhere;margin:0 0 6px}.payment-row p,.payment-review p{overflow-wrap:anywhere;margin:6px 0;font-size:13px;line-height:1.6}.payment-row>strong{white-space:nowrap;font-size:19px}.payment-review>label{flex-shrink:0;width:160px}.payment-review .row-actions{flex-direction:column;align-items:stretch}.payment-admin{gap:20px;display:grid}.pix-editor{border:1px solid var(--border,#e3e8e8);border-radius:14px;min-width:0;margin:20px 0;padding:20px}.pix-editor legend{overflow-wrap:anywhere;max-width:100%;padding:0 8px;font-weight:650}.pix-editor textarea,.pix-copy textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--border,#dbe3e3);background:var(--surface,#fff);width:100%;min-height:90px;color:inherit;overflow-wrap:anywhere;border-radius:9px;padding:10px}.pix-editor label{gap:7px;min-width:0;margin-bottom:14px;display:grid}.pix-editor input,.pix-editor select{box-sizing:border-box;min-width:0;max-width:100%}.pix-qr{object-fit:contain;box-sizing:border-box;background:#fff;border:1px solid #dde3e3;border-radius:12px;width:min(100%,280px);height:auto;margin:15px auto;padding:12px;display:block}.pix-image-preview{justify-items:start;display:grid}.pix-image-preview .pix-qr{width:min(100%,190px);margin:0 0 10px}.payment-modal{overflow-wrap:anywhere;width:min(100%,520px)}.payment-modal p{line-height:1.6}.pix-copy{background:#788c8c14;border-radius:10px;gap:10px;min-width:0;margin:14px 0;padding:14px;display:grid}.pix-copy span,.pix-copy b{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.payment-modal>.primary{justify-content:center;width:100%}@media (max-width:760px){.payment-review{flex-wrap:wrap}.payment-review>div:first-child{flex-basis:100%}.payment-review>label{width:100%}.payment-review .row-actions{flex-flow:wrap;width:100%}.payment-summary{gap:8px}.payment-summary article{padding:12px}.payment-row{flex-wrap:wrap;gap:12px}.payment-row>div:first-child{flex-basis:calc(100% - 120px)}.payment-row>button{justify-content:center;width:100%}.pix-editor{padding:14px}.payment-admin .panel-heading{flex-wrap:wrap}}@media (max-width:420px){.payment-summary{grid-template-columns:1fr}.payment-summary article{justify-content:space-between;align-items:center;gap:10px;display:flex}.payment-summary small{margin:0}.payment-tabs{gap:6px}.payment-tabs button{flex:1;padding:10px 8px;font-size:12px}.payment-row>div:first-child{flex-basis:100%}.payment-row>strong{font-size:18px}}html{--ac:#c8102e;--ad:color-mix(in srgb,var(--ac) 65%,#000);--at:color-mix(in srgb,var(--ac) 10%,#fff);--sd:var(--ac);--sf:#ffd9de;--bf:#fff;--sb:#fff;--sc:var(--ac);--bg:#fbf6f6;--r:9px}html[data-theme=claro],html[data-theme=bento],html[data-theme=editorial],html[data-theme=celular]{--sd:#fff;--sf:#6b4a50;--bf:var(--ac);--sb:var(--at);--sc:var(--ac)}html[data-theme=claro],html[data-theme=editorial]{--bg:#fff}html[data-theme=bento]{--bg:#f6f1f1;--r:14px}html[data-theme=editorial]{--r:2px}html[data-theme=celular]{--r:12px}html[data-theme=escuro]{--sd:#17100f;--sf:#b9a5a8;--sb:var(--ac);--sc:#fff;--bg:#fff}body{background:var(--bg);padding-bottom:28px}aside{background:var(--sd);color:var(--sf);inset:0 auto 28px 0}.brand,.profile,.profile b{color:var(--bf)}.brand small,.private small,.profile small{color:inherit}.mark{border-color:currentColor}.mark span{color:inherit}nav button.selected{background:var(--sb);color:var(--sc);border-left-color:var(--ac)}.primary{background:var(--ac);color:#fff}.eyebrow,.text-button{color:var(--ac)}.progress span,.legend i,.graduation-track i,.calendar-days button i{background:var(--ac)}.green,.home-count strong,.home-next>strong,.graduation-progress strong,.grade-card>strong,.attendance-total b,.podium-person>strong{color:var(--ac)}.tatami,.period-tabs .active,.presence.on,.calendar-days button.marked,.graduation-progress{background:var(--at);color:var(--ad)}.tatami:after{border-color:var(--ac)}.gi{color:var(--ac)}.student-header,.student-home-hero,.profile-cover,.login-page{background:var(--ad)}.student-home-hero .primary{color:var(--ac);background:#fff}.student-nav button.active{border-bottom-color:var(--ac)}.badge.paid{color:#1f5b2e;background:#e6f3e8}.badge.late{background:var(--ac);color:#fff}.panel,.stats article,.modal,.champ-card,.class-card{border-radius:var(--r)}.arctha-bar{z-index:8;color:#8a6a70;background:#fff;border-top:1px solid #f3d3d8;justify-content:center;align-items:center;gap:8px;height:28px;font-size:11px;display:flex;position:fixed;inset:auto 0 0}.arctha-logo{object-fit:contain;flex-shrink:0;width:120px;height:40px;display:block}html[data-arctha=off] .arctha-bar{display:none}html[data-arctha=off] body{padding-bottom:0}html[data-arctha=off] aside{bottom:0}html[data-logo] .mark{background:var(--logo) center/contain no-repeat;border:0;width:44px;height:44px;padding:0;font-size:0}html[data-logo] .mark span{display:none}html[data-logo] .login-brand .mark{width:80px;height:80px}.theme-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:0 25px 20px;display:grid}.theme-card{text-align:left;border-radius:var(--r);background:#fff;border:1px solid #e3e6eb;width:100%;padding:12px;display:block}.theme-card.on{border-color:var(--ac);box-shadow:0 0 0 2px var(--at)}.theme-card b{font-size:13px;font-weight:500;display:block}.theme-sw{border:1px solid #e3e6eb;border-radius:6px;height:46px;margin-bottom:10px;display:flex;overflow:hidden}.theme-sw i{flex:1}.theme-custom{border-top:1px solid #edf0f3;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px 25px 25px;display:grid}.theme-custom label{color:#707a86;flex-direction:column;gap:7px;font-size:12px;display:flex}.theme-custom .checkbox{flex-direction:row;align-items:center}.theme-custom input[type=color]{width:100%;height:38px;padding:2px}.theme-err{color:var(--ac);padding:0 25px 15px}@media (max-width:700px){.theme-grid{grid-template-columns:repeat(2,1fr);padding:0 15px 20px}.theme-custom{padding:20px 15px}}@media (min-width:701px){html[data-layout=top] .shell{display:block}html[data-layout=top] aside{z-index:6;flex-direction:row;align-items:center;gap:18px;width:100%;padding:10px 28px;position:sticky;inset:0 auto auto}html[data-layout=top] .nav-label,html[data-layout=top] .sidebar-bottom,html[data-layout=top] nav button svg:last-child{display:none}html[data-layout=top] nav{flex-wrap:wrap;gap:2px;display:flex}html[data-layout=top] nav button{width:auto;padding:8px 11px}html[data-layout=top] nav button.selected{box-shadow:inset 0 -2px var(--ac);border-left:0}html[data-layout=top] main,html[data-layout=bottom] main{width:100%;margin:0}html[data-theme=hero][data-layout=top] aside{padding-block:20px}html[data-layout=rail] aside{width:68px;padding:24px 8px}html[data-layout=rail] .brand div,html[data-layout=rail] .nav-label,html[data-layout=rail] .private,html[data-layout=rail] .profile>div,html[data-layout=rail] .profile>span,html[data-layout=rail] nav button svg:last-child{display:none}html[data-layout=rail] nav button{justify-content:center;padding:13px 0;font-size:0}html[data-layout=rail] main{width:calc(100% - 68px);margin-left:68px}html[data-layout=bottom] aside{z-index:6;flex-direction:row;width:100%;padding:6px 10px;inset:auto 0 28px}html[data-arctha=off][data-layout=bottom] aside{bottom:0}html[data-layout=bottom] .brand,html[data-layout=bottom] .nav-label,html[data-layout=bottom] .sidebar-bottom,html[data-layout=bottom] nav button svg:last-child{display:none}html[data-layout=bottom] .professor-nav-frame{width:100%}html[data-layout=bottom] nav{justify-content:space-around;gap:0;display:flex;overflow-x:auto}html[data-layout=bottom] nav button{flex-direction:column;gap:3px;width:auto;padding:6px 8px;font-size:10px}html[data-layout=bottom] nav button.selected{border-left:0}html[data-layout=bottom] main{padding-bottom:70px}}body{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}.arctha-bar{height:calc(48px + env(safe-area-inset-bottom,0px));padding:4px 16px calc(4px + env(safe-area-inset-bottom,0px));color:#d0d6e0;background:#101722;border-top:1px solid #2a3443;gap:10px;font-size:11px}.arctha-bar>span{min-width:0}.arctha-logo{object-fit:contain;width:120px;height:40px;display:block}.shell>aside{bottom:calc(48px + env(safe-area-inset-bottom,0px))}html[data-arctha=off] .shell>aside{bottom:0}.theme-grid>*{min-width:0}.theme-custom{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.theme-custom label{overflow-wrap:anywhere;min-width:0}.theme-custom input,.theme-custom select{min-width:0;max-width:100%}.theme-custom input[type=file]{width:100%;font-size:12px}.theme-save{border-top:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:16px;padding:20px 25px;display:flex}.theme-save>p{min-width:0;font-size:12px}.theme-save>.primary{flex-shrink:0;min-height:43px}.theme-err{overflow-wrap:anywhere}@media (min-width:701px){html[data-layout=bottom] aside{bottom:calc(48px + env(safe-area-inset-bottom,0px))}html[data-arctha=off][data-layout=bottom] aside{bottom:0}}@media (max-width:700px){.shell>aside{bottom:auto}.arctha-bar{gap:8px;font-size:10px}.arctha-logo{width:105px;height:35px}.theme-save{flex-direction:column;align-items:stretch;gap:12px;padding:20px 15px}.theme-save>.primary{width:100%}.theme-custom input[type=file]{font-size:12px}.theme-custom input[type=color]{min-height:42px}.theme-custom select{min-height:42px;font-size:16px}}:root{--publisher-logo-rendered:min(var(--publisher-logo-width,120px),40vw);--publisher-bar-height:max(48px,calc(var(--publisher-logo-rendered)*.333333 + 8px))}.arctha-bar,html[data-arctha=off] .arctha-bar{height:calc(var(--publisher-bar-height) + env(safe-area-inset-bottom,0px));display:flex}.arctha-logo{width:var(--publisher-logo-rendered);height:calc(var(--publisher-logo-rendered)*.333333);max-width:40vw}body,html[data-arctha=off] body{padding-bottom:calc(var(--publisher-bar-height) + env(safe-area-inset-bottom,0px))}.shell>aside,html[data-arctha=off] .shell>aside{bottom:calc(var(--publisher-bar-height) + env(safe-area-inset-bottom,0px))}.mark,html[data-logo] .mark{width:var(--academy-logo-size,44px);height:var(--academy-logo-size,44px);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.login-brand .mark,html[data-logo] .login-brand .mark{width:var(--academy-logo-size,44px);height:var(--academy-logo-size,44px)}.academy-name{overflow-wrap:anywhere}.brand .academy-name,.student-brand .academy-name{text-transform:uppercase;font-size:inherit;letter-spacing:inherit}.brand>div,.student-brand>div{min-width:0}.theme-custom input[type=range]{width:100%;min-height:36px;accent-color:var(--ac);padding:8px 0}.theme-custom input[type=text]{width:100%;min-width:0}@media (min-width:701px){html[data-layout=bottom] aside,html[data-arctha=off][data-layout=bottom] aside{bottom:calc(var(--publisher-bar-height) + env(safe-area-inset-bottom,0px))}html[data-layout=rail] .mark,html[data-layout=rail][data-logo] .mark{max-width:50px;max-height:70px}}@media (max-width:700px){.shell>aside,html[data-arctha=off] .shell>aside{bottom:auto}.student-header{height:auto;min-height:74px;padding-block:10px}.brand .academy-name,.student-brand .academy-name{font-size:11px;line-height:1.4}.brand{align-items:center}.student-brand{max-width:calc(100% - 80px)}.mark,html[data-logo] .mark{max-width:90px;max-height:90px}.theme-custom input[type=text]{font-size:16px}:root{--student-header-height:max(74px,calc(min(var(--academy-logo-size,44px),90px) + 20px))}.student-header{height:var(--student-header-height);min-height:var(--student-header-height)}.student-nav-frame{top:var(--student-header-height)}}:root{--publisher-logo-width:50px;--publisher-logo-rendered:50px;--publisher-bar-height:48px}.arctha-logo{width:50px!important;max-width:50px!important;height:16.6667px!important}.theme-custom .checkbox input{width:auto;min-height:0}.theme-custom .checkbox{align-items:center;line-height:1.5}
