/* PUSULA 1.1: role-specific workspace, inline vector icons, no remote assets. */
.icon{display:inline-block;width:21px;height:21px;flex:0 0 21px;vertical-align:middle}
.inline-action{display:inline-flex;align-items:center;gap:7px;line-height:1.4;margin:5px 14px 5px 0;font-weight:600;font-size:14px}
.button .icon,button .icon{width:19px;height:19px;flex-basis:19px}.signed-user{font-size:14px;color:#343434;max-width:240px}.signed-user small{display:block;color:#736969;font-size:12px}
.workspace-shell{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:225px minmax(0,1fr);align-items:start;gap:28px;padding:28px 28px 55px}.workspace-shell .container{width:100%;max-width:none;min-width:0;padding:0;margin:0}
.workspace-nav{position:sticky;top:20px;background:white;border:1px solid #eddcda;border-radius:16px;overflow:hidden}.workspace-nav details{margin:0}.workspace-nav summary{padding:16px;font-weight:700;color:#a91918;cursor:pointer;border-bottom:1px solid #f1e3e1}.workspace-nav nav{padding:8px}.workspace-nav nav a{display:flex;align-items:center;gap:11px;padding:12px 10px;border-radius:8px;color:#534b4b;font-weight:600;font-size:14px;margin:3px 0}.workspace-nav nav a:hover{background:#fff5f3;text-decoration:none}.workspace-nav a[aria-current=page]{background:#fcebea;color:#b41b1b;border-left:3px solid #df201f}.nav-context{border-top:1px solid #eee;padding:16px;display:grid;gap:5px}.nav-context small{font-size:12px;color:#786c6c}.nav-context strong{font-size:13px;color:#443a3a}
.workspace-heading{margin:3px 0 22px}.workspace-heading h1{font-size:30px;letter-spacing:-.02em;margin:0 0 10px}.workspace-heading p{color:#746969;margin:0}.workspace-shell h2{font-size:21px;letter-spacing:-.02em;margin-top:0}.workspace-shell h3{font-size:18px;color:#3a3131;letter-spacing:0;margin:0 0 6px}.workspace-shell .panel{padding:24px;margin:22px 0;border-color:#eadedc;border-radius:14px}.workspace-shell .panel p{line-height:1.65}.workspace-shell button,.workspace-shell .button{font-size:14px;padding:10px 15px;gap:8px;min-height:43px}.workspace-shell .form-grid{gap:18px}.workspace-shell label{font-weight:600}.workspace-shell textarea{min-height:110px}.workspace-shell .table-wrap table{min-width:480px}.workspace-shell th{color:#554949}.workspace-shell td{vertical-align:middle}.workspace-shell .narrow{max-width:none;margin:22px 0}
.period-filter{display:flex;gap:12px;align-items:end;margin:12px 0 22px;flex-wrap:wrap}.period-filter label{min-width:220px;flex:1;max-width:440px}.period-filter select{margin-top:5px}.period-filter button{margin-bottom:1px}
.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overview-stats>a{display:flex;flex-direction:column;background:white;border:1px solid #eadedc;border-top:3px solid #df201f;border-radius:12px;padding:18px;color:#605151;text-decoration:none}.overview-stats>a:hover{background:#fff4f2}.overview-stats strong{font-size:34px;color:#cf2423;font-weight:650;line-height:1.3}.overview-stats span{font-size:13px;margin-top:7px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}.count{font-size:13px;background:#e9f5ed;color:#076f36;padding:4px 9px;border-radius:20px;vertical-align:middle;margin-left:6px}
.task-row{display:flex;align-items:center;gap:14px;color:#3b3434;padding:17px 0;border-top:1px solid #f0e6e4}.task-row:hover{text-decoration:none;color:#a91918}.task-row>.icon:first-child{color:#078640;background:#edf8f0;box-sizing:content-box;padding:10px;border-radius:10px}.task-row>span{flex:1}.task-row strong{font-size:15px;display:block}.task-row small{display:block;color:#776c69;font-size:13px;margin-top:4px}.task-row>.icon:last-child{color:#b62323}.empty-state{display:flex;gap:12px;align-items:center;color:#746c68;padding:20px 0}.empty-state>.icon{color:#079245;width:27px;height:27px;flex-basis:27px}.empty-state p{margin:0;font-size:14px}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.person-row{display:flex;gap:17px;padding:20px 0;border-top:1px solid #f0e6e4}.person-row p{margin:4px 0;color:#776b69;font-size:14px}.person-avatar{flex:0 0 48px;height:48px;display:grid;place-items:center;background:#fff0ed;border-radius:50%;color:#d42322}.person-avatar>.icon{width:25px;height:25px}.notice{border-top:1px solid #eee3e0;padding:16px 0}.notice p{font-size:14px;color:#655b58}.notice:last-child{padding-bottom:0}
.education-callout{display:flex;align-items:flex-start;gap:18px;padding:22px;background:#edf7f1;border:1px solid #cde7d7;border-radius:14px;margin:22px 0}.education-callout>.icon{width:34px;height:34px;flex-basis:34px;color:#07843e}.education-callout strong{color:#155431;font-size:18px}.education-callout p{font-size:14px;margin:8px 0 14px}.course-row{display:flex;gap:18px;border-top:1px solid #eee3e0;padding:22px 0}.course-row>div{flex:1;min-width:0}.course-row>.icon{width:32px;height:32px;flex-basis:32px;color:#079245}.course-row p{color:#6c605c;font-size:14px;margin:7px 0}.progress-line{display:flex;align-items:center;gap:15px;margin:18px 0 9px}.progress-line progress{appearance:none;height:10px;border:0;border-radius:10px;background:#e8e8e5;width:100%;max-width:440px;overflow:hidden}.progress-line progress::-webkit-progress-bar{background:#e8e8e5;border-radius:10px}.progress-line progress::-webkit-progress-value{background:#079245;border-radius:10px}.progress-line progress::-moz-progress-bar{background:#079245;border-radius:10px}.progress-line strong{color:#057b37;font-size:16px;min-width:45px}
.lesson-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px}.lesson-index{padding-top:22px}.lesson-index h2{font-size:16px}.lesson-index ol{padding-left:22px}.lesson-index li{margin:15px 0;font-size:14px;color:#a69891}.lesson-index a{color:#635750;display:block}.lesson-index a[aria-current=step]{color:#b9201e;font-weight:700}.lesson-index .icon{width:16px;height:16px;margin-right:4px;color:#079245}.lesson-page{margin-top:0!important}.lesson-page h2{font-size:26px}.lesson-page>p{font-size:16px;line-height:1.85!important}.lesson-art{position:relative;max-width:460px;margin:0 auto 25px}.lesson-art>svg{width:100%;display:block}.lesson-art-symbol{position:absolute;right:16%;top:6%;background:white;border:1px solid #e8d7d2;padding:9px;border-radius:50%;color:#079245}.lesson-art-symbol .icon{width:25px;height:25px}.lesson-editor{padding:18px;background:#fcfaf8;border:1px solid #ebded8;border-radius:10px;margin:20px 0}.lesson-editor summary{font-weight:700;color:#b21d1c}.lesson-editor label{margin:15px 0}.lesson-editor textarea{min-height:190px}
.management-list{display:grid;gap:15px}.management-list article{display:flex;gap:20px;align-items:flex-start;padding:25px;border:1px solid #eddfda;background:white;border-radius:14px}.management-list article>.icon{width:30px;height:30px;color:#079245;flex-basis:30px}.management-list h2{margin:0 0 8px}.management-list p{margin:0;color:#776b64;font-size:14px}
.attendance-row{display:grid;grid-template-columns:minmax(145px,1.3fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:12px;align-items:end;padding:18px 0;border-top:1px solid #eee}.attendance-row>div{align-self:center}.attendance-row small,.selection-list small{display:block;color:#776c65;font-size:12px}.attendance-row>.inline-action{grid-column:1/-1}.selection-list{max-height:420px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:15px 0 22px;padding:0 8px}.selection-list .check{padding:12px 0;border-bottom:1px solid #eee;margin:0;font-weight:500;align-items:center}.selection-list input{flex:0 0 20px;height:20px;accent-color:#079245}.workspace-shell .check input{accent-color:#079245}.workspace-shell blockquote{border-left:4px solid #079245;background:#f0f8f2;padding:20px;margin:20px 0;line-height:1.8}
@media(min-width:1000px){.workspace-nav summary{list-style:none;pointer-events:none}.workspace-nav summary::-webkit-details-marker{display:none}.top{max-width:1450px}.top .brand{width:280px}}
@media(max-width:1100px){.workspace-shell{grid-template-columns:190px minmax(0,1fr);gap:18px;padding:22px 18px}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-row{grid-template-columns:1fr 1fr}.lesson-layout{grid-template-columns:1fr}.lesson-index{padding:0}.lesson-index ol{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none}.lesson-index li{margin:0;font-size:12px}.lesson-index h2{margin-bottom:10px}.lesson-index span{display:none}.lesson-index li:has(span){display:none}}
@media(max-width:760px){.workspace-shell{display:block;padding:15px 14px 35px}.workspace-nav{position:static;margin-bottom:24px}.workspace-nav nav{display:grid;grid-template-columns:1fr 1fr}.workspace-nav nav a{padding:10px 8px;font-size:13px;gap:7px}.nav-context{padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-heading h1{font-size:26px}.workspace-shell .panel{padding:18px}.top .brand{width:245px}.signed-user{max-width:150px;font-size:12px}.top nav{gap:12px}.overview-stats{gap:10px}.overview-stats>a{padding:15px}.overview-stats strong{font-size:29px}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions>.button{font-size:12px;padding:10px 8px;gap:6px}.period-filter{align-items:stretch}.period-filter label{min-width:170px}.period-filter button{align-self:end}.person-row{gap:12px}.person-avatar{flex-basis:35px;height:35px}.person-row .row-actions{display:grid;justify-items:start}.selection-list{grid-template-columns:1fr}.education-callout{padding:17px;gap:12px}.lesson-page h2{font-size:23px}.lesson-page>p{font-size:15px}.management-list article{padding:20px;gap:14px}.attendance-row{grid-template-columns:1fr 1fr}.attendance-row>div{grid-column:1/-1}.attendance-row button{justify-self:start}.filters{align-items:stretch}.task-row strong{font-size:14px}}
@media print{.workspace-nav,.top,footer,.actions,form{display:none}.workspace-shell{display:block}.workspace-shell .panel{break-inside:avoid}}

.mobile-menu{display:none}.menu-title{padding:16px;border-bottom:1px solid #eee3e1;color:#a91918;font-weight:700}@media(max-width:760px){.desktop-menu{display:none}.mobile-menu{display:block}.workspace-nav summary{pointer-events:auto}.nav-context>small:last-child{display:none}}
