:root{color:#18302f;font-synthesis:none;background:#f4f1e8;font-family:Segoe UI,Arial,sans-serif}.notifications-header{justify-content:space-between;align-items:start;gap:30px;display:flex}.notifications-header h1{margin:0;font-size:clamp(34px,4vw,52px);font-weight:500}.notifications-header>span{color:#b14e2c;text-transform:uppercase;background:#fff0e8;border-radius:18px;padding:8px 12px;font-size:10px;font-weight:800}.notification-list{gap:10px;max-width:900px;display:grid}.notification-list>article{background:#fdfcf8;border:1px solid #dfddd5;border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 19px;display:grid;box-shadow:0 7px 20px #1f322f0a}.notification-list>article.unread{border-left:5px solid #d8623a}.notification-list>article.read{opacity:.68}.notification-icon{color:#fff;background:#173f3b;border-radius:11px;place-items:center;width:40px;height:40px;font:700 15px Georgia,serif;display:grid}.notification-meta{align-items:center;gap:8px;display:flex}.notification-meta b{font-size:10px}.notification-meta span{color:#6c7975;text-transform:uppercase;background:#eef2ec;border-radius:10px;padding:3px 6px;font-size:8px}.notification-list h2{margin:5px 0 2px;font-size:18px}.notification-list p,.notification-list small{color:#71807c;margin:0;font-size:10px}.notification-list small{margin-top:5px;font-size:8px;display:block}.notification-list button{color:#205c57;cursor:pointer;background:#edf5f2;border:1px solid #b9c8c4;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.read-label{color:#6f7d79;font-size:9px;font-weight:700}.notification-empty{text-align:center;color:#71807c;border:1px dashed #cfcec6;border-radius:14px;justify-items:center;padding:60px 20px;display:grid}.notification-empty>span{color:#4f8455;background:#e8f2e7;border-radius:50%;place-items:center;width:48px;height:48px;font-size:20px;display:grid}.notification-empty h2{margin:13px 0 3px}.notification-empty p{font-size:11px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}button{font:inherit}.app-shell{min-height:100vh}.auth-page{background:radial-gradient(circle at 12% 12%,#fffaf0 0,#0000 34%),#f4f1e8;grid-template-columns:minmax(320px,560px) minmax(280px,520px);justify-content:center;align-items:center;gap:clamp(34px,8vw,110px);max-width:none;min-height:100vh;padding:clamp(28px,7vw,90px);display:grid}.auth-card{background:#fdfcf8;border:1px solid #ddd9cf;border-radius:22px;padding:clamp(28px,5vw,52px);box-shadow:0 24px 70px #1f322f1a}.auth-brand{align-items:center;gap:12px;margin-bottom:54px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font:20px Georgia,serif}.auth-brand small{color:#71807c;font-size:11px}.auth-card h1{margin:0;font-size:clamp(34px,4vw,48px);font-weight:500;line-height:1.04}.auth-intro{color:#667572;max-width:440px;font-size:14px;line-height:1.65}.auth-form{gap:15px;margin:28px 0 13px;display:grid}.auth-form label{color:#65736f;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.auth-form input{color:#18302f;background:#fff;border:1px solid #d4d6cf;border-radius:9px;width:100%;margin-top:7px;padding:13px 14px;font:14px Segoe UI,sans-serif;display:block}.auth-form input:focus{outline-offset:1px;outline:2px solid #8eb5ae}.auth-form .primary{margin-top:5px}.auth-form .primary:disabled,.auth-link:disabled{opacity:.55;cursor:wait}.auth-link{color:#266965;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.auth-message{color:#a8492b;background:#fff0e8;border-radius:8px;padding:10px 12px;font-size:11px}.auth-footnote{color:#89928f;margin:28px 0 0;font-size:10px;line-height:1.5}.auth-aside h2{margin:0;font-size:clamp(32px,4vw,50px);font-weight:500;line-height:1.08}.auth-aside ul{color:#566864;gap:15px;margin:28px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.auth-aside li:before{content:"✓";color:#4f8455;background:#e4eee5;border-radius:50%;place-items:center;width:23px;height:23px;margin-right:10px;font-weight:800;display:inline-grid}.auth-status{text-align:center;place-items:center;min-height:220px;display:grid}.auth-spinner{border:3px solid #dce3df;border-top-color:#286b66;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#faf8f2e0;border-bottom:1px solid #d9d6cc;align-items:center;gap:32px;height:78px;padding:0 4vw;display:flex;position:sticky;top:0}.auth-menu{background:#f3f1ea;border:1px solid #ddd9cf;border-radius:11px;gap:5px;width:fit-content;margin:-25px 0 34px;padding:4px;display:flex}.auth-menu button{color:#70807c;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:750}.auth-menu button.active{color:#173f3b;background:#fff;box-shadow:0 2px 8px #1f322f1a}.brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{color:#fff;letter-spacing:-.03em;background:#173f3b;border-radius:12px;place-items:center;width:39px;height:39px;font-family:Georgia,serif;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:18px}.brand small{color:#71807c;font-size:11px}nav{align-self:stretch;margin-left:20px;display:flex}nav button{color:#71807c;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:600;display:flex}nav button.active{color:#173f3b;border-color:#d8623a}.nav-badge{color:#fff;background:#d8623a;border-radius:9px;place-items:center;min-width:17px;height:17px;font-size:8px;display:grid}.app-tools{align-items:center;gap:9px;margin-left:auto;display:flex}.sync-state{color:#71807c;font-size:12px}.sync-state i{background:#70a978;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.sync-state.offline i{background:#d8623a}.install-app{color:#173f3b;cursor:pointer;background:#fff;border:1px solid #b9c5c1;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.install-app:hover{background:#edf4f1;border-color:#286b66}.connection-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:5px 8px;font-size:9px;font-weight:700}.connection-pill.offline{color:#b14e2c;background:#fff0e8}.connection-pill.installed{color:#47744d;background:#e9f2e8}.sign-out{color:#6b7975;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}main{max-width:1440px;margin:0 auto;padding:46px 5vw 70px}.hero{justify-content:space-between;align-items:end;gap:36px;margin-bottom:32px;display:flex}.eyebrow{color:#d8623a;letter-spacing:.13em;margin:0 0 8px;font-size:11px;font-weight:700}h1,h2{letter-spacing:-.025em;font-family:Georgia,serif}.hero h1,.page-view>h1,.report-actions h1{max-width:760px;margin:0;font-size:clamp(34px,4vw,52px);font-weight:500;line-height:1.02}.hero>div>p:last-child,.page-intro{color:#667572;max-width:690px;font-size:15px;line-height:1.6}.primary{color:#fff;cursor:pointer;white-space:nowrap;background:#173f3b;border:0;border-radius:9px;padding:13px 18px;font-weight:600;box-shadow:0 4px 16px #173f3b26}.primary span{margin-left:13px}.action-center{color:#fff;background:#173f3b;border-radius:18px;margin:0 0 24px;padding:25px;box-shadow:0 14px 34px #173f3b24}.action-center-heading{justify-content:space-between;align-items:start;gap:24px;margin-bottom:16px;display:flex}.action-center-heading h2{margin:0;font-size:29px}.action-center-heading p:last-child{color:#b8cbc6;margin:7px 0 0;font-size:12px}.action-count{color:#d8e5e1;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;border:1px solid #ffffff38;border-radius:18px;padding:7px 11px;font-size:10px;font-weight:700}.action-stack{gap:8px;display:grid}.action-card{color:#18302f;background:#fdfcf8;border-left:4px solid #d7a64a;border-radius:11px;grid-template-columns:26px 31px minmax(210px,1fr) minmax(175px,.55fr) auto;align-items:center;gap:12px;padding:12px 13px;display:grid}.action-card.overdue,.action-card.urgent{border-left-color:#d8623a}.action-card.upcoming{border-left-color:#87a49d}.action-rank{color:#4c605c;background:#e9eeeb;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.action-copy>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.action-copy strong{font-size:12px}.action-copy span,.action-copy p{color:#7a8783;font-size:9px}.action-copy p{color:#b65434;margin:4px 0 0;font-weight:700}.action-schedule{border-left:1px solid #e2e3dc;padding-left:12px}.action-schedule small,.action-schedule strong,.action-schedule span{display:block}.action-schedule small{color:#8a9692;letter-spacing:.07em;font-size:8px;font-weight:800}.action-schedule strong{margin-top:3px;font-size:10px}.action-schedule span{color:#7a8783;margin-top:2px;font-size:8px}.action-schedule.at-risk strong{color:#bd4d2a}.action-buttons{gap:5px;display:flex}.action-buttons button{color:#4f605c;cursor:pointer;background:#fff;border:1px solid #d3d8d4;border-radius:7px;padding:7px 8px;font-size:8px;font-weight:800}.action-buttons button:hover{color:#205c57;border-color:#286b66}.action-buttons button.done{color:#47744d;background:#eaf3e8;border-color:#b8d0b7}.action-buttons button.help{color:#b14e2c;background:#fff0e8;border-color:#efc6b8}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.attendance-overview{background:#fdfcf8;border:1px solid #dfddd5;border-left:5px solid #d8623a;border-radius:16px;margin:0 0 20px;padding:22px 24px;box-shadow:0 10px 30px #1f322f0d}.attendance-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.attendance-heading h2{margin:0;font-size:25px}.attendance-heading p:last-child{color:#71807c;margin:6px 0 0;font-size:11px}.attendance-count{color:#47744d;text-transform:uppercase;white-space:nowrap;background:#e9f2e8;border-radius:18px;padding:7px 10px;font-size:9px;font-weight:800}.attendance-count.warn{color:#b14e2c;background:#fff0e8}.attendance-students{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;display:grid}.attendance-students article{border:1px solid #ebe8df;border-top:3px solid var(--student-color);background:#fff;border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.attendance-avatar{background:var(--student-color);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:9px;font-weight:800;display:grid}.attendance-students strong,.attendance-students small{display:block}.attendance-students strong{font-size:12px}.attendance-students small{color:#7b8884;margin-top:3px;font-size:9px}.attendance-students b{color:#b14e2c;font:22px Georgia,serif}.attendance-empty{color:#7d8783;background:#f3f1e9;border-radius:8px;margin:13px 0 0;padding:9px 11px;font-size:9px;line-height:1.5}.student-card,.panel{background:#fdfcf8;border:1px solid #dfddd5;border-radius:18px;box-shadow:0 10px 30px #1f322f0d}.student-card{border-top:3px solid var(--student-color);padding:24px}.student-heading{align-items:center;gap:12px;display:flex}.avatar{color:#fff;background:var(--student-color);border-radius:50%;place-items:center;width:43px;height:43px;font-size:12px;font-weight:700;display:grid}.student-heading h2{margin:0;font-size:25px}.student-heading p{color:#798581;margin:1px 0 0;font-size:12px}.status-pill{color:#47744d;text-transform:uppercase;letter-spacing:.06em;background:#e9f2e8;border-radius:20px;margin-left:auto;padding:6px 9px;font-size:10px;font-weight:700}.status-pill.warn{color:#b14e2c;background:#fff0e8}.metrics{border-top:1px solid #ece9e1;border-bottom:1px solid #ece9e1;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 18px;padding:20px 0;display:grid}.metrics div{border-left:2px solid color-mix(in srgb, var(--student-color) 35%, white);padding-left:12px}.metrics span,.metrics strong{display:block}.metrics span{color:#8a928f;letter-spacing:.06em;font-size:9px;font-weight:700}.metrics strong{margin-top:3px;font-family:Georgia,serif;font-size:23px}.student-card h3{text-transform:uppercase;letter-spacing:.1em;color:#63716e;margin:0 0 10px;font-size:11px}.assignment{border-top:1px solid #efede7;grid-template-columns:8px 1fr auto;align-items:center;gap:11px;min-height:52px;display:grid}.assignment:first-child{border-top:0}.urgency-dot{background:#acb6b2;border-radius:50%;width:7px;height:7px}.urgency-dot.overdue,.urgency-dot.urgent{background:#d8623a}.urgency-dot.plan{background:#e7a844}.assignment strong,.assignment small,.assignment-link{display:block}.assignment strong,.assignment-link{font-size:12px;font-weight:700}.assignment-link{color:#173f3b;text-underline-offset:2px;text-decoration-color:#b8c4c0}.assignment-link:hover{color:#d8623a}.assignment small{color:#87918e;margin-top:3px;font-size:10px}.due{color:#6e7b77;font-size:10px}.due.overdue,.due.urgent{color:#c34f2a;font-weight:700}.workflow-panel{background:#fdfcf8;border:1px solid #dfddd5;border-radius:18px;margin-top:20px;padding:24px;box-shadow:0 10px 30px #1f322f0d}.workflow-panel .section-title>small{color:#87918e;font-size:10px}.workflow-list{margin-top:8px}.workflow-row{border-top:1px solid #efede7;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.workflow-row:first-child{border-top:0}.workflow-row.completed{opacity:.66}.workflow-row.needs_help{background:#fff8f2;border-radius:10px;margin:0 -10px;padding-left:10px;padding-right:10px}.workflow-avatar{color:#fff;border-radius:50%;place-items:center;width:31px;height:31px;font-size:9px;font-weight:700;display:grid}.workflow-copy small,.workflow-copy em{display:block}.workflow-title{align-items:center;gap:8px;display:flex}.workflow-title a,.workflow-title strong{color:#173f3b;font-size:12px;font-weight:700}.workflow-title span{color:#62716d;text-transform:uppercase;letter-spacing:.04em;background:#eef2ec;border-radius:10px;padding:3px 6px;font-size:8px}.workflow-copy small{color:#87918e;margin-top:3px;font-size:10px}.workflow-copy em{color:#b45a35;margin-top:4px;font-size:9px;font-style:normal}.workflow-actions{gap:6px;display:flex}.workflow-actions button{color:#64716e;cursor:pointer;background:#fff;border:1px solid #d8d8d0;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:700}.workflow-actions button:hover,.workflow-actions button.active{color:#205c57;background:#e9f2ef;border-color:#286b66}.workflow-actions button.done{color:#47744d;background:#e9f2e8;border-color:#4d8754}.workflow-actions button.help{color:#b14e2c;background:#fff0e8;border-color:#d8623a}.two-column{grid-template-columns:1.4fr 1fr;gap:20px;margin-top:20px;display:grid}.panel{padding:24px}.section-title{justify-content:space-between;align-items:start;display:flex}.section-title h2,.alerts h2{margin:0 0 16px;font-size:25px}.section-title button{color:#266965;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}.session{border-top:1px solid #efede7;grid-template-columns:38px 3px 1fr auto;align-items:center;gap:13px;padding:11px 0;display:grid}.session .time{color:#7f8a86;font-size:10px}.session-line{border-radius:4px;height:32px}.session strong,.session small{display:block}.session strong{font-size:12px}.session small{color:#8a9390;margin-top:2px;font-size:10px}.session b{color:#586966;font-size:10px}.alert-row{border-top:1px solid #efede7;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.alert-row>span{background:#eef2ec;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.alert-row strong,.alert-row small{display:block}.alert-row strong{font-size:12px}.alert-row small{color:#8a9390;font-size:10px}.alert-row b{color:#4d8754;font-size:9px}.alert-row b.alert-now{color:#b14e2c}.alert-row b.preview-only{color:#8b6a2b}.privacy-note{color:#7d8783;background:#f3f1e9;border-radius:8px;margin:10px 0 0;padding:9px 11px;font-size:9px;line-height:1.5}.page-view{min-height:70vh}.page-intro{margin-bottom:30px}.week-grid{grid-template-columns:repeat(7,1fr);align-items:stretch;gap:10px;display:grid}.day{background:#ffffff94;border:1px solid #dedbd1;border-radius:13px;min-height:390px;overflow:hidden}.day header{text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e3e0d7;justify-content:space-between;align-items:center;padding:14px;font-size:10px;display:flex}.day header span{color:#fff;background:#173f3b;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.day-session{background:#fff;border-left:3px solid;border-radius:3px 8px 8px 3px;margin:12px 9px;padding:8px 8px 8px 10px;box-shadow:0 2px 7px #0000000a}.day-session small,.day-session strong,.day-session span{display:block}.day-session small{color:#74817e;text-transform:uppercase;font-size:8px}.day-session strong{margin:4px 0;font-size:10px;line-height:1.35}.day-session span{color:#909895;font-size:8px}.rest{text-align:center;color:#a4aaa7;padding-top:80px;font-size:10px}.schedule-key{color:#6f7c78;gap:20px;margin-top:16px;font-size:11px;display:flex}.schedule-key span{align-items:center;gap:6px;display:flex}.schedule-key i{border-radius:50%;width:8px;height:8px}.schedule-key .open-key{background:0 0;border:1px solid #aab0ad}.weekend-picker{grid-template-columns:1.2fr repeat(2,1fr);align-items:stretch;gap:14px;margin:24px 0;display:grid}.weekend-picker>div{padding:17px 4px}.weekend-picker h2{margin:0;font-size:24px}.weekend-picker fieldset{border:1px solid #dedbd1;border-top:3px solid var(--student-color);background:#fdfcf8;border-radius:12px;gap:12px;padding:14px;display:flex}.weekend-picker legend{padding:0 6px;font-size:12px;font-weight:700}.weekend-picker legend span{color:#fff;background:var(--student-color);border-radius:50%;place-items:center;width:25px;height:25px;margin-right:7px;font-size:8px;display:inline-grid}.weekend-picker label{color:#74817e;text-transform:uppercase;letter-spacing:.06em;flex:1;font-size:9px;font-weight:700}.weekend-picker input{color:#18302f;background:#fff;border:1px solid #d8d7d0;border-radius:7px;width:100%;margin-top:6px;padding:8px;font:600 12px DM Sans,sans-serif;display:block}.report-actions{justify-content:space-between;align-items:end;gap:30px;display:flex}.report-paper{background:#fff;border-radius:3px;max-width:940px;margin:35px auto;padding:38px 46px;box-shadow:0 20px 60px #282d2a1f}.report-paper>header{border-bottom:2px solid #173f3b;justify-content:space-between;align-items:start;padding-bottom:24px;display:flex}.report-paper>header>div{align-items:center;gap:10px;display:flex}.report-paper header strong,.report-paper header small{display:block}.report-paper header strong{font-family:Newsreader,serif;font-size:20px}.report-paper header small,.report-paper header p{color:#74807d;font-size:10px}.report-summary{background:#f5f3ed;border-radius:9px;grid-template-columns:repeat(3,1fr);margin:24px 0;padding:18px;display:grid}.report-summary div{text-align:center;border-left:1px solid #d9d7cf}.report-summary div:first-child{border:0}.report-summary strong,.report-summary span{display:block}.report-summary strong{font-family:Newsreader,serif;font-size:28px}.report-summary span{color:#78827f;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.report-student{border-top:1px solid #e2e0d9;padding:24px 0}.report-student h2{align-items:center;gap:9px;margin:0 0 16px;display:flex}.report-student h2 span{color:#fff;border-radius:50%;place-items:center;width:29px;height:29px;font:700 9px DM Sans;display:grid}.report-columns{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.report-columns h3{color:#d8623a;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.report-columns p{color:#53635f;font-size:11px}.report-paper footer{text-align:center;color:#9da4a1;border-top:1px solid #e2e0d9;padding-top:15px;font-size:8px}.empty{color:#89938f;font-size:12px}.action-buttons button.clear,.workflow-actions button.clear{color:#6c7774;background:#f2f1ed;border-color:#d8d8d0}.today-header{justify-content:space-between;align-items:end;gap:30px;display:flex}.today-header h1{margin:0;font-size:clamp(34px,4vw,52px);font-weight:500;line-height:1.02}.student-switcher{background:#ffffff94;border:1px solid #ddd9cf;border-radius:14px;gap:8px;padding:5px;display:flex}.student-switcher button{color:#6d7976;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.student-switcher button.active{color:#173f3b;background:#fff;box-shadow:0 3px 10px #1f322f17}.student-switcher span{color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:8px;display:grid}.next-block{color:#fff;border-left:6px solid var(--student-color);background:#173f3b;border-radius:17px;justify-content:space-between;align-items:center;gap:25px;margin:22px 0;padding:25px 28px;display:flex;box-shadow:0 14px 34px #173f3b24}.next-block .eyebrow{color:#efb05b}.next-block h2{margin:0;font-size:27px}.next-block p:last-child{color:#bdd0cb;margin:5px 0 0;font-size:12px}.next-block-time{text-align:right;border-left:1px solid #ffffff38;min-width:155px;padding-left:24px}.next-block-time strong,.next-block-time span{display:block}.next-block-time strong{font-size:12px}.next-block-time span{color:#f4c477;margin-top:4px;font:26px Georgia,serif}.next-block.empty-block{background:#526965}.today-layout{grid-template-columns:minmax(0,1.65fr) minmax(270px,.7fr);align-items:start;gap:20px;display:grid}.today-work,.schedule-risk-panel{background:#fdfcf8;border:1px solid #dfddd5;border-radius:17px;padding:24px;box-shadow:0 10px 30px #1f322f0d}.today-section-title{justify-content:space-between;align-items:start;gap:18px;display:flex}.today-section-title h2,.schedule-risk-panel h2{margin:0;font-size:26px}.today-section-title>span{color:#57706b;white-space:nowrap;text-transform:uppercase;background:#edf2ee;border-radius:14px;padding:6px 9px;font-size:9px;font-weight:800}.today-task{border-top:1px solid #ece9e1;padding:17px 0}.today-task:first-child{margin-top:12px}.today-task-copy{grid-template-columns:8px 1fr;align-items:start;gap:11px;display:grid}.today-task-copy .urgency-dot{margin-top:5px}.today-task-copy strong,.today-task-copy a{color:#173f3b;font-size:14px;font-weight:750}.today-task-copy small{color:#7b8884;margin-top:3px;font-size:10px;display:block}.today-task-copy p{color:#b55837;margin:6px 0 0;font-size:10px;font-weight:700}.today-actions{flex-wrap:wrap;gap:6px;margin:12px 0 0 19px;display:flex}.today-actions button,.reschedule-form>button,.risk-list button{color:#52635f;cursor:pointer;background:#fff;border:1px solid #d4d9d5;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:800}.today-actions .done{color:#47744d;background:#eaf3e8;border-color:#b8d0b7}.today-actions .help{color:#b14e2c;background:#fff0e8;border-color:#efc6b8}.today-actions .reschedule{color:#266965;border-color:#b9c8c4;margin-left:auto}.today-empty{color:#71807c;text-align:center;justify-items:center;padding:50px 20px 35px;display:grid}.today-empty>span{color:#4f8455;background:#e8f2e7;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:13px;font-size:24px;display:grid}.today-empty p{margin:5px 0;font-size:11px}.reschedule-form{background:#f2f3ee;border-radius:10px;flex-wrap:wrap;align-items:end;gap:8px;margin:13px 0 0 19px;padding:12px;display:flex}.reschedule-form label{color:#6e7b77;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:800}.reschedule-form input{color:#18302f;background:#fff;border:1px solid #d4d6cf;border-radius:7px;margin-top:4px;padding:7px;font-size:11px;display:block}.reschedule-form .primary{color:#fff;padding:8px 11px}.reschedule-form .primary:disabled{opacity:.45;cursor:not-allowed}.schedule-risk-panel{border-top:4px solid #8aa59f}.schedule-risk-panel.has-risk{border-top-color:#d8623a}.schedule-risk-panel>p:nth-of-type(2){color:#6d7b77;font-size:11px;line-height:1.55}.risk-list>div{border-top:1px solid #ece9e1;padding:13px 0}.risk-list strong,.risk-list span{display:block}.risk-list strong{font-size:11px}.risk-list span{color:#b34f31;margin:4px 0 9px;font-size:9px;line-height:1.4}.risk-list button{padding:6px 8px}.reschedule-form.compact{margin-left:0;padding:9px}.reschedule-form.compact label{flex:1}.reschedule-form.compact input{width:100%}.action-buttons .open-plan{color:#205c57;background:#edf5f2;border-color:#b9c8c4;min-width:82px}.repair-success{color:#365f3b;background:#eaf3e8;border:1px solid #b8d0b7;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:13px 16px;display:flex}.repair-success strong,.repair-success span{display:block}.repair-success strong{font-size:12px}.repair-success span{margin-top:3px;font-size:9px}.repair-success button{color:#47744d;cursor:pointer;background:#fff;border:1px solid #9fbea0;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:800}.repair-backdrop{z-index:40;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102321a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.repair-dialog{background:#fdfcf8;border-radius:19px;width:min(920px,100%);max-height:calc(100vh - 48px);padding:28px;overflow:auto;box-shadow:0 30px 90px #091c1a59}.repair-dialog>header{border-bottom:1px solid #e4e1d8;justify-content:space-between;align-items:start;gap:24px;padding-bottom:20px;display:flex}.repair-dialog h2{margin:0;font-size:30px}.repair-dialog header p:last-child{color:#687773;margin:7px 0 0;font-size:12px;line-height:1.5}.repair-close{color:#62716d;cursor:pointer;background:#fff;border:1px solid #d6d8d1;border-radius:50%;place-items:center;min-width:34px;height:34px;font-size:21px;display:grid}.repair-options{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.repair-options>button{color:#18302f;text-align:left;cursor:pointer;background:#fff;border:1px solid #dddcd4;border-radius:13px;min-height:145px;padding:16px}.repair-options>button:hover,.repair-options>button.active{border-color:#2f746e;box-shadow:inset 0 0 0 1px #2f746e}.repair-options span,.repair-options strong,.repair-options small{display:block}.repair-options span{color:#d8623a;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.repair-options strong{margin-top:8px;font:20px/1.15 Georgia,serif}.repair-options small{color:#72807c;margin-top:8px;font-size:10px;line-height:1.5}.repair-preview{background:#eef2ed;border-radius:14px;padding:20px}.before-after{grid-template-columns:1fr 26px 1fr;align-items:center;gap:13px;display:grid}.before-after>div{background:#fff;border-radius:10px;min-height:78px;padding:13px}.before-after>span{color:#d8623a;text-align:center;font-size:21px}.before-after small,.before-after strong{display:block}.before-after small{color:#8a9692;letter-spacing:.08em;font-size:8px}.before-after strong{margin-top:6px;font-size:11px;line-height:1.45}.repair-block-preview{border-left:4px solid var(--student-color);background:#fff;border-radius:4px 10px 10px 4px;grid-template-columns:88px 150px 1fr;align-items:center;gap:12px;margin-top:11px;padding:12px 14px;display:grid}.repair-block-preview span,.repair-block-preview small{color:#72807c;font-size:9px}.repair-block-preview strong{font-size:11px}.guardian-approval{color:#5e6c68;align-items:center;gap:9px;margin-top:14px;font-size:10px;font-weight:700;display:flex}.guardian-approval input{accent-color:#286b66;width:16px;height:16px}.apply-repair{margin:15px 0 0 auto;display:block}.apply-repair:disabled{opacity:.45;cursor:not-allowed}.repair-placeholder{color:#75827e;text-align:center;border:1px dashed #cfcec6;border-radius:13px;justify-items:center;gap:5px;padding:30px;display:grid}.repair-placeholder strong{font-size:12px}.repair-placeholder span{font-size:9px}.repair-dialog{position:relative}.repair-dialog>header{padding-right:42px}.repair-close{position:absolute;top:22px;right:22px}.repair-options>button{align-content:start;gap:7px;display:grid}.repair-options span,.repair-options strong,.repair-options small{margin:0}.repair-block-preview span,.repair-block-preview strong,.repair-block-preview small{display:block}@media (width<=1000px){.week-grid{grid-template-columns:repeat(4,1fr)}.day{min-height:280px}.sync-state{display:none}.action-card{grid-template-columns:26px 31px minmax(180px,1fr) auto}.action-schedule{border-left:0;grid-column:3;padding-left:0}.action-buttons{grid-area:1/4/span 2}}@media (width<=760px){.auth-page{grid-template-columns:1fr;align-items:start;padding:20px}.auth-card{padding:27px 22px}.auth-brand{margin-bottom:38px}.auth-aside{display:none}.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:12px 4vw 0}.brand{margin-right:auto}.app-tools{margin-left:0}.topbar nav{order:3;justify-content:space-around;width:100%;height:44px;margin:0;overflow-x:auto}.topbar nav button{white-space:nowrap;padding:0 5px;font-size:10px}.hero,.report-actions,.today-header{flex-direction:column;align-items:start}.student-switcher{width:100%}.student-switcher button{flex:1;justify-content:center}.next-block{flex-direction:column;align-items:start}.next-block-time{text-align:left;border-top:1px solid #ffffff38;border-left:0;width:100%;padding:13px 0 0}.today-layout{grid-template-columns:1fr}.today-actions .reschedule,.reschedule-form{margin-left:0}.repair-backdrop{align-items:end;padding:0}.repair-dialog{border-radius:19px 19px 0 0;max-height:92vh;padding:21px 17px}.repair-dialog h2{font-size:25px}.repair-options{grid-template-columns:1fr}.repair-options>button{min-height:0}.before-after{grid-template-columns:1fr}.before-after>span{transform:rotate(90deg)}.repair-block-preview{grid-template-columns:1fr}.apply-repair{width:100%}.action-center{padding:18px 14px}.action-center-heading h2{font-size:24px}.action-count{display:none}.action-card{grid-template-columns:24px 31px minmax(0,1fr)}.action-copy,.action-schedule{grid-column:3}.action-buttons{grid-area:auto/1/auto/-1;padding-left:67px}.action-buttons button{flex:1}.student-grid,.two-column,.weekend-picker{grid-template-columns:1fr}.workflow-row{grid-template-columns:31px minmax(0,1fr)}.workflow-actions{grid-column:1/-1;padding-left:43px}.week-grid{grid-template-columns:repeat(2,1fr)}.report-paper{padding:24px 20px}.report-columns{grid-template-columns:1fr;gap:5px}}@media print{.topbar,.report-actions .primary,.page-intro{display:none!important}body,:root{background:#fff}.page-view{min-height:0}.report-paper{box-shadow:none;max-width:none;margin:0;padding:0}main{padding:0}}
