.initial-stripes{display:flex;align-items:center;gap:12px;margin-top:12px;white-space:nowrap;font-size:13px;color:#47604b}.initial-stripe-colors{display:flex;gap:7px}.initial-stripe{width:23px;height:35px;border:1px dashed #bac5b5;border-radius:5px;background:#f3f5ef;display:grid;place-items:center;color:transparent}.initial-stripe.earned{border:1px solid #91a28a;background:var(--stripe);color:#fff;box-shadow:0 1px 3px #2133261a}.initial-stripe.earned:nth-child(2){color:#26372b}.initial-stripes-field .progress-caption{margin:8px 0 0;font-size:12px}.presence-tick{width:44px;height:44px}.present-check{flex:none}.student-name{min-height:44px;overflow-wrap:anywhere}.import-table .initial-stripes{margin:0}.modal .close{width:44px;height:44px}.attendance-options summary{min-height:40px;display:list-item;padding:10px 0}.checks .check{min-height:44px}.modal .form-actions{position:sticky;bottom:-28px;background:#fffdfa;padding:12px 0;margin-bottom:-12px;z-index:2}
@media(max-width:720px){
 body{font-size:15px}.side{padding:13px 16px;min-height:55px}.brand{font-size:23px;letter-spacing:4px}.nav{position:fixed;inset:auto 0 0;z-index:15;display:flex;justify-content:space-around;gap:6px;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #dfe6d9;background:#fffffff2;backdrop-filter:blur(14px)}.nav button{flex:1;text-align:center;min-height:48px;font-size:14px;border-radius:12px;padding:12px 8px}.main{padding:16px 12px calc(235px + env(safe-area-inset-bottom));max-width:100%}.topline{margin-bottom:18px}.topline>.eyebrow{display:none}.topline>.row{width:100%;justify-content:space-between;flex-wrap:nowrap}.language-switch{font-size:16px;min-height:44px;max-width:140px;padding:9px 12px}.trial{font-size:11px;padding:8px 10px}.intro{margin-bottom:18px}.intro h1{font-size:25px;line-height:1.2}.intro p{font-size:14px;line-height:1.5;margin-bottom:0}.intro>.eyebrow{font-size:10px}.panel{padding:14px}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'location date' 'class class' 'open open';gap:12px}.filters label:first-child{grid-area:location}.filters label:nth-child(2){grid-area:class}.filters label:nth-child(3){grid-area:date}.filters>button{grid-area:open}.filters label{min-width:0;font-size:12px}input,select,textarea{font-size:16px;min-height:48px;max-width:100%}input[type=checkbox]{min-height:22px;width:22px;height:22px;flex:none}.primary,.secondary,.textbutton{min-height:48px}.bulk-scores{gap:8px}.bulk-grade{min-height:80px;padding:12px 4px}.bulk-grade strong{font-size:14px;line-height:1.35}.bulk-grade span{font-size:13px}.quick-help{display:block;font-size:12px;padding:10px 2px;line-height:1.5}.quick-help .textbutton{display:block;margin-top:4px;min-height:44px}.all-present{min-height:64px;font-size:16px;padding:10px 14px}.roster{gap:16px}.roster-top{padding-top:20px;padding-bottom:14px}.student-card{padding:16px 14px;border-radius:17px}.student-head{gap:10px;margin-bottom:4px;align-items:center}.student-name{font-size:18px;line-height:1.3;min-height:44px}.student-sub{font-size:12px;line-height:1.5}.belt-thumb{width:52px;height:40px;margin-left:0;flex:none}.attendance-options{font-size:13px;margin-bottom:10px}.attendance-options summary{min-height:44px;padding:12px 0}.compact-scores{gap:7px}.compact-scores .scorelabel{font-size:11px;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;min-height:28px;line-height:1.25;display:flex;align-items:flex-end;margin-bottom:7px}.grade-cell{height:58px;font-size:24px;border-radius:12px}.student-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px}.student-bottom>.check{min-height:48px;font-size:13px;line-height:1.4;padding:8px;background:#f7f9f4;border-radius:9px}.student-bottom>.note-link{grid-column:1/-1;min-height:44px;text-align:left;padding:8px;font-size:14px}.notes{gap:12px}.notes textarea{font-size:16px;min-height:100px}.card-poomsae{padding:8px 10px;gap:8px;margin-top:12px;min-height:60px}.card-poomsae .check{min-height:44px;font-size:14px}.card-poomsae small{font-size:11px;line-height:1.4;text-align:right;max-width:130px}.card-summary{grid-template-columns:62px 68px minmax(0,1fr);gap:8px;margin-top:14px}.card-metric{padding:10px 4px}.card-metric strong{font-size:24px}.stripe-track{height:28px}.card-progress .scorelabel{min-height:0;font-size:11px}.card-belt-caption{font-size:12px;margin-top:12px}.actionbar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));margin:0;padding:12px;gap:9px;z-index:12;box-shadow:0 5px 28px #173b1726}.actionbar>div:first-child{width:100%}.actionbar strong{font-size:13px}.actionbar small{font-size:11px;line-height:1.3}.actionbar .buttons{width:100%;gap:9px}.actionbar .buttons button{min-height:48px;font-size:14px;white-space:normal;padding:10px 8px}.toast{bottom:calc(210px + env(safe-area-inset-bottom));font-size:14px;width:calc(100% - 28px);max-width:420px;z-index:100}.modal-backdrop{padding:12px 8px;align-items:flex-end}.modal{padding:24px 18px;max-height:calc(100dvh - 24px);max-width:100%;border-radius:20px 20px 14px 14px;overscroll-behavior:contain}.modal h2{font-size:22px;line-height:1.3;padding-right:42px}.modal .close{top:10px;right:10px}.form-grid{gap:16px}.form-grid label{font-size:14px}.modal .form-actions{bottom:-24px;gap:8px;padding:14px 0 calc(14px + env(safe-area-inset-bottom));margin-bottom:-24px}.modal .form-actions button{flex:1;white-space:normal}.checks{gap:8px;padding:10px}.checks .check{font-size:14px;line-height:1.5;padding:5px}.searchrow{gap:10px}.searchrow input,.searchrow button{width:100%;max-width:none}.list-person{gap:10px;padding:13px}.list-person>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.list-person .total{min-width:40px}.management-card .row>button{flex:1;white-space:normal}.class-item{align-items:flex-start}.class-item>div{min-width:0;overflow-wrap:anywhere}.class-item .textbutton{white-space:normal}.initial-stripes{gap:14px}.initial-stripe{width:27px;height:40px}.initial-stripes-field .progress-caption{font-size:13px;line-height:1.5}.import-table .initial-stripe{width:18px;height:30px}.import-table .initial-stripe-colors{gap:4px}.import-table .initial-stripes{gap:6px}.import-scroll{max-height:45dvh}.profile-top{gap:12px}.stripe-set{gap:9px}
}
.session-switch{display:none}
@media(max-width:720px){.main:has(#toggle-session-filters) .intro{display:none}.session-filters:not(.expanded){display:none}.session-switch{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;background:#fff;border:1px solid #dbe4d6;border-radius:13px;color:#34543d;min-height:64px;text-align:left}.session-switch>span:first-child{font-weight:600;min-width:0;overflow-wrap:anywhere}.session-switch small{display:block;margin-top:4px;font-size:12px;font-weight:400}.session-switch>span:last-child{font-size:12px;flex:none}.session-filters.expanded{margin-bottom:12px}.modal-backdrop{overscroll-behavior:contain}}
.bonus-control{display:flex;align-items:center;gap:10px;font-weight:400;font-size:13px}.bonus-control select{width:75px;min-height:44px;padding:9px 10px;margin:0;font-size:16px}
@media(max-width:720px){.student-bottom .bonus-control{display:grid;align-content:center;gap:7px;background:#f7f9f4;border-radius:9px;padding:8px;font-size:13px;line-height:1.4}.student-bottom .bonus-control select{width:100%;min-height:48px}.student-bottom>.check{align-self:stretch}.student-bottom .bonus-control select:focus{outline-offset:0}}

.profile-history{margin-top:16px}.profile-history summary{cursor:pointer;min-height:44px;padding:12px 0;color:#34543d;font-size:14px}.profile-history .history-item{gap:10px;flex-wrap:wrap}.profile-history .history-item>span{flex:1;min-width:150px;overflow-wrap:anywhere}.profile-history small{white-space:normal}.support-total{color:#34543d;font-weight:600;font-size:14px}.profile-section .row h3{margin:0}.profile-section .row.wrap{gap:12px}
@media(max-width:720px){.profile-section .row.wrap{align-items:flex-start}.profile-section .row.wrap .secondary{width:100%}.profile-history .history-item>strong{font-size:13px}.profile-history .textbutton{min-height:44px}.modal .form-grid .full{grid-column:1/-1}.modal .form-grid textarea{min-height:96px}.profile-section>.primary{width:100%}}
