/* A single work surface: choose a day, then mark its lessons. */
:root{background:#f5f6f2;color:#253d34}
.workspace{margin:0;padding:0}
.app-header{height:80px;border-bottom:1px solid #e2e6dd;background:#fbfcf9}
.header-inner{max-width:900px;margin:auto;height:100%;display:flex;align-items:center;gap:32px;padding:0 28px}
.app-header .brand{font-size:24px;gap:10px;line-height:1.2}
.app-header .brand-symbol{width:37px;height:40px;border-radius:10px 10px 4px 10px}
.app-header .brand-symbol .icon{width:24px;height:24px}
.app-header .brand small{font-size:10px;line-height:1.7;margin-top:4px}
.app-header nav{display:flex;gap:5px;margin-inline-start:auto}
.app-header .nav-item{width:auto;flex-direction:row;gap:7px;border-radius:7px;margin:0;padding:11px 14px;min-height:44px;font-size:12px}
.app-header .nav-item .icon{width:17px;height:17px}
.app-header .nav-item.active{background:#e9efe4;color:#224d3b}
.app-header .track-pill{font-size:10px;padding:8px 12px;color:#78836c;background:transparent;border-color:#e0e5da}
main{max-width:844px;padding:38px 28px 0;margin:auto}
.page-heading{margin:0 0 24px;gap:12px}
.page-heading h1{font-size:25px;line-height:1.5;margin:0 0 7px;letter-spacing:-.5px}
.page-heading p{font-size:12px;color:#7c8777}
.focus-board{background:#fff;border:1px solid #dfe5d9;border-radius:15px;box-shadow:0 5px 24px #263c3010;overflow:hidden}
.focus-board .week-navigation{display:flex;align-items:center;justify-content:flex-start;padding:18px 23px;border-bottom:1px solid #edf0e8;gap:12px;width:100%}
.week-navigation .icon-button{border:0;background:#f4f6f0;width:36px;height:40px;min-height:44px}
.week-label{display:flex;align-items:center;gap:10px;font-size:12px}
.week-label strong{font-weight:normal;color:#3d5141}
.week-label>span{font-size:10px;color:#8c9685;border-right:1px solid #dce3d5;padding-right:10px}
.week-navigation .text-button{margin-inline-start:auto;font-size:11px;color:#5c7656;text-decoration:none;padding:10px}
.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:17px 23px;background:#fff}
.day-tab{border:1px solid transparent;background:transparent;border-radius:9px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;padding:10px 3px 5px;color:#7d8777;min-height:89px}
.day-tab>span:first-child{font-size:11px;white-space:nowrap}
.day-tab>strong{font-family:'Segoe UI',Tahoma,sans-serif;font-size:20px;font-weight:500;color:#4b604b;line-height:1}
.day-tab:hover:not(:disabled){background:#f4f6f0}
.day-tab.selected{background:#eef3e9;border-color:#bccdb1;color:#315635}
.day-tab.selected>strong{color:#234c35}
.day-dot{font-family:Arial,sans-serif;font-size:16px;line-height:12px;color:transparent;min-height:12px}
.day-dot.current{color:#ab8d51}
.day-dot.finished{font-size:12px;color:#688a56}
.day-tab:disabled{opacity:.3}
.daily-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 25px 14px;border-top:1px solid #f0f2eb}
.daily-heading h2{font-size:16px;margin:0 0 6px}
.daily-heading h2>span{font-size:11px;color:#8c9684;font-weight:normal;padding-right:12px;margin-right:12px;border-right:1px solid #e0e5d9}
.daily-heading p{font-size:11px;color:#7b8872;margin:0}
.today-label{font-size:10px;padding:5px 10px;background:#eff4e8;color:#648354}
.daily-lessons{padding:0 23px 16px}
.lesson{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 13px;padding:15px 14px;margin-bottom:10px;border:1px solid #e3e8dd;border-radius:9px;background:#fff;box-shadow:none;transition:background .15s,border-color .15s}
.lesson:last-child{margin-bottom:0}
.lesson:hover{border-color:#c5d1bd;box-shadow:none}
.lesson.completed{background:#f7faf4;border-color:#d5e1cb}
.lesson.cancelled{background:#f4f5f1}
.lesson-summary{display:flex;align-items:center;gap:11px;min-width:0}
.row-symbol{display:grid;place-items:center;flex-shrink:0;width:34px;height:36px;background:#f1f4ec;color:#829775;border-radius:7px}
.row-symbol .icon{width:19px;height:19px}
.row-symbol.is-done{background:#e7efdf;color:#5a8050}
.lesson-title{min-width:0}
.lesson h3{font-size:14px;line-height:1.5;margin:0 0 6px;color:#2c4533}
.teacher{font-size:10px;line-height:1.8;color:#8b9382;min-height:0;margin:0}
.teacher span{white-space:nowrap}
.lesson-summary>.icon-button{margin-inline-start:auto;background:transparent;border:0;min-width:44px;width:44px;height:44px;color:#96a18d}
.lesson .checks{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;gap:8px;border:0;margin:0;padding:0}
.lesson .check-label{border:1px solid #e0e5d8;background:#fcfdf9;border-radius:7px;min-height:44px;padding:10px 11px;gap:8px;font-size:11px;color:#76836c;white-space:nowrap;transition:background .15s}
.lesson .check-label:hover{background:#f0f5e9}
.lesson .check-label.checked{background:#eaf2e2;border-color:#c4d4b7;color:#42643b}
.lesson input[type=checkbox]{width:17px;height:17px;accent-color:#557c48}
.lesson .badges{grid-column:1/-1;margin:7px 45px 0 0;min-height:0}
.lesson .badges:empty{display:none}
.lesson .lesson-note{grid-column:1/-1;margin:10px 45px 0 0;font-size:11px;background:#f7f7ed;padding:9px 11px}
.extra-lessons{margin:0 23px 18px;border-top:1px solid #eef1e8;padding-top:2px}
.extra-lessons>summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11px;color:#86917a;padding:13px 3px;min-height:44px;list-style:none}
.extra-lessons>summary::-webkit-details-marker{display:none}
.extra-lessons>summary:after{content:'+';margin-inline-start:auto;font-size:18px;color:#859774}
.extra-lessons[open]>summary:after{content:'−'}
.extra-lessons>summary .icon{width:15px;height:15px}
.extra-lessons>summary span{font-family:'Segoe UI',sans-serif;font-size:11px;background:#f2f4ed;padding:2px 6px;border-radius:4px}
.week-progress{background:#f8faf5;padding:18px 25px 19px;border-top:1px solid #eaf0e1}
.progress-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6c7c60;margin-bottom:10px}
.progress-ring{display:block;width:auto;height:auto;background:none;padding:0;border-radius:0;flex-shrink:0}
.progress-ring strong{font-size:15px;font-weight:600;color:#537144;font-family:'Segoe UI',Tahoma,sans-serif}
.linear-progress{height:5px;background:#e7eddc;border-radius:4px;overflow:hidden}
.linear-progress>span{display:block;background:#7a9864;height:100%;border-radius:4px;transition:width .2s}
.week-progress>small{font-size:10px;color:#99a18e;display:block;margin-top:9px;line-height:1.7}
.under-board{display:flex;align-items:center;justify-content:space-between;margin:14px 0 0;padding:0 2px}
.under-board .text-button{display:flex;align-items:center;gap:7px;font-size:11px;text-decoration:none;padding:8px 0;color:#5f7c51}
.under-board .text-button .icon{width:15px;height:15px}
.under-board>span{font-size:9px;color:#a0a894}
.focus-board .empty{border:0;padding:30px 10px}
.focus-board .empty>h2{font-size:17px}
.focus-board .empty>.icon{width:28px;height:28px;margin-bottom:10px}
.focus-board .empty p{font-size:11px}
.filter-bar{padding:14px 16px;background:white;margin:0 0 20px;gap:12px}
.filter-bar label{font-size:11px}
.filter-bar select{font-size:12px}
.schedule-panel{margin-top:0}
.day-section{margin-bottom:22px}
.day-heading{margin-bottom:10px}
.day-heading h2{font-size:13px}
.day-heading h2>span{font-size:10px}
.lessons-grid{display:flex;flex-direction:column;gap:8px}
.lessons-grid .lesson{margin:0}
.waiting-section{margin-top:30px;padding-top:24px}
.waiting-section>h2{font-size:15px}
.waiting-section .lesson{background:#fbfaf4}
.settings-grid{grid-template-columns:1fr;gap:15px}
.settings-card{padding:23px;border-radius:10px}
.settings-card h2{font-size:16px;margin-bottom:19px}
.settings-card p{font-size:12px}
.settings-card .stack-actions{flex-direction:row;flex-wrap:wrap}
.field{max-width:430px}
.welcome{margin-top:10px}
.welcome h1{font-size:31px}
.setup-form{margin-top:22px;box-shadow:none}
footer{font-size:10px;padding:27px 15px 30px;color:#9ba58f;gap:7px}
footer .icon{width:13px;height:13px}
@media(max-width:700px){
 .header-inner{padding:0 20px;gap:15px}.app-header .track-pill{font-size:9px;padding:7px}.app-header .nav-item{font-size:11px;padding:10px}
 main{padding:27px 20px 0}.lesson{grid-template-columns:1fr}.lesson .checks{grid-column:1;grid-row:auto;margin:12px 45px 0 0}.lesson .check-label{flex:1;justify-content:center;font-size:12px}.teacher{font-size:11px}.lesson h3{font-size:15px}.lesson-summary>.icon-button{margin-inline-start:auto}.day-picker{padding-inline:17px}.daily-lessons{padding-inline:17px}.daily-heading{padding-inline:20px}.week-label{gap:8px}
}
@media(max-width:520px){
 .app-header{height:69px}.header-inner{padding:0 18px;justify-content:space-between}.app-header .brand{font-size:22px}.app-header .brand small{font-size:9px}.app-header .brand-symbol{width:34px;height:37px}.app-header .track-pill{font-size:10px;background:#f2f5ec}.app-header nav{position:fixed;bottom:0;left:0;right:0;height:65px;display:flex;justify-content:center;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #e0e6d9;z-index:15;margin:0;padding:0 12px;gap:0}.app-header .nav-item{position:static;flex:1;flex-direction:column;gap:4px;font-size:10px;padding:9px 4px;border-radius:0;max-width:150px}.app-header .nav-item.active{background:#f0f4e9}.app-header .nav-item .icon{width:20px;height:20px}.workspace{padding-bottom:65px}
 main{padding:24px 14px 0}.page-heading{margin-bottom:18px}.page-heading h1{font-size:24px;margin-bottom:5px}.page-heading p{font-size:12px}.focus-board{border-radius:12px;box-shadow:0 3px 15px #263c3009}.focus-board .week-navigation{padding:12px;gap:6px}.week-label{flex:1;justify-content:center;font-size:11px;gap:5px;white-space:nowrap}.week-label>span{font-size:9px;padding-right:5px}.week-navigation .icon-button{width:32px;min-width:32px;min-height:44px}.week-navigation .text-button{font-size:10px;padding:7px;margin:0}
 .day-picker{padding:12px 9px;gap:2px}.day-tab{padding:9px 1px 5px;min-height:80px;gap:9px;border-radius:7px}.day-tab>span:first-child{font-size:10px;letter-spacing:-.5px}.day-tab>strong{font-size:19px}.daily-heading{padding:16px 15px 13px}.daily-heading h2{font-size:15px}.daily-heading h2>span{font-size:10px;margin-right:9px;padding-right:9px}.daily-heading p{font-size:10px}.daily-lessons{padding:0 12px 12px}.lesson{padding:12px;margin-bottom:9px;border-radius:8px}.lesson-summary{gap:9px}.row-symbol{width:30px;height:33px}.row-symbol .icon{width:17px;height:17px}.lesson h3{font-size:15px;margin-bottom:5px}.teacher{font-size:10px}.teacher span{display:inline}.lesson-summary>.icon-button{width:44px;height:44px;min-width:44px;margin-left:-7px}.lesson .checks{margin:10px 0 0;gap:7px}.lesson .check-label{min-height:44px;padding:9px 7px;font-size:11px;gap:7px;justify-content:center}.lesson .badges{margin:7px 0 0}.lesson .lesson-note{margin:9px 0 0;font-size:11px}.extra-lessons{margin:0 15px 12px}.extra-lessons>summary{font-size:11px}.week-progress{padding:15px 16px 16px}.progress-label{font-size:11px}.week-progress>small{font-size:9px;line-height:1.9}.under-board{align-items:flex-start;flex-direction:column;gap:0;margin-top:10px}.under-board .text-button{font-size:11px;min-height:44px}.under-board>span{font-size:9px;padding-bottom:4px}.filter-bar{gap:10px;padding:12px}.filter-bar label{font-size:10px}.filter-bar>span{font-size:10px}.day-heading h2{font-size:13px}.day-count{font-size:9px}.schedule-panel .lesson{margin-bottom:0}.settings-card{padding:20px}.settings-card .stack-actions{flex-direction:column}footer{font-size:9px;padding-top:21px}.welcome h1{font-size:28px}.welcome>p{font-size:12px}.welcome-foot{font-size:10px}#toast{bottom:80px;min-width:0;width:max-content;max-width:calc(100% - 28px);font-size:11px;padding:11px 16px}
}
@media(prefers-reduced-motion:reduce){.linear-progress>span{transition:none}}
