/* A working calendar, with preparation alongside it. */
.student-dashboard{--planner-line:#e5ebf3;color:#132a4c}
.planner-contextline{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:#71809a;margin-bottom:23px;line-height:1.6}.planner-contextline a{color:#166ed6;white-space:nowrap}.planner-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.planner-calendar{position:relative;min-width:0}
.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-bottom:9px}.planner-month-controls,.planner-view-controls,.planner-view-controls>div{display:flex;align-items:center;gap:10px}.planner-toolbar button{background:white;color:#243f63;border:1px solid #dbe4f0;border-radius:8px;min-width:38px;height:38px;cursor:pointer;font-size:14px}.planner-month-controls>button{font-size:24px;line-height:1}.planner-month-controls input{width:176px;font-size:21px;font-weight:700;color:#192f50;border:0;background:none;padding:3px;min-height:38px;font-family:inherit;letter-spacing:-.5px}.planner-view-controls>button{font-size:12px;padding:0 12px}.planner-view-controls>div{padding:3px;background:#f2f5fa;gap:2px;border-radius:8px}.planner-view-controls>div button{border:0;background:none;font-size:12px;min-width:43px;height:32px}.planner-view-controls button[aria-pressed=true]{background:#1776ed;color:white;box-shadow:0 2px 5px #1267ce24}.planner-scope{font-size:11px;color:#7e8ba0;margin:0 0 12px}
.planner-month{border:1px solid var(--planner-line);border-radius:10px;overflow:hidden;background:#fff}.planner-weekdays,.planner-dates,.planner-lane,.planner-overflow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.planner-weekdays{background:#f8fafd;border-bottom:1px solid var(--planner-line)}.planner-weekdays span{text-align:center;font-size:12px;padding:12px;color:#62718b}.planner-weekdays span:first-child,.planner-dates>button:first-child{color:#e04a54}.planner-weekdays span:last-child,.planner-dates>button:last-child{color:#2472d7}.planner-week{min-height:103px;position:relative;padding-bottom:9px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100%/7 - 1px),#edf1f6 calc(100%/7 - 1px),#edf1f6 calc(100%/7))}.planner-week+.planner-week{border-top:1px solid var(--planner-line)}.planner-dates{min-height:35px}.planner-dates>*{padding:7px 11px 3px;text-align:left;background:none;border:0;font-size:12px;color:#213955;line-height:24px}.planner-dates>button{cursor:pointer;font-weight:650}.planner-dates>span{color:#a5b1c1}.planner-dates>button.is-today{background:#e9f3ff;color:#0862d4}.planner-dates>button:hover{background:#f0f6fe}.planner-lanes{display:grid;gap:4px}.planner-lane{padding:0 3px}
.planner-bar{border:0;border-left:3px solid color-mix(in srgb,var(--event-ink,#285daa),white 30%);background:var(--event-bg,#e5efff);color:var(--event-ink,#285daa);border-radius:4px;min-width:0;height:25px;cursor:pointer;text-align:left;padding:3px 6px;margin:0 2px;transition:filter .15s,box-shadow .15s}.planner-bar>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:19px}.planner-bar:hover{filter:brightness(.96);box-shadow:0 2px 5px #193e6317}.planner-bar.continues-before{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.planner-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.planner-overflow button{font-size:10px;color:#45658b;border:0;background:none;min-height:25px;cursor:pointer}
.planner-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:15px 2px;font-size:11px;color:#687e99}.planner-legend>span{display:flex;align-items:center;gap:6px}.planner-legend i{width:8px;height:8px;border-radius:50%;background:var(--event-ink,#458df6)}.planner-legend a{margin-left:auto;color:#4878b7}.planner-empty{border:1px solid #e1eaf6;background:#fffffff5;padding:22px 25px;border-radius:12px;position:absolute;top:190px;left:8%;right:8%;text-align:center;box-shadow:0 5px 28px #1d447709;z-index:1}.planner-empty strong{font-size:17px}.planner-empty p{font-size:12px;line-height:1.8;color:#69809e;margin:8px 0 15px}.planner-empty a{font-size:12px;color:#176ece}.planner-empty .button.primary{color:white}
.planner-agenda{min-height:300px;border:1px solid var(--planner-line);padding:0 24px;border-radius:10px}.planner-agenda:empty{min-height:510px}.planner-detail{padding:20px 0}.planner-detail+.planner-detail{border-top:1px solid var(--planner-line)}.planner-detail h3{font-size:17px;margin:8px 0 5px}.planner-detail p{font-size:12px;color:#627790;line-height:1.8}.planner-kind{display:inline-block;background:var(--event-bg,#eef4fc);color:var(--event-ink,#2767b9);font-size:11px;padding:2px 7px;border-radius:4px}.planner-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;margin:16px 0}.planner-detail dt{color:#8593a9;font-size:10px}.planner-detail dd{margin:4px 0 0;line-height:1.7}.planner-detail a{font-size:12px;color:#1b6ed0}.planner-warning{color:#a06b25!important}.planner-uncertain{display:block;font-size:12px;color:#976220;margin:10px 0}
.planner-preparation{border:1px solid #e4ebf6;border-radius:14px;padding:25px 23px;background:#fff;box-shadow:0 2px 20px #35619804}.planner-preparation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.planner-preparation-heading h2{font-size:23px;letter-spacing:-.7px}.planner-preparation-heading a{font-size:12px;color:#2478dd}.planner-preparation>p{font-size:13px;line-height:1.85;color:#72839c;margin:15px 0 18px}.planner-deadline{display:flex;flex-direction:column;gap:4px;background:#fff6f0;color:#b84923;padding:16px 17px;border-radius:9px;margin-bottom:24px}.planner-deadline>span{font-size:11px}.planner-deadline strong{font-size:20px;line-height:1.6;letter-spacing:-.5px}.planner-deadline.is-empty{background:#f4f8fd;color:#6981a2}.planner-deadline.is-empty strong{font-size:15px}.planner-task-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf1f6;padding:0 0 10px}.planner-task-heading h3{font-size:12px;font-weight:600;color:#536b89}.planner-task-heading>span{font-size:10px;color:#8595ab}
.planner-tasks{list-style:none;padding:0;margin:0}.planner-tasks li+li{border-top:1px solid #edf1f6}.planner-tasks li>a{display:flex;align-items:flex-start;gap:10px;padding:18px 0;transition:background .15s}.planner-tasks li>a:hover{background:#f8fbff}.planner-check{width:16px;height:16px;flex:0 0 16px;border:1.5px solid #c1cfe1;border-radius:4px;margin-top:4px}.planner-tasks li>a>span:nth-child(2){flex:1;min-width:0}.planner-tasks strong{font-size:12px;line-height:1.7;font-weight:650}.planner-tasks small{display:block;font-size:10px;font-weight:400;color:#8192ab;margin-top:4px;line-height:1.65}.planner-tasks time{font-size:11px;color:#617d9e;white-space:nowrap;padding-top:2px}.planner-tasks time.needs-check{color:#b66b30}.planner-tasks time small{font-size:9px}.planner-no-tasks{font-size:12px;line-height:1.9;color:#7b8da6;padding:23px 0}.site-ui .planner-all-tasks{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;font-size:12px;border-color:#cbd9eb;color:#295181;border-radius:7px;margin-top:16px;min-height:43px}.planner-all-tasks span{font-size:20px}
.planner-encouragement{position:relative;margin:29px 0 0;padding:0 0 0 27px}.planner-encouragement>span{position:absolute;left:-3px;top:-9px;font-size:50px;color:#ccdbef;font-family:Georgia,serif;line-height:1}.planner-encouragement p{font-size:13px;line-height:1.85;color:#526b8c}.planner-encouragement small{display:block;font-size:10px;color:#8496b0;margin-top:8px}.planner-footnote{font-size:11px;line-height:1.8;color:#8292a7;margin:22px 0 0}.planner-dialog{max-width:510px;width:calc(100% - 32px);max-height:80vh;overflow:auto;border:1px solid #dbe5f0;border-radius:15px;padding:26px;box-shadow:0 15px 65px #14335825;color:#1e3653}.planner-dialog::backdrop{background:#1d365c55;backdrop-filter:blur(3px)}.planner-dialog>form{float:right}.planner-dialog>form button{border:0;background:#f3f6fa;border-radius:50%;width:32px;height:32px;cursor:pointer}.planner-dialog h2{font-size:20px}.student-dashboard :is(button,a,input):focus-visible{outline:3px solid #83baff;outline-offset:3px}
@media(min-width:1600px){.planner-workspace{grid-template-columns:minmax(0,1fr) 350px;gap:34px}.planner-week{min-height:119px}.planner-bar{height:28px}.planner-bar>span{font-size:12px;line-height:22px}.planner-preparation{padding:28px}.planner-tasks strong{font-size:13px}}
@media(max-width:1150px) and (min-width:801px){.planner-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.planner-preparation{padding:20px 17px}.planner-toolbar{flex-wrap:wrap}.planner-month-controls input{width:152px;font-size:18px}.planner-tasks li>a{gap:8px}}
@media(max-width:800px){.planner-contextline{font-size:10px;align-items:flex-start;margin-bottom:20px}.planner-workspace{grid-template-columns:minmax(0,1fr);gap:23px}.planner-toolbar{gap:6px}.planner-month-controls{gap:4px}.planner-month-controls input{width:128px;font-size:16px}.planner-toolbar button{min-width:29px;height:34px}.planner-view-controls{gap:6px}.planner-view-controls>button{padding:0 8px;font-size:11px}.planner-view-controls>div button{min-width:32px;height:29px;font-size:11px}.planner-scope{font-size:10px}.planner-week{min-height:84px}.planner-weekdays span{padding:9px;font-size:10px}.planner-dates>*{padding:4px 7px 1px;font-size:11px}.planner-dates{min-height:31px}.planner-bar{height:23px;padding:2px 3px;margin:0 1px;border-left-width:2px}.planner-bar>span{font-size:9px}.planner-lanes{gap:3px}.planner-legend{font-size:10px;gap:8px 12px}.planner-preparation{padding:23px}.planner-preparation-heading h2{font-size:22px}.planner-preparation>p br{display:none}.planner-tasks strong{font-size:13px}.planner-tasks small{font-size:11px}.planner-empty{top:157px;padding:20px 14px;left:6%;right:6%}.planner-empty strong{font-size:15px}.planner-empty p{font-size:11px}.planner-footnote{font-size:10px}.planner-agenda{padding:0 18px}.planner-detail dl{gap:10px}.planner-encouragement{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.planner-bar,.planner-tasks li>a{transition:none!important}}
.planner-bar{display:flex;align-items:center;gap:6px}.planner-bar>span{flex:1;min-width:0;font-size:12px}.planner-bar>small{font-size:10px;white-space:nowrap;font-weight:450}.planner-tasks strong{font-size:13px}
@media(max-width:800px){.planner-bar>span{font-size:11px}.planner-bar>small{display:none}}
@media(max-width:370px){.planner-toolbar{flex-wrap:wrap}.planner-view-controls{margin-left:auto}}
