/* schedule.css — the weekly schedule editor (Lärarens verktyg → Veckoschema, or the calendar button on the Schema widget) and the day strip */
.sch-ed{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.4rem 1.2rem;min-height:100%;box-sizing:border-box;background:linear-gradient(180deg,#fffaf0 0%,#f3fbfb 100%);border-radius:1.4rem;overflow:auto}
.sch-top{display:flex;align-items:flex-end;gap:.9rem}
.sch-animal{width:5.5rem;height:auto;flex-shrink:0;animation:lb-xp-sway 3s ease-in-out infinite;transform-origin:50% 100%}
.sch-bubble{position:relative;flex:1;padding:.9rem 1.2rem;border-radius:1.4rem;background:#fff;box-shadow:0 .3rem 1rem rgba(0,0,0,.1);font-size:1.3rem;font-weight:800;line-height:1.25;color:var(--font)}
.sch-ed:not(.sch-ed--plain) .sch-bubble::before{content:"";position:absolute;left:-.55rem;bottom:1.2rem;border:.6rem solid transparent;border-right-color:#fff;border-left:0}
.sch-days{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch}
.sch-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:5.6rem;padding:.7rem 1rem;border:0;border-radius:1.2rem;background:#fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.1);font-family:inherit;color:var(--font);cursor:pointer;transition:transform .15s,box-shadow .15s}
.sch-day b{font-size:1.35rem;font-weight:800}
.sch-day span{font-size:.8rem;font-weight:700;color:var(--font-sub)}
.sch-day:hover{transform:translateY(-.15rem);box-shadow:0 .4rem 1.1rem rgba(57,176,187,.3)}
.sch-day.is-on{background:var(--main);color:#fff}.sch-day.is-on span{color:#fff;opacity:.85}
.sch-day.is-today{box-shadow:0 0 0 .2rem #f4a321,0 .2rem .8rem rgba(0,0,0,.1)}
.sch-weekend{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .9rem;border:.12rem dashed #b8c7c9;border-radius:1.2rem;background:transparent;font:inherit;font-weight:700;color:var(--font-sub);cursor:pointer}
.sch-day-h{display:flex;align-items:center;gap:.8rem;font-size:1.6rem;font-weight:800;color:var(--font)}
.sch-today{padding:.15rem .7rem;border-radius:999px;background:#fff3d6;color:#a96a00;font-size:.85rem}
.sch-rows{display:flex;flex-direction:column;gap:.7rem}
.sch-row{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:1.3rem;background:#fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.09);animation:lb-xp-in .35s ease-out backwards;animation-delay:calc(var(--i)*.04s)}
.sch-times{display:flex;align-items:center;gap:.4rem;flex-shrink:0;color:var(--font-sub);font-weight:800}
.sch-times input{height:2.8rem;padding:0 .5rem;border:.15rem solid #cdd9db;border-radius:.9rem;font:inherit;font-size:1.15rem;font-weight:800;color:var(--font);background:#f8fbfb}
.sch-times input:focus,.sch-title:focus{border-color:var(--main);outline:none}
.sch-title{flex:1;min-width:0;height:2.8rem;padding:0 .9rem;border:.15rem solid #cdd9db;border-radius:.9rem;font:inherit;font-size:1.3rem;font-weight:800;color:var(--font)}
.sch-pic{flex-shrink:0;width:3.2rem;height:3.2rem;padding:0;border:.15rem dashed #cdd9db;border-radius:1rem;background:#fff;display:grid;place-items:center;overflow:hidden;color:var(--main);cursor:pointer}
.sch-pic img{width:100%;height:100%;object-fit:cover}
.sch-pic:hover{border-color:var(--main)}
.sch-mv{display:flex;flex-direction:column}
.sch-mv button,.sch-del{border:0;background:none;color:var(--font-sub);cursor:pointer;padding:0;line-height:1}
.sch-mv button:disabled{opacity:.25;cursor:default}
.sch-del{padding:.3rem;border-radius:50%}.sch-del:hover{background:#fdecea;color:#c8473f}
.sch-empty{padding:2rem 1rem;text-align:center;font-size:1.2rem;font-weight:700;color:var(--font-sub)}
.sch-acts{display:flex;gap:.6rem;flex-wrap:wrap}
.sch-acts .btn{height:3rem;padding:0 1.3rem;border-radius:999px;font-size:1rem;font-weight:800}
.sch-panel{padding:1rem 1.2rem;border-radius:1.3rem;background:#fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.09);display:flex;flex-direction:column;gap:.6rem}
.sch-quick-f,.sch-copy-f{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end}
.sch-quick-f label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:800;color:var(--font-sub)}
.sch-quick-f input{height:2.6rem;width:6.5rem;padding:0 .5rem;border:.15rem solid #cdd9db;border-radius:.9rem;font:inherit;font-size:1.1rem;font-weight:800}
.sch-cp{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;background:#f1f6f6;font-weight:800;cursor:pointer}
.sch-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.4rem;color:var(--font-sub);font-size:.9rem;font-weight:700}
.sch-saved{display:inline-flex;align-items:center;gap:.3rem;color:#2f9e5b}
.sch-same{border:0;background:none;font:inherit;font-weight:700;color:var(--font-sub);text-decoration:underline;cursor:pointer}
.sch-modal{width:min(60rem,calc(100vw - 2rem));height:min(46rem,calc(100vh - 3rem));display:flex;flex-direction:column}
.sch-modal-body{flex:1;min-height:0;overflow:auto}
@media (prefers-reduced-motion:reduce){.sch-animal,.sch-row{animation:none}}

/* the day strip in the Schema widget (a weekly one) */
.ag-days{display:flex;gap:.25rem;flex-wrap:wrap;padding:0 0 .35rem}
.ag-day{padding:.15rem .6rem;border:0;border-radius:999px;background:rgba(0,0,0,.06);font:inherit;font-size:clamp(.7rem,3.2cqw,.95rem);font-weight:700;color:var(--font);cursor:pointer}
.ag-day.is-on{background:var(--main);color:#fff}
.ag-day.is-today:not(.is-on){box-shadow:inset 0 0 0 .12rem #f4a321}
body.student-mode .ag-days .ag-day{pointer-events:auto}

/* my saved schedules */
.sch-linked{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:1rem;background:#e7f3ff;color:#2a5f9e;font-weight:700}
.sch-unlink{margin-left:auto;border:0;background:none;font:inherit;font-weight:800;color:#2a5f9e;text-decoration:underline;cursor:pointer}
.sch-mine-l{display:flex;flex-direction:column;gap:.4rem}
.sch-mine-r{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:.9rem;background:#f1f6f6}
.sch-mine-hint{margin:.5rem 0 0;font-size:.8rem;line-height:1.4;color:var(--font-sub)}
.sch-mine-n{flex:1;min-width:0;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sch-mine-r .btn{height:2.3rem;padding:0 1rem;border-radius:999px;font-weight:800}
.sch-save-f{display:flex;gap:.5rem;align-items:center;margin-top:.3rem}
.sch-save-f input{flex:1;height:2.6rem;padding:0 .9rem;border:.15rem solid #cdd9db;border-radius:.9rem;font:inherit;font-size:1.05rem;font-weight:700}
.sch-save-f .btn{height:2.6rem;padding:0 1.1rem;border-radius:999px;font-weight:800}
.sch-wait{color:var(--font-sub);font-weight:700}

/* the clocks' "open the schedule" button when they have no times to show */
.lc-open-sched,.pc-open-sched{margin-top:.5rem;height:2.4rem;padding:0 1rem;border-radius:999px;background:var(--main);color:#fff;font-weight:800;font-size:.9rem}
.lc-open-sched .material-icons-outlined,.pc-open-sched .material-icons-outlined{font-size:1.2rem;margin-right:.3rem}
