/* Studyflow: paper-like layers, clear subject accents and generous touch targets. */
body:not(.projection){background:#f5f3ed}
body:not(.projection) .panel,body:not(.projection) .live-pupil,body:not(.projection) .task-card{border-radius:24px;border-color:#dce5db;box-shadow:0 5px 0 #dfe8df66,0 12px 26px #1c493709}
.teacher-actions{gap:20px;margin:24px 0 30px}
.teacher-action{border-radius:28px 28px 28px 10px;padding:25px 22px;border:1px solid #d2e4d9;background:#eaf5e9;box-shadow:0 5px 0 #cddfd1;transition:transform .15s,box-shadow .15s}
.teacher-action:nth-child(2){background:#fff2cf;border-color:#eadbb0;box-shadow:0 5px 0 #eadbb0}
.teacher-action:nth-child(3){background:#e9f2fc;border-color:#d1e0ef;box-shadow:0 5px 0 #d1e0ef}
.teacher-action:nth-child(4){background:#faeae3;border-color:#ebd5c8;box-shadow:0 5px 0 #ebd5c8}
.teacher-action:nth-child(5){background:#efeafa;border-color:#ded5ed;box-shadow:0 5px 0 #ded5ed}
.teacher-action:nth-child(6){background:#e1f3ef;border-color:#c9e3dc;box-shadow:0 5px 0 #c9e3dc}
.teacher-action strong{font-size:1.08rem}.teacher-action span:not(.help-count){color:#405d53;line-height:1.5}.teacher-action svg{background:#ffffffb0;border-radius:12px;padding:6px;width:38px;height:38px;margin-left:-5px}
.teacher-action:hover{transform:translateY(-2px)}.teacher-action:focus-visible{outline:3px solid #15553d;outline-offset:5px}
body:not(.projection) .btn{border-radius:14px}body:not(.projection) .toolbar{border-radius:20px}body:not(.projection) .page-head h1{letter-spacing:-.025em}
.task-offered{display:block;color:#52664a;font-size:.8rem;margin-top:7px}.remove-class-btn{font-size:.78rem;padding:8px 10px;min-height:38px;border:1px solid #debfae;border-radius:12px;background:#fff6ef;color:#703b21}
.board-task-titles{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;padding:0;margin:12px auto 22px;max-width:1200px}.board-task-titles li{padding:12px 22px;background:#fff7d9;border:1px solid #dfc98d;border-radius:20px;color:#354e41;font-weight:750;font-size:clamp(1.1rem,2vw,1.65rem)}
.wf-board-step{border-radius:25px!important;box-shadow:0 5px 0 #dfe7df;transition:background-color .15s}.wf-board-step.current{background:#fff0bb!important;border:4px solid #987b24!important;box-shadow:0 6px 0 #deca88!important}.wf-board-step.current .wf-day-badge{background:#284f38;color:white;font-weight:800}
.day-clock{display:grid;gap:10px;align-items:center;padding:14px;background:#ffffffbd;border:1px solid #d4dfd3;border-radius:20px;width:min(100%,500px);margin:12px auto}.day-clock output{font-size:2rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.day-clock output.time-up{color:#934219}.day-clock-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.day-clock button{min-height:44px}.day-clock details{font-size:1rem}.day-clock summary{cursor:pointer}.day-clock label{display:flex;gap:10px;align-items:center;justify-content:center;margin:12px 0}.day-clock input{max-width:100px;font-size:1rem}.day-clock .btn{font-size:.95rem;padding:9px 14px}
@media(prefers-reduced-motion:reduce){.teacher-action,.wf-board-step{transition:none}.teacher-action:hover{transform:none}}

/* A full disk represents the whole selected duration, including short timers. */
.visual-clock{--remaining:100%;position:relative;box-sizing:border-box;width:clamp(160px,25vw,320px);aspect-ratio:1;flex-shrink:0;border:12px solid #fff;border-radius:50%;background:conic-gradient(from 0deg,#e8efeb calc(100% - var(--remaining)),#279c92 0);box-shadow:0 0 0 3px #c3ded6,0 8px 0 #c3ded666,inset 0 0 0 2px #ffffff90}
.visual-clock:before{content:'';position:absolute;inset:-7px;border-radius:50%;background:repeating-conic-gradient(#416b614d 0deg 1deg,transparent 1deg 30deg);mask:radial-gradient(transparent 67%,#000 68%)}
.visual-clock span{position:absolute;width:16px;height:16px;background:#fff;border:3px solid #186d65;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.board-timer .timer-scene{flex-wrap:wrap;gap:24px;margin:24px 0}
.board-timer .timer-scene>img{display:block;width:clamp(85px,12vw,170px);height:180px;object-fit:contain}
.board-timer .timer-time{font-size:clamp(48px,8vw,110px);letter-spacing:-.03em}
.board-timer #timer-progress{display:none}
.board-dual .visual-clock{width:clamp(130px,18vw,240px)}
.day-clock .day-visual-clock{width:76px;border-width:7px;grid-column:1;grid-row:1}
.day-clock .day-visual-clock span{width:10px;height:10px;border-width:2px}
.day-clock:has(.day-visual-clock){grid-template-columns:80px 1fr}
.day-clock>output{grid-column:2;grid-row:1;align-self:center}
.day-clock-buttons,.day-clock>details{grid-column:1/-1}

.board-task-titles li{display:flex;align-items:center;gap:8px;padding:6px;border:3px solid #dfc98d;max-width:100%;box-sizing:border-box}
.board-task-titles li.active-task{border-color:#208346;background:#e5f5e8;box-shadow:0 0 0 3px #20834626}
.task-focus{display:flex;align-items:center;gap:12px;min-height:48px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:8px;overflow-wrap:anywhere}
.task-number{display:grid;place-items:center;border-radius:50%;background:white;min-width:36px;height:36px;color:#245e38}
.task-now{background:#208346;color:white;border-radius:12px;padding:5px 10px;font-size:1rem}
.task-move{display:flex;flex-shrink:0}.task-move button{min-width:44px;min-height:44px;border:0;border-radius:12px;background:#ffffffa0;color:#245e38;font-size:22px;cursor:pointer}.task-move button:disabled{opacity:.3;cursor:default}

.pupil-ring-wrap{position:relative;width:100%;min-height:150px}.pupil-ring-wrap .pupil-progress-ring{inset:0;width:100%;height:100%}.pupil-ring-wrap .pupil-tile-content{position:relative;width:100%;min-height:150px;box-sizing:border-box}
.projection .has-inline-tasks{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.has-inline-tasks .compact-pupil{max-width:none;width:100%;padding:0;box-sizing:border-box}
.pupil-inline-tasks{width:100%;padding:8px;box-sizing:border-box}.inline-unit{background:#fff;border:1px solid #dce5dd;border-radius:14px;margin:8px 0;padding:10px;text-align:left;font-size:16px;overflow-wrap:anywhere}.inline-unit small{display:block;font-size:12px;color:#5e7065;margin:0 0 4px}.inline-smileys{display:flex;justify-content:center;gap:8px;margin-top:8px}.inline-smileys button{min-width:48px;min-height:48px;background:#eff5ef;border:1px solid #ccd9ce;border-radius:12px;font-size:26px;cursor:pointer}.inline-unit.unit-done{background:#f1f2f1;color:#737b76;border-color:#e2e5e2}.unit-done>span:last-child{display:block;text-align:right}.inline-smileys button:disabled{opacity:.5}

.projection .has-inline-tasks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.has-inline-tasks .inline-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.has-inline-tasks .inline-smileys{gap:3px;margin:0}.has-inline-tasks .inline-smileys button{min-width:42px;min-height:44px;padding:3px;font-size:24px}.library-filters label{font-weight:650}.library-folder-filter{border-top:1px solid #dce5dd;margin-top:12px;padding-top:12px}.library-folder-filter h2{font-size:1rem}.library-bulk .toolbar{flex-wrap:wrap}.task-scheduled{display:block;color:#3465a0;margin-bottom:4px}.week-days{flex-wrap:wrap}

.board-timer-controls{display:flex;gap:12px;justify-content:center;align-items:end;flex-wrap:wrap}.board-timer-controls label{display:grid;gap:6px;text-align:left}.board-timer-controls input{width:105px;padding:10px;border:2px solid #9dbbb1;border-radius:12px;font:inherit}.board-timer-controls button{min-height:44px}.board-timer #timer-message{font-size:clamp(19px,2vw,28px);min-height:2.5em}.board-timer .timer-sound{font-size:16px;margin:16px auto}.board-timer .timer-time{font-size:clamp(54px,9vw,130px)}
.board-dual .board-timer{margin:0 auto}.board-dual .board-timer h1{font-size:27px;margin:8px 0}.board-dual .board-timer .timer-scene{gap:12px;margin:12px 0}.board-dual .board-timer .visual-clock{width:160px}.board-dual .board-timer .timer-scene>img{width:85px;height:120px}.board-dual .board-timer .timer-time{font-size:70px;width:100%;line-height:1.1}.board-dual .board-timer #timer-message{font-size:20px;min-height:0;margin:16px 0}.board-dual .board-timer-controls{gap:8px}.board-dual .board-timer-controls .btn{padding:10px 12px}

.password-wrap{display:flex;align-items:stretch;width:100%;gap:.25rem}.password-wrap input{flex:1;min-width:0}.password-eye{border:1px solid #85978f;border-radius:12px;background:#f4faf6;color:#164c39;padding:.5rem .8rem;cursor:pointer}.password-eye:focus-visible{outline:3px solid #13794d;outline-offset:2px}.alternative-login{border-top:1px solid #d6e1db;margin-top:1.3rem;padding-top:.8rem}.alternative-login .btn{margin:.25rem}.pupil-photo{width:64px;height:64px;object-fit:cover;border-radius:16px}img[hidden]{display:none!important}
.management-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.management-metric{padding:18px 22px;border-radius:22px;background:#e8f4ed;border:1px solid #ccdfd3;color:#254c3b}.management-metric strong{font-size:1.7rem;display:block}.management-metric:nth-child(2){background:#edf3f9;border-color:#d5e0ee;color:#2e4766}.management-metric:nth-child(3){background:#fff4e5;border-color:#e7d7bd;color:#705027}#manage-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}#manage-levels button{align-self:end}#manage-subject{display:flex;align-items:end;gap:12px}#manage-subject label{flex:1}
