/* Phase 2: Daymark token foundation and navigation mark. */
.daymark-mark{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;background:transparent!important;box-shadow:none!important;border-radius:0!important}.brand .daymark-mark{width:20px;height:20px}.daymark-mark-svg{display:block}.daymark-mark-line{stroke:var(--line)}.daymark-mark-fill{stroke:var(--warn);fill:var(--warn)}
body{background:var(--ink)!important;color:var(--text)!important;font-family:var(--font-ui)!important}.data,.time,.course-code,.eyebrow,.countdown,.card-kicker,.grade-row b,.grade-summary strong,.owner-stats strong{font-family:var(--font-data)!important;font-variant-numeric:tabular-nums}.eyebrow{color:var(--faint)!important;letter-spacing:.09em!important}.topbar h1,.page-header h1{letter-spacing:-.035em!important;color:var(--text)!important}.topbar h1{max-width:580px}.topbar{padding-bottom:var(--space-6);border-bottom:1px solid var(--line);margin-bottom:var(--space-6)!important}.quick-add{background:var(--action)!important;color:var(--ink)!important;border-radius:var(--radius-control)!important;box-shadow:none!important}.quick-add:hover{background:var(--action)!important;filter:brightness(1.08)}

/* Daymark dark interface refresh — intentional high-priority theme layer */
/* Keep an empty-state overview balanced after its secondary panel is removed. */
#overview .dashboard-grid:not(:has(.right-column)){grid-template-columns:minmax(0,960px)!important;justify-content:center!important;max-width:100%!important}
/* Focus mode */
.focus-modal{max-width:540px}.focus-modal h2{margin-top:4px!important}.focus-timer-card{margin:22px 0 25px;padding:22px;border:1px solid rgba(143,157,255,.22);border-radius:16px;background:radial-gradient(circle at 50% 0,rgba(125,140,255,.19),transparent 56%),rgba(7,14,27,.62);text-align:center}.focus-timer-card>p{margin:0 0 8px!important;color:#aebaff!important;font-size:11px!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase}.focus-timer{display:block;color:#f4f7ff;font-size:58px;line-height:1;font-weight:800;letter-spacing:-3px;font-variant-numeric:tabular-nums}.focus-presets{display:flex;justify-content:center;gap:7px;margin:20px 0}.focus-preset,.focus-method{border:1px solid rgba(148,163,184,.17);background:rgba(148,163,184,.055);border-radius:9px;color:#aeb9ce;font:inherit;cursor:pointer}.focus-preset{padding:8px 11px;font-size:11px;font-weight:700}.focus-preset:hover,.focus-method:hover{border-color:rgba(154,166,255,.45);color:#eef1ff}.focus-preset.active,.focus-method.active{background:rgba(124,140,255,.2);border-color:rgba(152,164,255,.5);color:#eef1ff;box-shadow:0 7px 20px rgba(72,85,201,.14)}.focus-controls{display:flex;justify-content:center;gap:9px}.focus-controls .quick-add{min-width:142px}.focus-methods h3{font-size:14px;margin:0 0 4px;color:#eef2ff}.focus-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.focus-method{min-height:58px;padding:10px;text-align:left}.focus-method strong{display:block;font-size:11px}.focus-method-detail{display:grid;gap:4px;margin-top:12px;padding:12px;border-left:2px solid #8f9dff;background:rgba(148,163,184,.05);border-radius:0 9px 9px 0;color:#96a5bd;font-size:11px;line-height:1.45}.focus-method-detail strong{color:#e7ebff;font-size:11px}@media(max-width:560px){.focus-timer{font-size:50px}.focus-method-grid{grid-template-columns:1fr}.focus-controls .outline-button{display:block}}
html{background:#080d18!important}body{background:radial-gradient(900px 520px at 76% -8%,rgba(86,104,255,.14),transparent 60%),radial-gradient(700px 480px at 18% 105%,rgba(45,203,165,.08),transparent 65%),#080d18!important;color:#f4f7ff!important;font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,sans-serif!important}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background-image:linear-gradient(rgba(148,163,184,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 70%)}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 14px;transform:translateY(-160%);border-radius:8px;background:var(--accent);color:var(--accent-foreground);font-weight:750;text-decoration:none;transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.app-shell{position:relative}.sidebar{width:264px!important;background:rgba(10,17,29,.84)!important;border-right-color:rgba(148,163,184,.13)!important;backdrop-filter:blur(18px)}.brand{letter-spacing:-1px!important}.brand-mark{background:linear-gradient(145deg,#9aa6ff,#6574f8 58%,#4e59d6)!important;box-shadow:0 8px 18px rgba(103,116,248,.3)!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-weight:800!important}.term-switcher{background:rgba(148,163,184,.065)!important;border:1px solid rgba(148,163,184,.1)!important;border-radius:10px!important;color:#c7d2e5!important}.nav-label{color:#5e6d86!important}.nav-item{color:#91a0b9!important;border:1px solid transparent!important;border-radius:10px!important}.nav-icon{color:#8897b3!important}.nav-item:hover{background:rgba(148,163,184,.075)!important;border-color:rgba(148,163,184,.08)!important;color:#f4f7ff!important}.nav-item.active{background:linear-gradient(100deg,rgba(121,137,255,.26),rgba(97,114,236,.12))!important;border-color:rgba(143,157,255,.24)!important;box-shadow:inset 3px 0 #95a1ff!important;color:#fff!important}.focus-card{background:linear-gradient(145deg,rgba(124,140,255,.15),rgba(69,214,166,.06))!important;border:1px solid rgba(137,151,255,.17)!important}.focus-icon{background:rgba(255,255,255,.09)!important;color:#aeb7ff!important}.focus-card strong,.profile strong{color:#e9edff!important}.profile:hover{background:rgba(148,163,184,.06)!important}.profile small,.more{color:#74829b!important}.avatar{background:linear-gradient(145deg,#283d75,#202c53)!important;color:#bfc8ff!important}.main-content{margin-left:264px!important;width:calc(100% - 264px)!important}.eyebrow{color:#6f7f99!important}.topbar h1,.page-header h1{font-weight:800!important}.wave{color:#aeb7ff!important}.subcopy{color:#91a0b9!important}
.icon-button{color:#9ba9c1!important;border:1px solid transparent!important}.icon-button:hover{background:rgba(148,163,184,.09)!important;border-color:rgba(148,163,184,.1)!important;color:#fff!important}.quick-add,.dark-button{background:linear-gradient(135deg,#8997ff,#6e79f6)!important;border:1px solid rgba(197,203,255,.22)!important;box-shadow:0 10px 24px rgba(77,91,222,.24)!important;border-radius:10px!important}.quick-add:hover,.dark-button:hover{background:linear-gradient(135deg,#9eabff,#7785ff)!important;transform:translateY(-1px)}.outline-button,.today-button{background:rgba(17,26,42,.8)!important;border-color:rgba(148,163,184,.2)!important;color:#b9c5d8!important;border-radius:10px!important}.text-button,.ai-link{color:#a4afff!important}.card,.schedule-card,.task-list,.calendar-card,.agenda-panel,.calendar-upcoming,.folder-panel,.note-card,.goal-list,.long-goal,.mini-stat,.study-tool,.exam-plan,.grade-summary article,.grade-table,.reminder-settings,.owner-stats article,.owner-table-card{background:linear-gradient(145deg,rgba(19,30,49,.97),rgba(14,23,38,.97))!important;border-color:rgba(148,163,184,.15)!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important}.schedule-card,.task-list,.calendar-card,.agenda-panel,.calendar-upcoming,.folder-panel,.note-card,.goal-list,.long-goal,.mini-stat,.study-tool,.exam-plan,.grade-summary article,.grade-table,.reminder-settings{border-radius:14px!important}.schedule-entry,.task-row,.candidate-row,.goal-row,.setting-row,.grade-row{border-color:rgba(148,163,184,.1)!important}.schedule-line{border-color:rgba(148,163,184,.15)!important}.time{color:#c7d2e5!important}.time span,.event-info span,.task-copy small,.agenda-item small,.agenda-item>span,.agenda-task small{color:#8190a8!important}.event-info h3,.task-copy strong,.agenda-item b,.agenda-task b{color:#eff3ff!important}.room-button{background:rgba(124,140,255,.15)!important;color:#b8c1ff!important;border:1px solid rgba(142,154,255,.19)!important}.check,.round-check{border-color:#54637d!important;background:#0c1422!important}.stats{color:#9da9ff!important;background:rgba(125,140,255,.12)!important}.lit{color:#c1a9ff!important;background:rgba(182,156,255,.12)!important}.design{color:#ffae9c!important;background:rgba(251,138,114,.11)!important}.history{color:#7ce3bf!important;background:rgba(69,214,166,.1)!important}.score-content h3,.weekly-goal h3,.note-card h3,.goal-row h3,.long-goal h3,.study-tool h3,.telegram-card h2{color:#f0f4ff!important}.score-content p,.score-bars>div,.goal-row p,.long-goal p,.study-tool p,.telegram-card p{color:#91a0b9!important}.score-bars b{color:#d7deef!important}.score-bars i,.exam-progress i,.goal-progress i,.mini-progress,.grade-row i{background:#26344c!important}.score-ring,.large-ring{background:conic-gradient(#8492ff 0deg 260deg,#26344c 260deg)!important}.score-ring:before{background:#111a2a!important}.exam-card{background:radial-gradient(circle at 85% 0,rgba(123,140,255,.35),transparent 38%),linear-gradient(145deg,#242d58,#141d35)!important;border-color:rgba(151,163,255,.28)!important}.primary-light{background:#eef1ff!important;color:#20294a!important}.positive{color:#58dcae!important}
.calendar-toolbar{background:rgba(17,26,42,.86)!important;border-color:rgba(148,163,184,.15)!important;border-radius:13px!important}.segmented{background:#0b1321!important}.segmented button{color:#8391a9!important}.segmented button.active{background:#273657!important;color:#fff!important}.calendar-month{color:#dce4f5!important}.calendar-month button{color:#95a4be!important}.calendar-weekdays{border-color:rgba(148,163,184,.12)!important;color:#71809a!important}.calendar-day{background:transparent!important;border-color:rgba(148,163,184,.09)!important;color:#cbd5e6!important}.calendar-day:hover{background:rgba(124,140,255,.08)!important}.calendar-day.muted-day{background:rgba(3,8,15,.18)!important;color:#4f5e75!important}.calendar-day.today .date-num{background:#93a0ff!important;color:#11182b!important}.calendar-day.selected-day{box-shadow:inset 0 0 0 2px #8795ff!important}.cal-event.blue-event{background:rgba(125,140,255,.16)!important;color:#b4bdff!important}.cal-event.purple-event{background:rgba(182,156,255,.15)!important;color:#d0bfff!important}.cal-event.coral-event{background:rgba(251,138,114,.14)!important;color:#ffb4a4!important}.cal-event.green-event{background:rgba(69,214,166,.13)!important;color:#87e9c7!important}.cal-event.task-event{background:rgba(251,191,92,.14)!important;color:#ffd58d!important}.cal-event.exam-event{background:rgba(253,104,129,.16)!important;color:#ffb2c2!important}.agenda-divider{background:rgba(148,163,184,.13)!important}.upcoming-item{background:#0c1525!important;border-color:rgba(148,163,184,.13)!important;color:#e5eafb!important}.upcoming-item small{color:#7f8ea8!important}
.course-card{border:1px solid rgba(148,163,184,.16)!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important}.blue-course{background:linear-gradient(145deg,#172552,#101b39)!important;color:#dce4ff!important}.blue-course:after{background:#5f73ef!important}.purple-course{background:linear-gradient(145deg,#302050,#1c1634)!important;color:#eadfff!important}.purple-course:after{background:#9d78ec!important}.coral-course{background:linear-gradient(145deg,#4b2631,#2a1823)!important;color:#ffe0d9!important}.coral-course:after{background:#ec7465!important}.green-course{background:linear-gradient(145deg,#143c3b,#112928)!important;color:#d9fff1!important}.green-course:after{background:#45cba4!important}.course-meta{border-color:rgba(255,255,255,.14)!important}.syllabus-strip{background:linear-gradient(110deg,#1b2853,#171c38)!important;border:1px solid rgba(142,157,255,.23)!important;border-radius:14px!important}.syllabus-icon{background:rgba(154,165,255,.18)!important;color:#cad1ff!important}.syllabus-strip p{color:#a8b6d0!important}.syllabus-strip .dark-button{background:#eef1ff!important;color:#273052!important}.folder{color:#8f9db5!important}.folder.active{background:rgba(124,140,255,.16)!important;color:#dfe4ff!important}.folder b{color:#71809a!important}.notes-controls{color:#a9b5c9!important}.notes-controls button{color:#a4afff!important}.file-preview{border:1px solid rgba(255,255,255,.08)!important}.stats-preview{background:linear-gradient(145deg,#263a88,#182352)!important;color:#c7d0ff!important}.lit-preview{background:linear-gradient(145deg,#4a2e78,#291c46)!important;color:#e1d4ff!important}.design-preview{background:linear-gradient(145deg,#783f44,#49232f)!important;color:#ffd7ce!important}.hist-preview{background:linear-gradient(145deg,#1b5c50,#123a35)!important;color:#c5ffec!important}.note-card p{color:#8190a8!important}.add-note-card{background:rgba(124,140,255,.04)!important;border-color:rgba(140,153,255,.36)!important;color:#aeb8ff!important}
.goal-hero{background:radial-gradient(circle at 76% 20%,rgba(143,157,255,.38),transparent 28%),linear-gradient(135deg,#222d5c,#111a33)!important;border:1px solid rgba(148,162,255,.24)!important}.goal-hero p{color:#b8c4dc!important}.large-ring:before{background:#1a2449!important}.mini-stat span,.grade-summary span,.long-goal span{color:#7d8ca5!important}.study-hero{background:radial-gradient(circle at 82% 18%,rgba(132,146,255,.32),transparent 27%),linear-gradient(120deg,#17275a,#101a33)!important;border:1px solid rgba(142,157,255,.2)!important}.study-orb,.telegram-icon{background:linear-gradient(145deg,#8290ff,#6778ee)!important;color:#fff!important}.study-hero h2{color:#f1f4ff!important}.study-hero p{color:#b2bed6!important}.study-hero-side{background:rgba(7,13,28,.32)!important;border-color:rgba(184,195,255,.18)!important}.flash{background:rgba(124,140,255,.15)!important;color:#abb5ff!important}.quiz{background:rgba(251,138,114,.14)!important;color:#ffad9b!important}.guide{background:rgba(69,214,166,.14)!important;color:#75e4bf!important}.grade-head{background:#0b1321!important;color:#74839b!important}.grade-row strong{color:#e8edfa!important}.telegram-card{background:radial-gradient(circle at 88% 10%,rgba(119,136,255,.34),transparent 26%),linear-gradient(135deg,#172657,#101b38)!important;border:1px solid rgba(144,157,255,.21)!important}.message-preview{background:#0c1526!important;border:1px solid rgba(148,163,184,.12)!important}.telegram-message{background:#14203a!important;color:#dfe7f8!important;box-shadow:none!important}.setting-row strong{color:#edf2ff!important}.setting-row select{background:#0c1525!important;border-color:rgba(148,163,184,.2)!important;color:#dbe4f4!important}.modal-backdrop{background:rgba(2,6,15,.78)!important;backdrop-filter:blur(7px)}.modal{background:#111b2d!important;color:#edf3ff!important;border:1px solid rgba(148,163,184,.18)!important;box-shadow:0 28px 90px rgba(0,0,0,.5)!important}.modal p{color:#95a4bc!important}.form-field span{color:#dbe4f5!important}.form-field input,.form-field select,.form-field textarea{background:#0a1322!important;border-color:rgba(148,163,184,.22)!important;color:#edf3ff!important}.study-result{background:#091221!important;border-color:rgba(148,163,184,.16)!important;color:#dce6f7!important}.empty-state{background:rgba(17,26,42,.84)!important;border-color:rgba(148,163,184,.28)!important}.empty-state h3,.schedule-empty strong{color:#eff4ff!important}.owner-stats strong{color:#f1f5ff!important}.owner-table th{color:#8090a9!important}.owner-table td{border-color:rgba(148,163,184,.12)!important}button,input,select,textarea{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9ba7ff!important;outline-offset:2px!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:820px){.sidebar{width:68px!important}.main-content{margin-left:68px!important;width:calc(100% - 68px)!important}}

:root{--ink:#f4f7ff;--muted:#91a0b9;--line:rgba(148,163,184,.16);--canvas:#080d18;--panel:#111a2a;--blue:#7c8cff;--blue-tint:rgba(124,140,255,.15);--purple:#b69cff;--purple-tint:rgba(182,156,255,.15);--coral:#fb8a72;--coral-tint:rgba(251,138,114,.14);--green:#45d6a6;--green-tint:rgba(69,214,166,.14);--orange:#fbbf5c;--shadow:0 18px 48px rgba(0,0,0,.24)}.notes-controls>div{display:flex;align-items:center;gap:8px}.notes-controls select{border:1px solid var(--line);background:#0d1523;border-radius:6px;padding:6px 8px;color:var(--muted);font:inherit;font-size:11px}.favorite-note{float:right;border:0;background:transparent;color:#75829a;font-size:18px;line-height:14px;padding:0;cursor:pointer}.favorite-note.is-favorite{color:#fbbf5c}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:25px 15px 18px;z-index:5}.brand{font-weight:760;font-size:20px;letter-spacing:-.8px;display:flex;align-items:center;gap:10px;padding:0 12px 24px}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--ink);color:white;display:inline-grid;place-items:center;font-family:Georgia,serif;font-size:16px}.term-switcher{margin:0 6px 24px;padding:10px 12px;background:#f7f7fb;border-radius:9px;color:#474b5c;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.term-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.chevron{margin-left:auto;font-size:15px}.main-nav{display:flex;flex-direction:column;gap:3px}.nav-label{font-size:10px;letter-spacing:.11em;font-weight:750;color:#a4a6b2;margin:0 12px 9px}.nav-label-second{margin-top:22px}.nav-item{border:0;background:transparent;padding:10px 12px;border-radius:8px;text-align:left;color:#636778;font:inherit;font-weight:580;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.2s}.nav-item:hover{background:#f6f6f9;color:var(--ink)}.nav-item.active{background:var(--ink);color:#fff;font-weight:650}.nav-icon{width:18px;text-align:center;font-size:17px;line-height:1}.sidebar-footer{margin-top:auto}.focus-card{padding:12px 10px;background:#f6f6fa;border-radius:10px;display:flex;align-items:center;gap:9px;font-size:11px}.focus-card strong,.focus-card span{display:block}.focus-card strong{font-size:12px}.focus-card span{color:var(--muted);margin-top:2px}.focus-icon{width:29px;height:29px;background:#fff;border-radius:8px;display:grid;place-items:center;font-size:17px}.focus-card .icon-button{margin-left:auto;width:22px;height:22px;font-size:23px;color:#686d80}.profile{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:9px;margin-top:16px;padding:4px 5px;cursor:pointer}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dce4ff;color:#4057bd;font-weight:750;font-size:10px}.profile strong,.profile small{display:block}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);margin-top:2px}.more{margin-left:auto;letter-spacing:1px;color:#9a9daa}
.main-content{margin-left:245px;width:calc(100% - 245px);min-height:100vh;padding:42px 56px 60px;max-width:1700px}.page{display:none}.page.active-page{display:block}.topbar,.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:38px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:760;color:#9295a4;margin:0 0 8px}.topbar h1,.page-header h1{font-size:28px;letter-spacing:-1.25px;margin:0;font-weight:750}.wave{color:var(--orange);font-size:22px}.header-actions{display:flex;align-items:center;gap:10px}.icon-button{border:0;background:transparent;color:#555969;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:23px;position:relative}.icon-button:hover{background:#eff0f5}.search{font-size:27px}.notification{font-size:20px}.notification i{position:absolute;background:#de6754;width:6px;height:6px;border-radius:50%;top:7px;right:7px}.quick-add,.dark-button{border:0;border-radius:8px;padding:10px 15px;background:var(--ink);color:#fff;font:inherit;font-weight:680;cursor:pointer;box-shadow:0 3px 6px rgba(25,27,38,.1)}.quick-add:hover,.dark-button:hover{background:#34394b}.outline-button{border:1px solid #dedfe7;background:#fff;border-radius:8px;padding:9px 13px;font:inherit;color:#555a69;font-weight:620;cursor:pointer}.outline-button:hover{border-color:#b9bdca}.subcopy{color:var(--muted);margin:9px 0 0;font-size:14px}.dashboard-grid{display:grid;grid-template-columns:minmax(510px,1.65fr) minmax(290px,.78fr);gap:34px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.section-heading h2{font-size:18px;letter-spacing:-.55px;margin:0 0 4px}.section-heading p{margin:0;color:var(--muted);font-size:12px}.text-button{border:0;background:none;color:#666b7b;font:inherit;font-size:12px;font-weight:650;padding:4px;cursor:pointer}.text-button:hover{color:var(--blue)}.text-button span{font-size:16px;padding-left:3px}.small{font-size:11px}.schedule-card{background:#fff;border:1px solid var(--line);border-radius:12px;position:relative;padding:3px 20px;box-shadow:var(--shadow)}.schedule-line{position:absolute;top:38px;bottom:36px;left:102px;border-left:1px solid #e6e7ee}.schedule-entry{display:grid;grid-template-columns:68px 18px 1fr auto;align-items:center;min-height:82px;position:relative;border-bottom:1px solid #f0f0f4;gap:9px}.schedule-entry:last-child{border:0}.time{display:flex;align-items:baseline;gap:3px;font-size:12px;color:#55596a}.time strong{font-size:13px}.time span{font-size:10px;color:#a1a3ae}.event-dot{width:11px;height:11px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px currentColor;z-index:1}.blue{background:var(--blue);color:var(--blue)}.purple{background:var(--purple);color:var(--purple)}.coral{background:var(--coral);color:var(--coral)}.gray{background:#b7bac5;color:#b7bac5}.event-info h3{font-size:13px;margin:0 0 4px;letter-spacing:-.2px}.event-info span{color:#8c8f9c;font-size:11px}.event-info b{font-weight:500;padding:0 3px}.event-label{color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.08em;margin:0 0 4px}.room-button{border:0;background:var(--blue-tint);color:#465cc2;border-radius:6px;padding:7px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.tasks-section{margin-top:36px}.task-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 18px;box-shadow:var(--shadow)}.task-row{display:flex;align-items:center;gap:11px;padding:14px 1px;border-bottom:1px solid #f0f0f4;cursor:pointer}.task-row:last-child{border:0}.task-row input{position:absolute;opacity:0}.check,.round-check{width:18px;height:18px;border:1.5px solid #cacdd7;border-radius:6px;flex:none;display:grid;place-items:center;cursor:pointer}.task-row input:checked+.check{background:var(--green);border-color:var(--green)}.task-row input:checked+.check:after{content:'✓';font-size:11px;color:white;font-weight:bold}.task-row input:checked~.task-copy{text-decoration:line-through;color:#aaa}.course-pill{font-size:9px;letter-spacing:.06em;font-weight:800;padding:4px 6px;border-radius:4px;line-height:1;flex:none}.stats{color:#435bc4;background:var(--blue-tint)}.lit{color:#7955bd;background:var(--purple-tint)}.design{color:#c35e42;background:var(--coral-tint)}.history{color:#39836a;background:var(--green-tint)}.task-copy{display:flex;flex-direction:column;min-width:0}.task-copy strong{font-size:12px;font-weight:680}.task-copy small{margin-top:3px;color:#9699a6;font-size:10px}.urgency{margin-left:auto;font-size:10px;font-weight:720;white-space:nowrap}.tomorrow{color:#c75d4d}.this-week{color:#8b6d3f}.more-task{border:0;background:transparent;color:#aaacb6;font-size:14px;cursor:pointer;letter-spacing:1px;padding:4px}.right-column{display:flex;flex-direction:column;gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:var(--shadow)}.day-score-top,.exam-top{display:flex;justify-content:space-between;align-items:center;color:#9396a4;font-size:10px;font-weight:760;letter-spacing:.1em}.score-content{display:flex;align-items:center;gap:14px;margin:19px 0}.score-ring,.large-ring{width:68px;height:68px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--blue) 0deg 260deg,#e9eafd 260deg);position:relative}.score-ring:before,.large-ring:before{content:'';position:absolute;inset:6px;background:#fff;border-radius:50%}.score-ring span,.score-ring small{position:relative;line-height:1}.score-ring span{font-size:21px;font-weight:750}.score-ring small{font-size:10px;color:#777b8c}.score-content h3{font-size:14px;margin:0 0 4px}.score-content p{font-size:11px;line-height:1.35;color:var(--muted);margin:0}.score-bars>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:10px;color:#858895;margin-top:11px}.score-bars b{font-size:10px;color:#565a69}.score-bars i,.exam-progress i,.goal-progress i,.mini-progress{grid-column:1/-1;display:block;height:4px;background:#eff0f4;border-radius:6px;overflow:hidden}.score-bars em,.exam-progress em,.goal-progress em,.mini-progress em{display:block;height:100%;background:var(--blue);border-radius:inherit}.exam-card{background:#202539;color:white;border-color:#202539}.countdown{color:#fff;background:#3b425f;border-radius:5px;padding:4px 6px;font-size:10px;letter-spacing:0}.exam-course{font-size:10px;color:#c5c9d8;letter-spacing:.07em;font-weight:700;margin:20px 0 9px;display:flex;align-items:center;gap:6px}.exam-course .event-dot{width:7px;height:7px;border:0;box-shadow:none}.exam-card h3{font-size:18px;letter-spacing:-.5px;margin:0 0 4px}.exam-card p{color:#bec2d1;font-size:11px;margin:0}.exam-progress{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:10px;color:#b9bdd0;margin:21px 0 14px}.exam-progress b{color:white}.exam-progress i{background:#3b4056}.exam-progress em{background:#8396ff}.primary-light{width:100%;border:0;background:#fff;color:#30364b;font:inherit;font-size:11px;font-weight:720;padding:9px;border-radius:6px;cursor:pointer}.weekly-goal h3{font-size:13px;margin:4px 0 0}.compact{margin:0}.goal-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:10px;margin:20px 0 9px;color:#5b5f70}.goal-progress i{grid-column:auto;height:5px}.goal-progress em{background:var(--coral)}.positive{margin:0;font-size:10px;color:#4f9a7e}
.empty-state{max-width:620px;margin:16px auto 28px;padding:32px 28px;text-align:center;background:#fff;border:1px dashed #cfd3e1;border-radius:14px;box-shadow:var(--shadow)}.empty-state.is-hidden{display:none}.empty-state-icon{width:42px;height:42px;margin:0 auto 13px;display:grid;place-items:center;border-radius:13px;background:var(--blue-tint);color:var(--blue);font-size:19px}.empty-state h3{margin:0 0 7px;font-size:16px;letter-spacing:-.35px}.empty-state p{max-width:430px;margin:0 auto 18px;color:var(--muted);font-size:12px;line-height:1.5}.empty-state .quick-add,.empty-state .outline-button{font-size:11px}
.schedule-empty{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--muted);font-size:11px}.schedule-empty strong{color:var(--ink);font-size:13px}.schedule-empty .text-button{margin-top:3px}.agenda-empty{margin:6px 0;color:var(--muted);font-size:11px}.stats-event{background:var(--blue-tint);color:#465dc1}.lit-event{background:var(--purple-tint);color:#7657b8}.design-event{background:var(--coral-tint);color:#bf6046}.history-event{background:var(--green-tint);color:#378168}.stats-border{border-color:var(--blue)}.lit-border{border-color:var(--purple)}.design-border{border-color:var(--coral)}.history-border{border-color:var(--green)}.meeting-fields{border:1px solid #e4e6ed;border-radius:9px;padding:12px;margin:16px 0 0}.meeting-fields legend{padding:0 4px;font-size:11px;font-weight:680}.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-picker label{cursor:pointer}.day-picker input{position:absolute;opacity:0}.day-picker span{display:grid;place-items:center;height:30px;border:1px solid #e2e4eb;border-radius:6px;color:#777b89;font-size:10px;font-weight:700}.day-picker input:checked+span{border-color:#6679d6;background:var(--blue-tint);color:#465dc1}.meeting-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meeting-times .form-field{margin:13px 0 0}
.syllabus-review{max-height:300px;overflow:auto;border:1px solid #e7e8ee;border-radius:9px;padding:0 13px}.candidate-row{display:flex;align-items:flex-start;gap:10px;padding:12px 2px;border-bottom:1px solid #eff0f4;cursor:pointer}.candidate-row:last-child{border:0}.candidate-row input{margin-top:3px;accent-color:var(--blue)}.candidate-row strong,.candidate-row small{display:block}.candidate-row strong{font-size:12px;line-height:1.35}.candidate-row small{margin-top:3px;font-size:10px;color:var(--muted);text-transform:capitalize}
.task-event{background:#fff3df;color:#a76d20}.danger-button{margin-right:auto;color:#c55e55}.goal-progress-button{border:1px solid #dfe2eb;background:#fff;color:#4e63c6;border-radius:6px;padding:3px 6px;font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.folder-empty{margin:10px 8px;color:var(--muted);font-size:10px;line-height:1.45}.user-note{cursor:pointer;transition:transform .18s,box-shadow .18s}.user-note:hover,.user-note:focus{transform:translateY(-2px);box-shadow:0 10px 24px rgba(35,39,64,.11);outline:none}.document-viewer{display:block;width:100%;height:min(56vh,540px);border:1px solid #e1e3ea;border-radius:9px;background:#f7f8fb}
/* calendar */.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:18px}.segmented{background:#f3f3f7;padding:3px;border-radius:7px}.segmented button{border:0;background:transparent;padding:6px 12px;border-radius:5px;color:#777b89;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #d8d9e1}.calendar-month{display:flex;gap:20px;align-items:center;font-size:13px}.calendar-month button{border:0;background:transparent;font-size:24px;color:#697083;cursor:pointer}.today-button{border:1px solid #dde0e9;background:white;padding:6px 10px;border-radius:6px;color:#565b6c;font-size:11px;font-weight:650;cursor:pointer}.calendar-layout{display:grid;grid-template-columns:1fr 260px;gap:18px}.calendar-card,.agenda-panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{border-bottom:1px solid var(--line);color:#9295a2;font-size:10px;font-weight:700;text-align:center;letter-spacing:.04em;padding:14px 0}.calendar-grid{min-height:560px}.calendar-day{appearance:none;text-align:left;font:inherit;color:inherit;background:#fff;cursor:pointer;min-height:112px;border:0;border-right:1px solid #f0f0f4;border-bottom:1px solid #f0f0f4;padding:9px;position:relative}.calendar-day:hover{background:#f7f8fc}.calendar-day.selected-day{box-shadow:inset 0 0 0 2px #8795df}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted-day{background:#fcfcfd;color:#bcbec7}.calendar-day.today .date-num{background:var(--ink);color:white}.date-num{font-size:11px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;margin-bottom:7px}.cal-event{font-size:9px;border-radius:3px;padding:3px 4px;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}.cal-event.blue-event{background:var(--blue-tint);color:#465dc1}.cal-event.purple-event{background:var(--purple-tint);color:#7657b8}.cal-event.coral-event{background:var(--coral-tint);color:#bf6046}.cal-event.green-event{background:var(--green-tint);color:#378168}.cal-event.task-event{background:#fff2ec;color:#b96045}.cal-event.exam-event{background:#fbe6ec;color:#a74460}.agenda-panel{padding:20px}.agenda-panel h2{font-size:19px;letter-spacing:-.5px;margin:0 0 20px}.agenda-item{display:flex;gap:10px;border-left:3px solid;padding:0 0 0 9px;margin:13px 0}.agenda-item>span{font-size:10px;color:#858897;width:49px;padding-top:2px}.agenda-item b,.agenda-item small{display:block}.agenda-item b{font-size:11px}.agenda-item small{font-size:10px;color:var(--muted);margin-top:3px}.blue-border{border-color:var(--blue)}.purple-border{border-color:var(--purple)}.coral-border{border-color:var(--coral)}.agenda-divider{height:1px;background:var(--line);margin:25px 0}.agenda-task{display:flex;gap:8px;align-items:flex-start}.agenda-task b,.agenda-task small{display:block;font-size:11px}.agenda-task small{margin-top:3px;font-size:10px;color:#c16151}.calendar-upcoming{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.calendar-upcoming .section-heading{margin-bottom:12px}.calendar-upcoming .section-heading>span{font-size:11px;color:var(--muted)}.upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upcoming-item{display:flex;align-items:flex-start;gap:10px;text-align:left;background:#fafafd;border:1px solid #ececf2;border-radius:8px;padding:11px;cursor:pointer;font:inherit}.upcoming-item:hover{border-color:#b8c0e7}.upcoming-item div{flex:1}.upcoming-item b,.upcoming-item small{display:block}.upcoming-item b{font-size:12px}.upcoming-item small{margin-top:3px;font-size:10px;color:var(--muted)}.upcoming-item>strong{font-size:10px;color:#b56048}.upcoming-empty{font-size:12px;color:var(--muted);margin:0}
/* courses */.course-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px}.course-card{padding:23px;border-radius:13px;min-height:220px;position:relative;overflow:hidden}.course-card:after{content:'';position:absolute;width:160px;height:160px;border-radius:50%;right:-65px;bottom:-80px;opacity:.35}.blue-course{background:#e9edff;color:#35447e}.blue-course:after{background:#c2cdfa}.purple-course{background:#f2edff;color:#6e4da5}.purple-course:after{background:#decdfd}.coral-course{background:#fff0e9;color:#a94e36}.coral-course:after{background:#ffd4c4}.green-course{background:#e9f5ef;color:#31765f}.green-course:after{background:#bce5d2}.course-card-top{display:flex;justify-content:space-between;align-items:center}.course-code{font-size:10px;letter-spacing:.11em;font-weight:800}.course-card h2{font-size:21px;letter-spacing:-.7px;margin:25px 0 6px}.course-card p{font-size:11px;margin:0;opacity:.8}.course-schedule{margin-top:19px;font-size:11px;font-weight:650}.course-meta{border-top:1px solid rgba(80,80,100,.13);display:flex;gap:15px;margin-top:21px;padding-top:12px;font-size:10px;font-weight:630}.course-card>button:last-child{border:0;background:transparent;color:inherit;padding:0;font:inherit;font-size:11px;font-weight:750;margin-top:18px;cursor:pointer;position:relative;z-index:1}.syllabus-strip{margin-top:26px;background:#202539;color:white;border-radius:12px;padding:18px 21px;display:flex;gap:15px;align-items:center}.syllabus-icon{width:38px;height:38px;background:#3b415a;border-radius:8px;display:grid;place-items:center;font-size:22px}.syllabus-strip h3{margin:0 0 4px;font-size:13px}.syllabus-strip p{margin:0;color:#bfc3d0;font-size:11px}.syllabus-strip .dark-button{margin-left:auto;border:1px solid #666d87;background:#fff;color:#272b3d;font-size:11px;white-space:nowrap}
/* notes */.notes-layout{display:grid;grid-template-columns:204px 1fr;gap:24px}.folder-panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.folder{width:100%;border:0;background:transparent;border-radius:6px;padding:9px 8px;text-align:left;display:flex;align-items:center;gap:8px;font:inherit;font-size:11px;color:#5e6272;cursor:pointer}.folder.active{background:#f0f1f7;color:var(--ink);font-weight:680}.folder b{margin-left:auto;font-size:10px;color:#a0a2ad}.folder .eyebrow{margin:20px 8px 7px}.folder-color,.course-color{width:8px;height:8px;border-radius:50%;display:inline-block}.folder-color.blue,.course-color.blue{background:var(--blue)}.folder-color.purple,.course-color.purple{background:var(--purple)}.folder-color.coral,.course-color.coral{background:var(--coral)}.folder-color.green,.course-color.green{background:var(--green)}.notes-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#686c7b;font-size:12px;font-weight:630}.notes-controls button{border:0;background:transparent;color:#8a8d9c;font:inherit;font-size:11px;cursor:pointer}.note-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:14px}.note-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;box-shadow:var(--shadow)}.file-preview{height:100px;border-radius:7px;padding:10px;position:relative;margin-bottom:10px}.file-preview span{font-size:8px;font-weight:800;letter-spacing:.06em}.file-preview strong{position:absolute;left:11px;bottom:10px;font-size:17px;line-height:1.02;letter-spacing:-.5px}.stats-preview{background:#e7ebff;color:#4157ba}.lit-preview{background:#eee6ff;color:#7352af}.design-preview{background:#ffede5;color:#bd5b41}.hist-preview{background:#e5f4ec;color:#3b8069}.note-card h3{font-size:12px;margin:9px 0 4px;letter-spacing:-.2px}.note-card p{font-size:10px;color:#9295a1;margin:0 0 11px}.ai-link{border:0;background:transparent;padding:0;color:#566bc7;font:inherit;font-size:10px;font-weight:720;cursor:pointer}.add-note-card{min-height:180px;border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777b88;cursor:pointer;box-shadow:none}.add-note-card span{font-size:26px;line-height:1}.add-note-card strong{font-size:12px;margin:9px 0 4px}.add-note-card small{font-size:10px;color:#a0a2ad}
/* goals */.goals-overview{display:grid;grid-template-columns:1.3fr .6fr .6fr;gap:15px;margin-bottom:30px}.goal-hero{background:#242a40;border-radius:13px;padding:24px;color:white;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.goal-hero .card-kicker{font-size:10px;letter-spacing:.1em;color:#bec5df;font-weight:750}.goal-hero h2{font-size:20px;letter-spacing:-.7px;max-width:290px;margin:10px 0 6px}.goal-hero p{font-size:11px;color:#bac1d4;margin:0}.goal-hero-progress{display:flex;align-items:center;gap:11px}.large-ring{width:72px;height:72px;background:conic-gradient(#aa99ff 0deg 137deg,#414960 137deg)}.large-ring:before{background:#242a40}.large-ring span{position:relative;font-size:19px;font-weight:760}.large-ring small{font-size:9px}.goal-hero-progress p{font-size:10px}.mini-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.mini-stat span{font-size:9px;letter-spacing:.1em;color:#9699a7;font-weight:780}.mini-stat strong{display:block;font-size:24px;margin:13px 0 4px;letter-spacing:-1px}.mini-stat small{font-size:13px;color:#8d91a0}.mini-stat p{font-size:10px;color:#8b8f9d;margin:0}.goal-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px}.goal-list{background:#fff;border:1px solid var(--line);border-radius:11px;padding:4px 18px;box-shadow:var(--shadow)}.goal-row{display:flex;align-items:flex-start;gap:11px;padding:16px 0;border-bottom:1px solid #f0f0f4}.goal-row:last-child{border:0}.round-check{border-radius:50%;margin-top:2px}.round-check.complete{background:var(--green);border-color:var(--green);color:#fff;font-size:11px}.goal-row div{flex:1}.goal-row h3{font-size:12px;margin:0 0 4px}.goal-row p{font-size:10px;color:#9396a3;margin:0}.goal-tag{font-size:9px;font-weight:720;padding:5px 7px;border-radius:5px}.admin{background:#f0f1f5;color:#777b8b}.focus{background:#e9edff;color:#4b62c5}.design-tag{background:#fff0e9;color:#c36449}.mini-progress{height:4px;margin-top:9px;max-width:190px}.mini-progress em{background:var(--blue)}.long-goal{display:flex;align-items:flex-start;gap:13px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;box-shadow:var(--shadow)}.long-goal-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:16px}.blue-bg{background:var(--blue-tint);color:#4c61c6}.coral-bg{background:var(--coral-tint);color:#c25f44}.long-goal>div:nth-child(2){flex:1}.long-goal span{font-size:9px;letter-spacing:.08em;color:#9699a4;font-weight:750}.long-goal h3{font-size:12px;margin:5px 0}.long-goal p{font-size:10px;color:#8e91a0;margin:0}
/* study */.study-hero{background:linear-gradient(105deg,#e8ecff,#f3edff);border-radius:14px;padding:30px;display:flex;align-items:center;gap:20px;position:relative;overflow:hidden}.study-orb{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:#fff;color:#6375d7;font-size:30px;box-shadow:0 8px 20px #b8c1e780}.study-hero .card-kicker{color:#6270bb;font-size:10px;letter-spacing:.1em;font-weight:780}.study-hero h2{font-size:22px;letter-spacing:-.75px;margin:7px 0}.study-hero p{font-size:12px;color:#626980;max-width:450px;margin:0}.study-actions{display:flex;gap:8px;margin-top:17px}.study-actions button{font-size:11px}.study-hero-side{margin-left:auto;background:#ffffff8a;border:1px solid #fff;padding:12px 15px;border-radius:9px;min-width:95px}.study-hero-side span{font-size:9px;color:#777d9a;font-weight:760}.study-hero-side b,.study-hero-side p{display:block}.study-hero-side b{font-size:17px;margin-top:7px}.study-hero-side p{font-size:10px;margin-top:3px}.study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.study-tool{padding:18px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.tool-icon{width:33px;height:33px;border-radius:8px;display:grid;place-items:center;font-size:17px;margin-bottom:17px}.flash{background:#e8ecff;color:#4e63cc}.quiz{background:#fff0e9;color:#c46145}.guide{background:#e8f4ee;color:#398168}.study-tool span{font-size:9px;color:#9b9eaa;font-weight:750;letter-spacing:.09em}.study-tool h3{font-size:14px;margin:6px 0}.study-tool p{font-size:11px;line-height:1.4;color:#7e8290;margin:0 0 16px}.study-tool button{border:0;background:transparent;padding:0;color:#4e63c6;font:inherit;font-size:11px;font-weight:720;cursor:pointer}.exam-plan{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:var(--shadow)}.exam-plan .section-heading{margin-bottom:18px}.exam-plan h2{font-size:16px;margin:5px 0 0}.plan-days{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.plan-day{border-top:2px solid #dfe1e8;padding:8px 7px 5px;position:relative}.plan-day span{font-size:10px;color:#888b99;line-height:1.2}.plan-day span b{font-size:14px;color:#4f5362}.plan-day i{width:8px;height:8px;border-radius:50%;background:#d4d6df;position:absolute;top:-5px;left:7px}.plan-day strong,.plan-day small{display:block}.plan-day strong{font-size:11px;margin-top:14px}.plan-day small{font-size:10px;color:#8e91a0;margin-top:3px}.plan-day.done{border-color:#75ba9f}.plan-day.done i{background:#55a787}.plan-day.done small{color:#489778}.plan-day.current{border-color:var(--blue)}.plan-day.current i{background:var(--blue);box-shadow:0 0 0 4px var(--blue-tint)}.plan-day.current strong{color:#435bc5}
/* grades */.grade-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:26px}.grade-summary article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:var(--shadow)}.grade-summary span{font-size:9px;letter-spacing:.1em;color:#9699a7;font-weight:780}.grade-summary strong{display:block;font-size:27px;letter-spacing:-1px;margin:12px 0 4px}.grade-summary small{font-size:14px;color:#9b9eab}.grade-summary p{margin:0;font-size:10px;color:#808492}.grade-table{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.grade-head,.grade-row{display:grid;grid-template-columns:1.25fr 1fr 1fr 80px;align-items:center;gap:16px;padding:13px 20px}.grade-head{background:#fafafc;color:#9b9da9;font-size:9px;letter-spacing:.09em;font-weight:780}.grade-row{border-top:1px solid #f0f0f4}.grade-row>div:first-child{display:grid;grid-template-columns:9px 1fr;column-gap:8px}.grade-row strong{font-size:12px}.grade-row small{grid-column:2;display:block;color:#9699a6;font-size:10px;margin-top:4px}.grade-row>div:nth-child(2){display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.grade-row>div:nth-child(2) b{font-size:12px}.grade-row i{height:5px;background:#edf0f4;border-radius:5px;overflow:hidden}.grade-row i em{display:block;height:100%;background:var(--green);border-radius:5px}.target-result{margin:18px 0;padding:14px 15px;border-radius:9px;background:#f2f7f5;color:#264e42;font-size:13px;line-height:1.45}
/* reminders */.reminders-layout{display:grid;grid-template-columns:1.2fr .65fr;gap:25px}.telegram-card{background:#e9edff;border-radius:13px;padding:26px;display:flex;align-items:center;gap:18px;position:relative}.telegram-icon{width:52px;height:52px;display:grid;place-items:center;background:#4f72d9;color:white;border-radius:15px;font-size:25px;box-shadow:0 6px 15px #506bd569}.telegram-card .card-kicker{font-size:9px;letter-spacing:.1em;color:#6173bb;font-weight:760}.telegram-card h2{font-size:19px;letter-spacing:-.6px;margin:6px 0}.telegram-card p{font-size:11px;line-height:1.45;color:#68718d;max-width:370px;margin:0 0 16px}.telegram-card .dark-button{font-size:11px}.telegram-status{position:absolute;right:17px;top:16px;color:#7a8096;font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;background:#abb0c4;border-radius:50%;margin-right:4px}.reminder-settings{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:var(--shadow)}.setting-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0f4;padding:15px 0}.setting-row:first-of-type{margin-top:14px}.setting-row strong{font-size:12px}.setting-row p{font-size:10px;color:#9295a2;margin:4px 0 0}.setting-row select{border:1px solid #dcdfe7;background:white;border-radius:6px;padding:7px;font:inherit;font-size:11px;color:#555a69}.toggle{appearance:none;width:34px;height:19px;background:#d9dbe4;border-radius:20px;position:relative;cursor:pointer}.toggle:after{content:'';position:absolute;width:15px;height:15px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.2s}.toggle:checked{background:var(--blue)}.toggle:checked:after{left:17px}.message-preview{background:#f0f1f8;border-radius:13px;padding:15px;align-self:start}.preview-top{display:flex;justify-content:space-between;color:#8e92a3;font-size:10px;margin:0 4px 10px}.telegram-message{background:#fff;border-radius:9px;border-bottom-right-radius:2px;padding:13px 14px;color:#404654;font-size:11px;line-height:1.35;box-shadow:0 2px 5px #cdd0dc}.telegram-message p{margin:0 0 10px}.telegram-message p:last-child{margin-bottom:0}.telegram-message span{color:#898e9d}
/* modal/toast */.modal-backdrop{position:fixed;inset:0;background:#20243573;display:grid;place-items:center;z-index:20;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(460px,100%);background:#fff;border-radius:14px;padding:27px;position:relative;box-shadow:0 24px 80px #171a2c50}.modal-close{border:0;background:#f3f4f7;color:#646879;border-radius:50%;width:25px;height:25px;font-size:18px;line-height:1;position:absolute;right:14px;top:14px;cursor:pointer}.modal h2{font-size:20px;letter-spacing:-.5px;margin:0 0 7px}.modal p{font-size:12px;color:#747887;line-height:1.45;margin:0 0 18px}.form-field{display:block;margin:13px 0}.form-field span{display:block;font-size:11px;font-weight:680;margin-bottom:6px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dedfe6;border-radius:7px;padding:10px;font:inherit;font-size:12px;color:var(--ink);background:white}.form-field textarea{min-height:70px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.study-result{max-height:330px;overflow:auto;white-space:pre-wrap;background:#f6f7fb;border:1px solid #e5e7ef;border-radius:8px;padding:12px;color:#3d4354;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.status-dot.connected{background:#52a782}.toast{position:fixed;z-index:30;bottom:26px;left:50%;transform:translate(-50%,20px);background:#242a3c;color:#fff;padding:11px 15px;border-radius:8px;font-size:12px;font-weight:600;box-shadow:0 7px 20px #1e223c46;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.main-content{padding:34px 32px}.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(3,1fr)}.calendar-layout{grid-template-columns:1fr}.agenda-panel{display:none}.note-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{width:68px;padding:20px 8px}.brand{padding:0 12px 18px}.brand>span:last-child,.term-switcher span:not(.term-dot),.nav-label,.nav-item:not(.active)::after,.nav-item{font-size:0}.term-switcher{justify-content:center;padding:9px;margin:0 5px 20px}.nav-item{justify-content:center;padding:11px}.nav-icon{font-size:18px}.sidebar-footer{display:none}.main-content{margin-left:68px;width:calc(100% - 68px);padding:28px 20px}.topbar,.page-header{margin-bottom:27px}.topbar h1,.page-header h1{font-size:24px}.right-column{grid-template-columns:1fr}.course-grid,.goals-overview,.goal-columns,.reminders-layout{grid-template-columns:1fr}.notes-layout{grid-template-columns:1fr}.folder-panel{display:flex;overflow:auto;gap:5px}.folder-panel .eyebrow{display:none}.folder{width:auto;white-space:nowrap}.grade-head,.grade-row{grid-template-columns:1fr 1fr}.grade-head span:nth-child(3),.grade-head span:nth-child(4),.grade-row>div:nth-child(3),.grade-row>button{display:none}.calendar-day{min-height:75px;padding:5px}.cal-event{font-size:8px}.study-hero-side{display:none}}@media(max-width:560px){.main-content{padding:22px 14px}.header-actions .search,.notification,.outline-button{display:none}.schedule-card{padding:2px 12px}.schedule-line{left:79px}.schedule-entry{grid-template-columns:49px 14px 1fr}.schedule-entry .room-button{display:none}.time{font-size:10px}.event-info h3{font-size:12px}.task-row{gap:7px}.more-task{display:none}.urgency{font-size:9px}.course-grid,.study-grid,.grade-summary{grid-template-columns:1fr}.note-grid{grid-template-columns:repeat(2,1fr)}.plan-days{overflow:auto;grid-template-columns:repeat(5,120px)}.study-hero{padding:22px}.study-orb{display:none}.calendar-toolbar{gap:5px}.calendar-month{gap:8px}.segmented button{padding:6px}.calendar-weekdays{font-size:8px}.calendar-grid{min-height:375px}.calendar-day{min-height:75px}.calendar-day .cal-event:not(:first-of-type){display:none}.telegram-card{padding:20px}.telegram-icon{display:none}}
.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.owner-stats article,.owner-table-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.owner-stats span,.owner-table th{font-size:10px;letter-spacing:.09em;color:var(--muted);font-weight:750}.owner-stats strong{display:block;font-size:28px;letter-spacing:-1px;margin:10px 0 5px}.owner-stats p{margin:0;color:var(--muted)}.owner-table-card{padding:24px}.owner-table{border-collapse:collapse;width:100%;text-align:left}.owner-table th{padding:0 12px 12px}.owner-table td{padding:15px 12px;border-top:1px solid var(--line);vertical-align:middle}.owner-table td strong,.owner-table td small{display:block}.owner-table td small{color:var(--muted);margin-top:3px}.owner-plan,.owner-status{display:inline-block;text-transform:capitalize;font-size:11px;font-weight:700;border-radius:999px;padding:5px 9px;background:#f3f4f7}.owner-plan.pro{background:#ece9ff;color:#6254bf}.owner-plan.owner{background:#111827;color:#fff}.owner-status.active{background:#e4f7ee;color:#23714e}.owner-status.trialing{background:#fff3d9;color:#8b5b05}.owner-status.canceled{background:#fee9e8;color:#a23d35}.owner-empty{text-align:center;color:var(--muted);padding:36px!important}@media(max-width:820px){.owner-stats{grid-template-columns:1fr}.owner-table-wrap{overflow:auto}.owner-table{min-width:620px}}

/* Phase 3 — shared shell and interface primitives. */
html, body { background: var(--ink) !important; }
body::before { display: none !important; }
.app-shell { background: var(--ink) !important; }
.sidebar {
  width: 248px !important;
  padding: var(--space-6) var(--space-3) var(--space-4) !important;
  background: var(--ink) !important;
  border-right: 1px solid var(--line) !important;
  backdrop-filter: none !important;
}
.brand { padding: 0 var(--space-2) var(--space-6) !important; color: var(--text) !important; letter-spacing: -.035em !important; }
.brand-mark { background: transparent !important; box-shadow: none !important; }
.term-switcher { margin: 0 var(--space-1) var(--space-6) !important; padding: var(--space-3) !important; border-radius: var(--radius-control) !important; background: var(--panel) !important; border: 1px solid var(--line) !important; color: var(--text) !important; }
.term-dot { background: var(--course-2) !important; }
.nav-label { margin: var(--space-3) var(--space-3) var(--space-2) !important; color: var(--faint) !important; font-family: var(--font-data) !important; font-size: 11px !important; letter-spacing: .09em !important; }
.nav-item { min-height: 38px; padding: var(--space-2) var(--space-3) !important; border: 0 !important; border-left: 2px solid transparent !important; border-radius: 0 var(--radius-control) var(--radius-control) 0 !important; color: var(--muted) !important; background: transparent !important; box-shadow: none !important; }
.nav-item:hover { background: var(--panel) !important; border-color: transparent !important; color: var(--text) !important; }
.nav-item.active { background: var(--panel-hi) !important; border-color: var(--text) !important; color: var(--text) !important; box-shadow: none !important; }
.nav-icon { color: inherit !important; font-size: 15px !important; }
.focus-card { background: var(--panel) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-card) !important; }
.focus-icon, .avatar { background: var(--panel-hi) !important; color: var(--text) !important; box-shadow: none !important; }
.profile { border-radius: var(--radius-control) !important; }
.profile:hover { background: var(--panel) !important; }
.profile strong { color: var(--text) !important; }

.main-content { margin-left: 248px !important; width: calc(100% - 248px) !important; max-width: none !important; padding: 0 !important; }
.page { width: min(1120px, 100%); min-height: calc(100vh - 92px); margin: 0 auto; padding: 28px 32px 64px; }
.topbar, .page-header { margin-bottom: var(--space-7) !important; padding-bottom: 0 !important; border: 0 !important; }
.eyebrow { margin: 0 0 var(--space-2) !important; color: var(--faint) !important; font: 600 11px/1.2 var(--font-data) !important; letter-spacing: .09em !important; }
.topbar h1, .page-header h1 { font-size: 29px !important; line-height: 1.1 !important; font-weight: 700 !important; color: var(--text) !important; }
.subcopy { margin-top: var(--space-2) !important; color: var(--muted) !important; font-size: 14px !important; letter-spacing: -.015em; }
.header-actions { gap: var(--space-2) !important; }
.quick-add, .dark-button { min-height: 38px; padding: 0 var(--space-4) !important; border: 1px solid var(--action) !important; border-radius: 9px !important; background: var(--action) !important; color: var(--ink) !important; box-shadow: none !important; transform: none !important; font-size: 13px !important; font-weight: 600 !important; }
.quick-add:hover, .dark-button:hover { background: var(--action) !important; filter: brightness(1.08); transform: none !important; }
.outline-button, .today-button { min-height: 38px; padding: 0 var(--space-4) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-control) !important; background: transparent !important; color: var(--text) !important; box-shadow: none !important; font-size: 13px !important; font-weight: 600 !important; }
.outline-button:hover, .today-button:hover { border-color: var(--muted) !important; }
.icon-button { color: var(--muted) !important; border-radius: var(--radius-control) !important; }
.icon-button:hover { color: var(--text) !important; background: var(--panel) !important; border-color: transparent !important; }
.text-button, .ai-link { color: var(--muted) !important; font-weight: 600 !important; }
.text-button:hover, .ai-link:hover { color: var(--text) !important; }

/* Course workspace — academic context without a database-heavy interface. */
.course-card { cursor: default; }
.course-card .course-health { margin-left: auto; margin-right: 12px; font: 700 9px/1 var(--font-data); letter-spacing: .06em; padding: 6px 7px; border-radius: 999px; background: rgba(10,18,34,.12); }
.course-health.risk { color: #d96b61; }.course-health.attention { color: #c69532; }.course-health.excellent { color: #48aa88; }.course-health.track { color: #6e7eff; }
.course-empty { grid-column: 1/-1; padding: 48px; border: 1px dashed var(--line); border-radius: var(--radius-card); color: var(--muted); text-align: center; }.course-empty h2 { color: var(--text); }
.course-workspace { padding-top: 0; }.course-workspace-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }.course-workspace-actions { display:flex; gap:8px; }
.course-hero { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:30px; border:1px solid var(--line); border-radius:var(--radius-card); background:linear-gradient(125deg,var(--panel),var(--panel-hi)); margin-bottom:20px; }.course-hero h1 { color:var(--text); margin:4px 0 7px; font-size:34px; letter-spacing:-.045em; }.course-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; }
.course-health-card { min-width:190px; padding:16px; border-left:2px solid var(--muted); background:rgba(255,255,255,.035); border-radius:10px; }.course-health-card.risk { border-color:#df746b; }.course-health-card.attention { border-color:#d2a33a; }.course-health-card.excellent { border-color:#53b993; }.course-health-card.track { border-color:#8491ff; }.course-health-card span { display:block; color:var(--faint); font:600 10px var(--font-data); letter-spacing:.08em; }.course-health-card strong { display:block; margin:5px 0; color:var(--text); font-size:16px; }.course-health-card small { color:var(--muted); }
.course-workspace-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr); gap:20px; }.course-section,.course-side-card { padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-card); }.course-section + .course-section { margin-top:16px; }.course-section h2,.course-side-card h3 { color:var(--text); margin:3px 0 0; letter-spacing:-.03em; }.course-section .section-heading p:not(.eyebrow),.course-side-card>p { color:var(--muted); font-size:12px; line-height:1.45; }.course-task-stack,.session-list { margin-top:18px; border-top:1px solid var(--line); }.course-task,.session-row { padding:13px 0; display:flex; gap:11px; align-items:center; border-bottom:1px solid var(--line); }.course-task strong,.session-row strong { display:block; color:var(--text); font-size:13px; }.course-task small,.session-row small { color:var(--muted); font-size:11px; }.task-dot { width:8px;height:8px;background:var(--course-1);border-radius:50%;flex:0 0 auto; }.session-row { justify-content:space-between; }.session-row>div>span { display:block; color:var(--faint); font:600 10px var(--font-data); margin-bottom:3px; }
.course-empty-inline { margin-top:16px; padding:18px; color:var(--muted); font-size:12px; border:1px dashed var(--line); border-radius:10px; }.course-material-list { display:grid; gap:7px; margin-top:16px; }.course-material-list button { display:flex; text-align:left; align-items:center; gap:10px; padding:11px; border:1px solid var(--line); border-radius:9px; background:var(--panel-hi); color:var(--text); cursor:pointer; }.course-material-list button span { color:var(--action); }.course-material-list strong,.course-material-list small { display:block; }.course-material-list small { color:var(--muted); font-size:10px; margin-top:2px; }
.course-side-card + .course-side-card { margin-top:16px; }.course-side-card .section-heading { margin-bottom:13px; }.course-side-card h3 { font-size:16px; }.course-link-button { border:0; padding:0; color:var(--action); background:transparent; cursor:pointer; font:600 12px var(--font-body); }.course-side-card p { font-size:12px; line-height:1.5; }.topic-pills { display:flex; flex-wrap:wrap; gap:7px; }.topic-pills button { border:1px solid var(--line); background:var(--panel-hi); color:var(--text); border-radius:999px; padding:7px 9px; cursor:pointer; font:600 11px var(--font-body); }.topic-pills button:hover { border-color:var(--action); }.resource-list { display:grid; gap:9px; }.resource-list a { display:flex; justify-content:space-between; gap:8px; color:var(--text); font-size:12px; text-decoration:none; padding-bottom:8px; border-bottom:1px solid var(--line); }.resource-list a span { color:var(--action); }
@media(max-width:820px) { .course-workspace-grid { grid-template-columns:1fr; }.course-hero { align-items:flex-start; flex-direction:column; }.course-health-card { min-width:0; width:100%; }.course-workspace-head { align-items:flex-start; gap:12px; flex-direction:column; }.course-workspace-actions { width:100%; }.course-workspace-actions button { flex:1; } }

.card, .schedule-card, .task-list, .calendar-card, .agenda-panel, .calendar-upcoming, .folder-panel, .note-card, .goal-list, .long-goal, .mini-stat, .study-tool, .exam-plan, .grade-summary article, .grade-table, .reminder-settings, .owner-stats article, .owner-table-card, .course-card, .syllabus-strip, .study-hero, .telegram-card, .goal-hero, .message-preview {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}
.card:hover, .course-card:hover, .note-card:hover, .study-tool:hover, .long-goal:hover { background: var(--panel-hi) !important; border-color: var(--faint) !important; transform: none !important; }
.schedule-entry, .task-row, .candidate-row, .goal-row, .setting-row, .grade-row { border-color: var(--line) !important; }
.empty-state, .add-note-card { margin: 0 !important; max-width: none !important; text-align: left !important; background: var(--panel) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-card) !important; box-shadow: none !important; }
.empty-state-icon { margin: 0 0 var(--space-3) !important; border-radius: var(--radius-control) !important; background: var(--panel-hi) !important; color: var(--muted) !important; }
.add-note-card { border-style: solid !important; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #FFFFFF !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px rgba(124,124,240,.5) !important; }

/* Shared request states keep a failed private request distinct from an empty workspace. */
.workspace-request-state { display:flex; align-items:center; gap:var(--space-3); margin:0 0 var(--space-5); padding:var(--space-4); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--panel); color:var(--muted); }
.workspace-request-state .eyebrow { margin:0 !important; }
.workspace-request-state > p:not(.eyebrow) { flex:1; margin:0; font-size:12px; line-height:1.45; }
.workspace-request-state.is-error { border-color:var(--danger, #b85e55); color:var(--text); }
.workspace-request-state .outline-button { flex:0 0 auto; }
.modal-open { overflow:hidden; }
.nav-item { text-decoration:none; }
body, .brand, .brand-mark { font-family:var(--font-ui)!important; }
@media (max-width: 560px) {
  .workspace-request-state { align-items:flex-start; flex-direction:column; }
  .workspace-request-state .outline-button, .workspace-request-state .text-button { display:inline-flex !important; min-height:44px; align-items:center; }
}

.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 14px; border-radius: 8px; background: #FFFFFF; color: #080D18; font: 700 14px/1 var(--font-ui); text-decoration: none; transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
.add-note-card { text-align: left; color: inherit; font: inherit; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.task-completion { display: flex; flex: none; }

@media (forced-colors: active) {
  .skip-link, button, input, select, textarea, .modal, .calendar-day { forced-color-adjust: auto; }
  button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid Highlight !important; }
}

@media (max-width: 820px) {
  .sidebar { width: 68px !important; padding: var(--space-5) var(--space-2) !important; }
  .main-content { margin-left: 68px !important; width: calc(100% - 68px) !important; }
  .page { padding: 24px 20px 48px; }
}
@media (max-width: 560px) {
  .page { padding: 18px 14px 42px; min-height: calc(100vh - 68px); }
  .topbar, .page-header { margin-bottom: var(--space-6) !important; }
  .topbar h1, .page-header h1 { font-size: 24px !important; }
}

/* Phase 4 — course color is wayfinding, not decoration. */
.course-card { min-height: 0 !important; padding: var(--space-5) !important; overflow: hidden; position: relative; color: var(--text) !important; }
.course-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--course-1); }
.course-card::after { display: none !important; }
.course-card[data-course-token="course-1"]::before, .blue-course::before { background: var(--course-1); }
.course-card[data-course-token="course-2"]::before, .purple-course::before { background: var(--course-2); }
.course-card[data-course-token="course-3"]::before, .coral-course::before { background: var(--course-3); }
.course-card[data-course-token="course-4"]::before, .green-course::before { background: var(--course-4); }
.course-card-top { gap: var(--space-2); }
.course-code { color: var(--course-1) !important; font: 600 12px/1 var(--font-data) !important; letter-spacing: 0 !important; }
.course-card[data-course-token="course-2"] .course-code, .purple-course .course-code { color: var(--course-2) !important; }
.course-card[data-course-token="course-3"] .course-code, .coral-course .course-code { color: var(--course-3) !important; }
.course-card[data-course-token="course-4"] .course-code, .green-course .course-code { color: var(--course-4) !important; }
.course-grade { margin-left: auto; padding: 4px 7px; border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--text); font: 600 11px/1 var(--font-data); }
.course-card h2 { margin: var(--space-5) 0 var(--space-1) !important; color: var(--text) !important; font-size: 21px !important; }
.course-card p, .course-schedule { color: var(--muted) !important; font-size: 13px !important; }
.course-schedule { margin-top: var(--space-4) !important; font-family: var(--font-data) !important; }
.course-meta { margin-top: var(--space-4) !important; padding-top: var(--space-3) !important; border-color: var(--line) !important; color: var(--muted); font: 500 11px/1.3 var(--font-data); }
.course-next { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.course-next span { color: var(--faint); font: 500 11px/1 var(--font-data); text-transform: uppercase; }
.course-next strong { overflow: hidden; color: var(--text); font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.course-next small { color: var(--muted); font: 500 11px/1 var(--font-data); }
.course-card > button:last-child { margin-top: var(--space-4) !important; color: var(--muted) !important; }
.course-card > button:last-child:hover { color: var(--text) !important; }
.syllabus-strip { margin-top: var(--space-6) !important; padding: var(--space-5) !important; }
.syllabus-icon { background: var(--panel-hi) !important; color: var(--muted) !important; border-radius: var(--radius-control) !important; }
.syllabus-strip h3 { color: var(--text) !important; }
.syllabus-strip p { color: var(--muted) !important; }

.calendar-toolbar { padding: var(--space-2) var(--space-3) !important; background: var(--panel) !important; border-color: var(--line) !important; box-shadow: none !important; }
.segmented { padding: 3px !important; background: var(--ink) !important; border: 1px solid var(--line); }
.segmented button { color: var(--muted) !important; }
.segmented button.active { background: var(--panel-hi) !important; color: var(--text) !important; box-shadow: none !important; }
.calendar-month { font-family: var(--font-data); color: var(--text) !important; }
.calendar-layout { grid-template-columns: 150px minmax(0, 1fr) 250px !important; gap: var(--space-4) !important; }
.calendar-course-rail { padding: var(--space-3); align-self: start; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.calendar-course-rail .eyebrow { margin: var(--space-1) var(--space-2) var(--space-3) !important; }
.calendar-course-chip { display: flex; align-items: center; width: 100%; gap: var(--space-2); margin-bottom: 3px; padding: var(--space-2); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--muted); font: 500 11px/1.2 var(--font-data); text-align: left; cursor: pointer; }
.calendar-course-chip span { width: 7px; height: 7px; border-radius: 50%; background: var(--faint); }
.calendar-course-chip[data-course-token="course-1"] span { background: var(--course-1); }
.calendar-course-chip[data-course-token="course-2"] span { background: var(--course-2); }
.calendar-course-chip[data-course-token="course-3"] span { background: var(--course-3); }
.calendar-course-chip[data-course-token="course-4"] span { background: var(--course-4); }
.calendar-course-chip:hover, .calendar-course-chip.active { color: var(--text); background: var(--panel-hi); }
.calendar-rail-empty { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.calendar-card { overflow: hidden; }
.calendar-weekdays { color: var(--faint) !important; font: 600 11px/1 var(--font-data) !important; }
.calendar-day { min-height: 106px; background: var(--panel) !important; border-color: var(--line) !important; color: var(--text) !important; }
.calendar-day:hover { background: var(--panel-hi) !important; }
.calendar-day.muted-day { background: var(--ink) !important; color: var(--faint) !important; }
.calendar-day.selected-day { box-shadow: inset 0 0 0 1px var(--faint) !important; }
.calendar-day.today .date-num { background: transparent !important; color: var(--warn) !important; border: 1px solid var(--warn); }
.date-num { font-family: var(--font-data); }
.cal-event { border-left: 3px solid var(--course-1); border-radius: 3px !important; background: color-mix(in srgb, var(--course-1) 18%, var(--panel)) !important; color: var(--text) !important; font: 500 10px/1.25 var(--font-data) !important; }
.cal-event.lit-event { border-left-color: var(--course-2); background: color-mix(in srgb, var(--course-2) 18%, var(--panel)) !important; }
.cal-event.design-event { border-left-color: var(--course-3); background: color-mix(in srgb, var(--course-3) 18%, var(--panel)) !important; }
.cal-event.history-event { border-left-color: var(--course-4); background: color-mix(in srgb, var(--course-4) 18%, var(--panel)) !important; }
.cal-event.task-event { border-left-color: var(--warn); background: color-mix(in srgb, var(--warn) 12%, var(--panel)) !important; }
.agenda-panel { padding: var(--space-5) !important; }
.agenda-panel h2 { color: var(--text) !important; }
.agenda-item { border-color: var(--course-1) !important; }
.agenda-item.lit-border { border-color: var(--course-2) !important; }
.agenda-item.design-border { border-color: var(--course-3) !important; }
.agenda-item.history-border { border-color: var(--course-4) !important; }
.agenda-item > span, .agenda-item small, .agenda-task small { color: var(--muted) !important; font-family: var(--font-data); }
.agenda-item b, .agenda-task b { color: var(--text) !important; }
.calendar-upcoming { padding: var(--space-5) !important; }
.upcoming-item { background: var(--panel) !important; border-color: var(--line) !important; }
.upcoming-item:hover { background: var(--panel-hi) !important; border-color: var(--faint) !important; }

@media (max-width: 1100px) { .calendar-layout { grid-template-columns: 130px minmax(0, 1fr) !important; } .agenda-panel { display: block !important; grid-column: 1 / -1; } }
@media (max-width: 820px) { .calendar-layout { grid-template-columns: 1fr !important; } .calendar-course-rail { display: flex; align-items: center; overflow-x: auto; gap: 3px; } .calendar-course-rail .eyebrow { display: none; } .calendar-course-chip { width: auto; margin: 0; white-space: nowrap; } }

/* Phase 5 — Overview is a bearing, not a stack of empty panels. */
#overview .dashboard-grid { grid-template-columns: minmax(0, 1fr) 260px !important; gap: var(--space-6) !important; }
#overview .today-section { min-width: 0; }
.bearing-strip { padding: var(--space-5) !important; }
.bearing-axis { display: flex; justify-content: space-between; margin-bottom: var(--space-3); color: var(--faint); font: 500 10px/1 var(--font-data); }
.bearing-track { position: relative; height: 94px; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--ink); }
.bearing-track::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(16.666% - 1px), var(--line) calc(16.666% - 1px), var(--line) 16.666%); opacity: .7; pointer-events: none; }
.bearing-elapsed { position: absolute; inset: 0 auto 0 0; background: var(--panel-hi); opacity: .7; }
.bearing-block { position: absolute; z-index: 1; top: 28px; left: var(--bearing-start); width: var(--bearing-span); min-width: 74px; max-width: 180px; height: 38px; padding: 6px 8px; overflow: hidden; border-left: 3px solid var(--course-1); border-radius: 3px; background: color-mix(in srgb, var(--course-1) 22%, var(--panel)); color: var(--text); }
.bearing-block[data-course-token="course-2"] { border-color: var(--course-2); background: color-mix(in srgb, var(--course-2) 22%, var(--panel)); }
.bearing-block[data-course-token="course-3"] { border-color: var(--course-3); background: color-mix(in srgb, var(--course-3) 22%, var(--panel)); }
.bearing-block[data-course-token="course-4"] { border-color: var(--course-4); background: color-mix(in srgb, var(--course-4) 22%, var(--panel)); }
.bearing-block strong, .bearing-block span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bearing-block strong { font: 600 10px/1.1 var(--font-data); }
.bearing-block span { margin-top: 2px; color: var(--muted); font: 500 10px/1 var(--font-data); }
.bearing-now { position: absolute; z-index: 2; top: -1px; bottom: -1px; width: 2px; background: var(--accent); }
.bearing-now::before { content: ''; position: absolute; top: -4px; left: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.bearing-empty { position: relative; z-index: 1; display: flex; align-items: center; height: 100%; padding: 0 var(--space-4); color: var(--muted); font-size: 13px; }
.bearing-footer { display: flex; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-3); color: var(--muted); font: 500 11px/1.3 var(--font-data); }
.tasks-section { margin-top: var(--space-7) !important; }
.task-list { padding: 0 var(--space-5) !important; }
.radar-row { display: grid !important; grid-template-columns: 18px 3px minmax(0, 1fr) auto 22px; align-items: center; gap: var(--space-3); min-height: 59px; padding: var(--space-3) 0 !important; }
.radar-row .course-pill { display: none; }
.radar-course-bar { align-self: stretch; border-radius: 2px; background: var(--course-1); }
.radar-row[data-course-token="course-2"] .radar-course-bar { background: var(--course-2); }
.radar-row[data-course-token="course-3"] .radar-course-bar { background: var(--course-3); }
.radar-row[data-course-token="course-4"] .radar-course-bar { background: var(--course-4); }
.radar-row .task-copy strong { color: var(--text) !important; font-size: 13px; }
.radar-row .task-copy small, .radar-row .urgency { font-family: var(--font-data); font-size: 11px; }
.radar-row .urgency { color: var(--muted); }
.radar-row .urgency.urgent { color: var(--warn); }
#overview .right-column { gap: var(--space-4) !important; }
#overview .day-score, #overview .weekly-goal, #overview .exam-card { padding: var(--space-5) !important; }
#overview .exam-card { background: var(--panel) !important; color: var(--text) !important; }
#overview .exam-card h3, #overview .exam-card p, #overview .exam-course, #overview .exam-progress { color: var(--text) !important; }
#overview .exam-card p, #overview .exam-progress, #overview .exam-course { color: var(--muted) !important; }
#overview .countdown { background: var(--panel-hi) !important; color: var(--text) !important; font-family: var(--font-data); }
@media (max-width: 1100px) { #overview .dashboard-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 560px) { .bearing-axis span:nth-child(even) { display: none; } .bearing-track { height: 108px; } .bearing-block { top: 35px; min-width: 60px; } .bearing-footer { display: block; } .bearing-footer span + span { display: block; margin-top: var(--space-2); } .task-list { padding: 0 var(--space-3) !important; } .radar-row { grid-template-columns: 18px 3px minmax(0, 1fr) auto; gap: var(--space-2); } .radar-row .more-task { display: none; } }

/* Overview workspace — a broad daily timeline over two live working columns. */
#overview .topbar { max-width: 1120px; margin-inline: auto; }
#overview .overview-timeline { margin-top: 4px; }
#overview .overview-timeline .section-heading { margin-bottom: var(--space-4); }
#overview .overview-timeline .bearing-strip { min-height: 244px; padding: var(--space-6) !important; }
#overview .overview-timeline .bearing-track { height: 150px; }
#overview .overview-timeline .bearing-block { top: 48px; height: 54px; padding: 10px 12px; cursor: default; overflow: visible; }
#overview .overview-timeline .bearing-block strong { font-size: 12px; }
#overview .overview-timeline .bearing-block > span { font-size: 11px; }
.bearing-tooltip { position: absolute; z-index: 6; left: 0; bottom: calc(100% + 10px); width: 205px; display: grid; gap: 4px; padding: 12px; border: 1px solid var(--faint); border-radius: 10px; background: #111c30; box-shadow: 0 16px 36px rgba(0,0,0,.36); color: var(--muted); font: 500 11px/1.35 var(--font-data); opacity: 0; pointer-events: none; transform: translateY(5px); transition: opacity .16s ease, transform .16s ease; }
.bearing-tooltip b { color: var(--text); font-family: var(--font-ui); font-size: 12px; }
.bearing-block:hover .bearing-tooltip, .bearing-block:focus-visible .bearing-tooltip { opacity: 1; transform: translateY(0); }
.overview-workspace { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(310px, .84fr); gap: var(--space-6); margin-top: var(--space-7); align-items: start; }
#overview .overview-radar, #overview .overview-goals { margin: 0; min-width: 0; }
#overview .overview-radar .section-heading, #overview .overview-goals > .section-heading { margin-bottom: var(--space-4); }
#overview .overview-radar .task-list { min-height: 296px; padding: 0 var(--space-5) !important; }
#overview .radar-row { grid-template-columns: 18px 3px minmax(0, 1fr) 112px 20px; min-height: 72px; }
#overview .radar-row .urgency { display: grid; gap: 4px; justify-items: start; margin: 0; font-weight: 700; }
#overview .radar-row .urgency small { color: var(--muted); font-size: 10px; font-weight: 500; }
#overview .radar-row .urgency.urgent { color: #ff788c; }
#overview .radar-row .urgency.due-soon { color: #ffd36a; }
#overview .radar-row .urgency.start-now { color: #62dfa9; }
.overview-goal-list { display: grid; gap: var(--space-3); }
.overview-goal-group { padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.overview-goal-group > div { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: var(--faint); font: 700 10px/1 var(--font-data); letter-spacing: .1em; text-transform: uppercase; }
.overview-goal-group > div b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--panel-hi); color: var(--muted); font-size: 10px; }
.overview-goal-row { display: grid; grid-template-columns: 17px minmax(0,1fr); gap: 10px; align-items: start; padding: 10px 0; cursor: pointer; border-top: 1px solid var(--line); }
.overview-goal-row input { position: absolute; opacity: 0; }
.overview-goal-row i { width: 17px; height: 17px; margin-top: 1px; border: 1px solid #54637d; border-radius: 50%; background: #0c1422; }
.overview-goal-row span { display: grid; gap: 3px; }
.overview-goal-row strong { color: var(--text); font-size: 12px; line-height: 1.25; }
.overview-goal-row small { color: var(--muted); font: 500 10px/1.2 var(--font-data); }
.overview-empty-goal { width: 100%; padding: 8px 0 1px; border: 0; background: transparent; color: var(--muted); text-align: left; cursor: pointer; font: 600 11px var(--font-ui); }
.overview-empty-goal:hover { color: var(--text); }
.radar-row.is-completing, .overview-goal-row.is-completing { opacity: 0; transform: translateX(8px); pointer-events: none; }
.radar-row.is-completing .task-copy, .overview-goal-row.is-completing span { text-decoration: line-through; }
@media (max-width: 860px) { .overview-workspace { grid-template-columns: 1fr; } #overview .overview-timeline .bearing-strip { min-height: 210px; } }
@media (max-width: 560px) { #overview .overview-timeline .bearing-strip { padding: var(--space-4) !important; } #overview .overview-timeline .bearing-track { height: 122px; } #overview .overview-timeline .bearing-block { top: 35px; height: 48px; } #overview .radar-row { grid-template-columns: 18px 3px minmax(0,1fr) 88px; } #overview .radar-row .more-task { display: none; } .bearing-tooltip { left: auto; right: 0; } }

/* Give the overview the whole application canvas rather than a centered article column. */
#overview { width: 100%; max-width: none; padding-inline: 46px; }
#overview .topbar { width: 100%; max-width: none; margin-inline: 0; }
#overview .topbar > div:first-child { max-width: 680px; }
#overview .header-actions { margin-left: auto; }
#overview .overview-timeline, #overview .overview-workspace, #overview .daily-checkin { width: 100%; max-width: none; }
#overview .overview-workspace { grid-template-columns: minmax(0, 1.18fr) minmax(420px, .82fr); }
#overview .daily-checkin { min-height: 126px; margin-top: var(--space-6); }
@media (max-width: 1100px) { #overview { padding-inline: 32px; } #overview .overview-workspace { grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); } }
@media (max-width: 860px) { #overview { padding-inline: 24px; } #overview .overview-workspace { grid-template-columns: 1fr; } }
@media (max-width: 560px) { #overview { padding-inline: 14px; } }

/* Use the same full-canvas treatment across every workspace page. */
.page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: 46px;
}
.page .topbar,
.page .page-header {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.page .header-actions { margin-left: auto; }
@media (max-width: 1100px) {
  .page { padding-inline: 32px; }
}
@media (max-width: 860px) {
  .page { padding-inline: 24px; }
}
@media (max-width: 560px) {
  .page { padding-inline: 14px; }
}

/* Phases 6–8 — notes, study, planning, account, and finish pass. */
.notes-layout { grid-template-columns: 190px minmax(0, 1fr) !important; gap: var(--space-5) !important; }
.folder-panel { padding: var(--space-3) !important; align-self: start; }
.folder { color: var(--muted) !important; border-radius: var(--radius-pill) !important; }
.folder.active, .folder:hover { color: var(--text) !important; background: var(--panel-hi) !important; }
.notes-controls { margin-bottom: var(--space-3) !important; padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); color: var(--muted) !important; }
.note-grid { grid-template-columns: 1fr !important; gap: var(--space-2) !important; }
.note-row { display: grid; grid-template-columns: 3px 56px minmax(0, 1fr) 92px 108px 24px; align-items: center; gap: var(--space-3); padding: var(--space-3) !important; min-height: 76px; }
.note-course-bar { align-self: stretch; border-radius: 2px; background: var(--course-1); }.note-row[data-course-token="course-2"] .note-course-bar{background:var(--course-2)}.note-row[data-course-token="course-3"] .note-course-bar{background:var(--course-3)}.note-row[data-course-token="course-4"] .note-course-bar{background:var(--course-4)}
.note-row .file-preview { height: 48px; margin: 0 !important; padding: 7px; border-radius: var(--radius-pill); }.note-row .file-preview strong{font-size:11px;bottom:7px;left:7px}.note-row .file-preview span{font-size:7px}
.note-row h3 { margin: 5px 0 2px !important; color: var(--text) !important; font-size: 14px !important; }.note-row p{margin:0!important;color:var(--muted)!important;font:500 11px/1.3 var(--font-data)!important}
.note-pages,.note-study-state{color:var(--muted);font:500 11px/1.3 var(--font-data)}.note-study-state{padding:4px 7px;border:1px solid var(--line);border-radius:var(--radius-pill);text-align:center}.favorite-note{float:none!important}
.add-note-card { min-height: 80px !important; flex-direction: row !important; justify-content: flex-start !important; gap: var(--space-3); padding: var(--space-4) !important; }.add-note-card span{font-size:20px!important}.add-note-card small{margin-left:auto!important}
.study-hero { padding: var(--space-6) !important; }.study-orb { width: 44px !important; height: 44px !important; margin: 0; border-radius: var(--radius-control) !important; background: var(--panel-hi) !important; color: var(--text) !important; box-shadow: none !important; }.study-hero h2{color:var(--text)!important}.study-hero p{color:var(--muted)!important}.study-hero-side{background:var(--ink)!important;border-color:var(--line)!important}
.study-grid { gap: var(--space-3) !important; }.study-tool{padding:var(--space-5)!important}.study-tool>span{color:var(--faint)!important;font:600 11px/1 var(--font-data)!important;letter-spacing:.02em!important}.study-tool h3{color:var(--text)!important;font-size:16px!important}.study-tool p{color:var(--muted)!important}.tool-icon{background:var(--panel-hi)!important;color:var(--text)!important;border-radius:var(--radius-control)!important}.study-tool button{color:var(--text)!important}
.exam-plan{padding:var(--space-5)!important}.plan-day{border-color:var(--line)!important}.plan-day.current{border-color:var(--warn)!important}.plan-day.current i{background:var(--warn)!important;box-shadow:none!important}.plan-day strong{color:var(--text)!important}
.goals-overview{gap:var(--space-3)!important}.goal-hero{padding:var(--space-5)!important;background:var(--panel)!important}.goal-hero h2{color:var(--text)!important}.goal-hero p{color:var(--muted)!important}.large-ring{background:conic-gradient(var(--course-2) 0deg 137deg,var(--panel-hi) 137deg)!important}.large-ring:before{background:var(--panel)!important}.mini-stat{padding:var(--space-5)!important}.goal-list{padding:0 var(--space-5)!important}.goal-row{padding:var(--space-4) 0!important}.goal-tag{background:var(--panel-hi)!important;color:var(--muted)!important;border:1px solid var(--line)}.long-goal{padding:var(--space-4)!important}.mini-progress{background:var(--panel-hi)!important}.mini-progress em{background:var(--course-2)!important}
.grade-summary{gap:var(--space-3)!important}.grade-summary article{padding:var(--space-5)!important}.grade-head{background:var(--ink)!important;color:var(--faint)!important;font-family:var(--font-data)}.grade-row{padding:var(--space-4) var(--space-5)!important}.grade-row i{background:var(--panel-hi)!important}.grade-row i em{background:var(--course-2)!important}
.telegram-card{padding:var(--space-5)!important}.telegram-icon{background:var(--panel-hi)!important;color:var(--text)!important;box-shadow:none!important;border-radius:var(--radius-control)!important}.telegram-card h2{color:var(--text)!important}.telegram-card p{color:var(--muted)!important}.reminder-settings{padding:var(--space-5)!important}.message-preview{padding:var(--space-4)!important}.telegram-message{background:var(--panel-hi)!important;color:var(--text)!important;border:1px solid var(--line)!important}.setting-row select{background:var(--ink)!important;border-color:var(--line)!important;color:var(--text)!important}
.modal{box-shadow:none!important;border-color:var(--line)!important;background:var(--panel)!important}.modal-close{background:var(--panel-hi)!important;color:var(--text)!important}.form-field input,.form-field select,.form-field textarea{background:var(--ink)!important;border-color:var(--line)!important;color:var(--text)!important}
@media(max-width:820px){.notes-layout{grid-template-columns:1fr!important}.folder-panel{display:flex!important;overflow:auto;gap:3px}.folder-panel .eyebrow{display:none}.folder{width:auto!important;white-space:nowrap}.note-row{grid-template-columns:3px 48px minmax(0,1fr) 24px}.note-pages,.note-study-state{display:none}.study-grid{grid-template-columns:1fr!important}.goals-overview,.goal-columns,.grade-summary,.reminders-layout{grid-template-columns:1fr!important}}
@media(max-width:380px){.page{padding-left:11px;padding-right:11px}.quick-add{padding:0 var(--space-3)!important}.note-row{gap:var(--space-2)}.topbar h1,.page-header h1{font-size:21px!important}}

/* Blackboard-ready connection surface. */
.lms-integration { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-4); margin: 0 0 var(--space-6); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.lms-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-hi); color: var(--text); font: 700 16px/1 var(--font-data); }
.lms-integration .eyebrow { margin-bottom: var(--space-1) !important; }.lms-integration h2 { margin: 0; color: var(--text); font-size: 16px; }.lms-integration p:not(.eyebrow) { margin: var(--space-1) 0 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.lms-state { color: var(--muted); font: 500 11px/1.3 var(--font-data); white-space: nowrap; }.lms-permissions { margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }.lms-permissions strong,.lms-permissions span{display:block}.lms-permissions strong{color:var(--text);font-size:12px}.lms-permissions span{margin-top:var(--space-1);color:var(--muted);font-size:12px;line-height:1.45}
.canvas-token-help { margin-top: var(--space-3); color: var(--muted); font-size: 12px; }.canvas-token-help summary { color: var(--text); cursor: pointer; font-weight: 700; }.canvas-token-steps { margin: var(--space-2) 0 0; padding-left: 18px; line-height: 1.65; }.canvas-token-steps strong { color: var(--text); }.canvas-import-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); margin: var(--space-4) 0; }.canvas-import-counts span,.canvas-preview-list { padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-hi); }.canvas-import-counts span { display: grid; gap: 3px; color: var(--muted); font: 600 10px/1.2 var(--font-data); text-transform: uppercase; letter-spacing: .04em; }.canvas-import-counts b { color: var(--text); font-size: 22px; letter-spacing: 0; }.canvas-preview-list { display: grid; gap: var(--space-1); color: var(--muted); font-size: 12px; line-height: 1.5; }.canvas-preview-list strong { margin-top: var(--space-2); color: var(--text); font: 700 10px/1 var(--font-data); letter-spacing: .08em; }.canvas-preview-list strong:first-child { margin-top: 0; }
@media(max-width:820px){.lms-integration{grid-template-columns:42px minmax(0,1fr);}.lms-state{grid-column:2}.lms-integration .outline-button{grid-column:2;justify-self:start}}
@media(max-width:560px){.canvas-import-counts{grid-template-columns:1fr;}}

/* First-run setup: enough structure to get a semester on the board, without a long form. */
.onboarding-flow { padding-top: var(--space-2); }
.onboarding-flow > h2 { max-width: 360px; margin-top: var(--space-4) !important; font-size: 25px !important; line-height: 1.08 !important; }
.onboarding-flow > p:not(.eyebrow) { max-width: 390px; margin-bottom: var(--space-5) !important; color: var(--muted) !important; font-size: 13px !important; }
.onboarding-progress { display: flex; gap: 5px; }
.onboarding-progress span { width: 30px; height: 3px; border-radius: 99px; background: var(--line); }
.onboarding-progress span.active { background: var(--action); }
.onboarding-flow .form-field small { color: var(--faint); font-weight: 500; }
.onboarding-flow .modal-actions { justify-content: space-between; align-items: center; }
.onboarding-flow .modal-actions > :first-child { margin-right: auto; }
.onboarding-meeting { margin-top: var(--space-4); }
.onboarding-check { display: grid; place-items: center; width: 42px; height: 42px; margin-top: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-hi); color: var(--action); font: 700 20px/1 var(--font-data); }
.onboarding-next { margin-top: var(--space-5); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }
.onboarding-next span, .onboarding-next strong { display: block; }
.onboarding-next span { color: var(--faint); font: 600 10px/1 var(--font-data); letter-spacing: .08em; text-transform: uppercase; }
.onboarding-next strong { margin-top: var(--space-2); color: var(--text); font-size: 13px; }
@media(max-width:480px){.onboarding-flow .modal-actions{align-items:stretch;flex-direction:column-reverse}.onboarding-flow .modal-actions > :first-child{margin:0;text-align:center}.onboarding-flow .modal-actions button{width:100%}}

/* Smart planning turns a pile of deadlines into a workable weekly sequence. */
.smart-plan { margin-top: var(--space-7); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.smart-plan .section-heading { align-items: end; margin-bottom: var(--space-5); }
.smart-plan .section-heading h2 { margin: var(--space-1) 0 0; color: var(--text); font-size: 19px; }
.smart-plan .section-heading p:not(.eyebrow) { margin: var(--space-2) 0 0; color: var(--muted); font-size: 13px; }
.smart-plan-actions { display: flex; align-items: center; gap: var(--space-3); }
.smart-plan-list { border-top: 1px solid var(--line); }
.smart-plan-row { display: grid; grid-template-columns: 3px minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; min-height: 68px; border-bottom: 1px solid var(--line); }
.smart-plan-bar { align-self: stretch; border-radius: 2px; background: var(--course-1); }
.smart-plan-bar[data-course-token="course-2"] { background: var(--course-2); }.smart-plan-bar[data-course-token="course-3"] { background: var(--course-3); }.smart-plan-bar[data-course-token="course-4"] { background: var(--course-4); }
.smart-plan-row span, .smart-plan-row strong, .smart-plan-row small { display: block; }
.smart-plan-row span { color: var(--faint); font: 600 10px/1 var(--font-data); letter-spacing: .06em; text-transform: uppercase; }
.smart-plan-row strong { margin: 5px 0 3px; overflow: hidden; color: var(--text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.smart-plan-row small { color: var(--muted); font: 500 11px/1.2 var(--font-data); }
.smart-plan-row .text-button { white-space: nowrap; }
.smart-plan-empty { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid var(--line); }
.smart-plan-empty strong, .smart-plan-empty span { display: block; }.smart-plan-empty strong { color: var(--text); font-size: 13px; }.smart-plan-empty span { max-width: 560px; margin-top: var(--space-2); color: var(--muted); font-size: 13px; line-height: 1.4; }
.planner-queue { margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }.planner-queue strong, .planner-queue span { display: block; }.planner-queue strong { color: var(--text); font-size: 12px; }.planner-queue span { margin-top: var(--space-2); color: var(--muted); font-size: 12px; line-height: 1.5; }
@media(max-width:640px){.smart-plan{padding:var(--space-4)}.smart-plan .section-heading{align-items:flex-start;flex-direction:column}.smart-plan-actions{width:100%;justify-content:space-between}.smart-plan-empty{align-items:flex-start;flex-direction:column}.smart-plan-row{grid-template-columns:3px minmax(0,1fr)}.smart-plan-row .text-button{grid-column:2;justify-self:start;margin-bottom:var(--space-3)}}

/* Quick capture favors an unfinished thought over a form. */
.quick-capture-flow textarea { min-height: 100px; font-size: 14px; line-height: 1.5; }
.capture-preview { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 46px; padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }
.capture-preview strong { color: var(--text); font-size: 12px; }.capture-preview span { color: var(--muted); font: 500 11px/1.3 var(--font-data); }
@media(max-width:480px){.capture-preview{align-items:flex-start;flex-direction:column}}

/* Daily check-in keeps planning human-sized: one anchor, one reflection. */
.daily-checkin { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-5); margin-top: var(--space-7); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.daily-checkin h2 { margin: var(--space-1) 0 0; color: var(--text); font-size: 18px; }.daily-checkin p:not(.eyebrow) { max-width: 600px; margin: var(--space-2) 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.checkin-stats { display: flex; gap: var(--space-3); }.checkin-stats span { padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--muted); font: 500 10px/1 var(--font-data); white-space: nowrap; }.checkin-stats b { color: var(--text); }
.checkin-carry { margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }.checkin-carry strong, .checkin-carry span { display: block; }.checkin-carry strong { color: var(--text); font-size: 12px; }.checkin-carry span { margin-top: var(--space-2); color: var(--muted); font-size: 12px; line-height: 1.55; }
@media(max-width:760px){.daily-checkin{grid-template-columns:1fr;gap:var(--space-4)}.daily-checkin .outline-button{justify-self:start}}

/* Universal search keeps a full semester navigable without adding a separate search page. */
.global-search-input { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-4) 0; padding: 0 var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); color: var(--muted); }.global-search-input:focus-within { border-color: var(--muted); color: var(--text); }.global-search-input input { width: 100%; min-height: 44px; border: 0 !important; outline: 0; background: transparent !important; }
.global-search-results { min-height: 150px; max-height: 310px; overflow: auto; border-top: 1px solid var(--line); }.global-search-results > p { margin: var(--space-4) 0 !important; color: var(--muted) !important; font-size: 12px !important; }
.global-search-result { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; width: 100%; gap: var(--space-3); align-items: center; padding: var(--space-3) 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }.global-search-result:hover { background: var(--panel-hi); }.global-search-result > span { padding: 4px 6px; border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--faint); font: 600 9px/1 var(--font-data); text-align: center; text-transform: uppercase; }.global-search-result strong,.global-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.global-search-result strong { font-size: 13px; }.global-search-result small { margin-top: 3px; color: var(--muted); font: 500 11px/1.2 var(--font-data); }.global-search-result b { color: var(--muted); }.global-search-hint { margin: var(--space-4) 0 0 !important; color: var(--faint) !important; font-size: 11px !important; }

/* Grade scenarios make the next score actionable, not mysterious. */
.grade-scenario { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: var(--space-6); align-items: end; margin-top: var(--space-6); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }.grade-scenario h2 { margin: var(--space-1) 0 0; color: var(--text); font-size: 19px; }.grade-scenario > div > p:not(.eyebrow) { margin: var(--space-2) 0 0; color: var(--muted); font-size: 13px; line-height: 1.4; }.grade-scenario-controls { display: grid; grid-template-columns: 1.2fr .65fr .9fr; gap: var(--space-2); }.grade-scenario-controls label span { display: block; margin-bottom: 5px; color: var(--faint); font: 600 10px/1 var(--font-data); }.grade-scenario-controls input,.grade-scenario-controls select { width: 100%; min-height: 38px; padding: 0 var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); color: var(--text); font: 500 12px/1 var(--font-data); }.scenario-result { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--line); }.scenario-result span { color: var(--muted); font-size: 12px; line-height: 1.4; }.scenario-result b,.scenario-result strong { color: var(--text); }.scenario-result strong { max-width: 470px; font-size: 13px; line-height: 1.4; text-align: right; }
@media(max-width:820px){.grade-scenario{grid-template-columns:1fr}.grade-scenario-controls{max-width:none}.scenario-result{align-items:flex-start;flex-direction:column}.scenario-result strong{text-align:left}}@media(max-width:520px){.grade-scenario-controls{grid-template-columns:1fr}}

/* Beta feedback */
.feedback-trigger{width:100%;margin-top:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--muted);font:600 12px var(--font-ui);text-align:left;cursor:pointer}.feedback-trigger span{color:var(--action);margin-right:7px}.feedback-trigger:hover{background:var(--panel);color:var(--text);border-color:var(--muted)}.feedback-context{font-size:12px;color:var(--muted)}.owner-tabs{display:flex;gap:8px;margin:0 0 20px;border-bottom:1px solid var(--line)}.owner-tab{padding:10px 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:600 13px var(--font-ui);cursor:pointer}.owner-tab+.owner-tab{margin-left:14px}.owner-tab.active{color:var(--text);border-color:var(--action)}.feedback-list{padding:22px}.feedback-item{padding:17px 0;border-bottom:1px solid var(--line)}.feedback-item:first-of-type{padding-top:5px}.feedback-item:last-child{border-bottom:0;padding-bottom:0}.feedback-item.is-favorite{border-left:2px solid var(--action);padding-left:14px}.feedback-item-head{display:flex;justify-content:space-between;gap:16px}.feedback-item-head strong,.feedback-item-head small{display:block}.feedback-item-head small,.feedback-item-head time{margin-top:4px;color:var(--muted);font-size:11px}.feedback-item p{margin:12px 0;color:var(--text);line-height:1.65;white-space:pre-wrap}.feedback-actions{display:flex;gap:10px;align-items:center}.feedback-actions .outline-button{min-height:32px;font-size:11px}@media(max-width:560px){.feedback-trigger{display:none}.feedback-item-head{align-items:flex-start}.feedback-item-head time{white-space:nowrap}.feedback-list{padding:16px}}

/* Google Calendar lives alongside Daymark events without impersonating them. */
.google-calendar-permissions{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink)}.google-calendar-permissions strong,.google-calendar-permissions span{display:block}.google-calendar-permissions strong{color:var(--text);font-size:12px}.google-calendar-permissions span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.cal-event.google-event{background:rgba(77,169,255,.14)!important;color:#9ccfff!important}.google-border{border-color:#69b5ff!important}

/* Weekly review brings planning, reflection, and accountability into one calm surface. */
.review-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.review-metrics article,.review-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.review-metrics article{padding:var(--space-5)}.review-metrics span{color:var(--faint);font:600 10px/1 var(--font-data);letter-spacing:.08em}.review-metrics strong{display:block;margin-top:var(--space-3);color:var(--text);font-size:27px;letter-spacing:-1px}.review-metrics p{margin:var(--space-2) 0 0;color:var(--muted);font-size:12px}.review-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:var(--space-3)}.review-card{padding:var(--space-5)}.review-card h2{margin:var(--space-1) 0 0;color:var(--text);font-size:19px}.review-card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.45}.project-list{margin-top:var(--space-4);border-top:1px solid var(--line)}.project-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.project-row h3{margin:7px 0 3px;color:var(--text);font-size:13px}.project-row p{margin:0!important;font:500 11px/1.35 var(--font-data)!important}.review-empty{margin-top:var(--space-4);padding:var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-control);color:var(--muted);font-size:13px}.accountability-card{display:flex;flex-direction:column;align-items:flex-start}.accountability-card .accountability-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-5)}.weekly-reflection,.product-update{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-3)}.weekly-reflection p,.product-update p{max-width:680px;margin-bottom:0}.breakdown-steps{display:grid;gap:7px;margin:var(--space-4) 0}.breakdown-steps label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink);color:var(--text);font-size:12px}.breakdown-steps input{accent-color:var(--action)}.changelog-list{display:grid;gap:10px}.changelog-list p{display:grid;gap:4px;margin:0!important;padding:11px;border-left:2px solid var(--action);background:var(--ink);border-radius:0 var(--radius-control) var(--radius-control) 0}.changelog-list strong{color:var(--text);font-size:12px}.changelog-list span{color:var(--muted);font-size:12px;line-height:1.4}.account-data-controls{display:grid;gap:6px;margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink)}.account-data-controls strong{color:var(--text);font-size:12px}.account-data-controls span{color:var(--muted);font-size:12px;line-height:1.45}.account-data-controls .outline-button{justify-self:start;margin-top:4px}@media(max-width:820px){.review-metrics,.review-grid{grid-template-columns:1fr}.weekly-reflection,.product-update{align-items:flex-start;flex-direction:column}.project-row{align-items:flex-start;flex-direction:column}.accountability-card{min-height:230px}}@media(max-width:480px){.review-card,.review-metrics article{padding:var(--space-4)}.accountability-card .accountability-actions{width:100%;flex-direction:column}.accountability-card .accountability-actions button{width:100%}}

/* Billing is intentionally restrained: Stripe hosts payment and cancellation. */
.account-billing-controls{display:grid;gap:6px;margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink)}.account-billing-controls strong{color:var(--text);font-size:12px}.account-billing-controls span{color:var(--muted);font-size:12px;line-height:1.45}.account-billing-controls .outline-button{justify-self:start;margin-top:4px}.billing-actions{display:flex;gap:8px;margin-top:5px}.billing-actions button{min-height:36px;font-size:11px}@media(max-width:480px){.billing-actions{flex-direction:column}.billing-actions button{width:100%}}

/* Appearance personalization: Daymark's structure stays neutral; a palette only leads the key moments. */
.account-appearance-controls{display:grid;gap:6px;margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink)}.account-appearance-controls strong{color:var(--text);font-size:12px}.account-appearance-controls span{color:var(--muted);font-size:12px;line-height:1.45}.account-appearance-controls .outline-button{justify-self:start;margin-top:4px}
.quick-add,.dark-button{background:var(--action)!important;color:var(--accent-foreground)!important;border-color:var(--action)!important}.quick-add:hover,.dark-button:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.nav-item.active{background:var(--accent-muted)!important;border-color:var(--accent)!important;box-shadow:inset 3px 0 0 var(--accent)!important}.nav-item.active,.nav-item.active .nav-icon{color:var(--text)!important}.term-dot,.status-dot.connected{background:var(--accent)!important}.onboarding-progress span.active,.owner-tab.active{border-color:var(--accent)!important;background-color:var(--accent)!important}.theme-picker{max-width:640px}.theme-picker>p:not(.eyebrow){max-width:540px}.theme-mode-toggle{display:inline-flex;gap:4px;margin:var(--space-4) 0;padding:4px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink)}.theme-mode-toggle button{min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:600 12px var(--font-ui);cursor:pointer}.theme-mode-toggle button.is-active{background:var(--accent-muted);color:var(--text)}.theme-choice-grid,.theme-school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.theme-school-grid{max-height:270px;margin-top:var(--space-3);padding-right:4px;overflow:auto}.theme-choice{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.theme-choice:hover{border-color:var(--muted);background:var(--panel-hi)}.theme-choice.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-muted)}.theme-choice-swatch{position:relative;display:block;width:34px;height:34px;border-radius:10px;background:var(--choice-accent);overflow:hidden}.theme-choice-swatch::after{position:absolute;right:-8px;bottom:-7px;width:26px;height:26px;border-radius:99px;background:var(--choice-secondary);content:""}.theme-choice strong,.theme-choice small{display:block}.theme-choice strong{font-size:12px}.theme-choice small{margin-top:4px;color:var(--muted);font:500 10px/1.35 var(--font-data)}.theme-known-school{margin-top:var(--space-4)}.theme-known-school>span,.theme-search>span{display:block;margin-bottom:7px;color:var(--faint);font:600 10px/1 var(--font-data);letter-spacing:.08em;text-transform:uppercase}.theme-known-school .theme-choice{margin-top:7px}.theme-search{display:block;margin-top:var(--space-5)}.theme-search input{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink);color:var(--text);font:500 12px var(--font-ui)}.theme-preview-note{margin:var(--space-4) 0 0!important;color:var(--muted)!important;font-size:12px!important}.theme-preview-note strong{color:var(--text)}.theme-onboarding .theme-choice-grid{margin-top:var(--space-4)}
html[data-appearance="light"] body,html[data-appearance="light"] .app-shell{background:var(--ink)!important;color:var(--text)}html[data-appearance="light"] .sidebar,html[data-appearance="light"] .topbar{background:var(--panel)!important}html[data-appearance="light"] .modal,html[data-appearance="light"] .auth-gate-card{box-shadow:0 18px 55px rgba(20,28,40,.13)!important}html[data-appearance="light"] .google-event{color:#176493!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ring)!important;outline-offset:2px!important;box-shadow:none!important}
@media(max-width:560px){.theme-choice-grid,.theme-school-grid{grid-template-columns:1fr}.theme-school-grid{max-height:230px}}

/* Daymark horizon mark: one white sunrise crossing its horizon everywhere. */
.daymark-mark-svg{display:block;color:#fff!important}.daymark-mark-disc{fill:currentColor}.daymark-mark-horizon{stroke:currentColor;stroke-width:7;stroke-linecap:round}.daymark-mark-line,.daymark-mark-fill{display:none!important}.auth-gate-brand .brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#121212!important;box-shadow:none!important;filter:none!important}.auth-gate-brand .daymark-mark-svg{width:19px;height:19px}.bearing-now,.bearing-now::before{background:var(--accent)!important}

/* Every active control reads from the same palette; a school palette is optional. */
.toggle:checked{background:var(--accent)!important}.toggle:focus-visible{outline-color:var(--ring)!important}.focus-card{background:linear-gradient(145deg,var(--accent-muted),var(--panel))!important;border-color:var(--accent)!important}.focus-icon{color:var(--accent)!important}.focus-timer-card{border-color:var(--accent)!important;background:radial-gradient(circle at 50% 0,var(--accent-muted),transparent 58%),var(--ink)!important}.focus-timer-card>p{color:var(--accent)!important}.focus-timer{color:var(--text)!important}.focus-preset,.focus-method{border-color:var(--line)!important;background:var(--panel-hi)!important;color:var(--muted)!important}.focus-preset:hover,.focus-method:hover{border-color:var(--accent)!important;color:var(--text)!important}.focus-preset.active,.focus-method.active{background:var(--accent-muted)!important;border-color:var(--accent)!important;color:var(--text)!important;box-shadow:none!important}.focus-methods h3,.focus-method-detail strong{color:var(--text)!important}.focus-method-detail{border-left-color:var(--accent)!important;background:var(--panel-hi)!important;color:var(--muted)!important}.plan-day.current{border-color:var(--accent)!important}.plan-day.current i{background:var(--accent)!important}.calendar-day.today .date-num,.calendar-day.selected-day{border-color:var(--accent)!important;color:var(--accent-foreground)!important;background:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.segmented button.active{background:var(--accent-muted)!important;color:var(--text)!important}.folder.active,.folder:hover{background:var(--accent-muted)!important}.overview-goal-row i,.check,.round-check{border-color:var(--line)!important;background:var(--panel-hi)!important}.overview-goal-row input:checked + i,.check.complete,.round-check.complete{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-foreground)!important}.score-ring,.large-ring{background:conic-gradient(var(--accent) 0deg 260deg,var(--panel-hi) 260deg)!important}.score-ring:before{background:var(--panel)!important}.mini-progress em,.grade-row i em{background:var(--accent)!important}.study-progress em,.exam-progress em,.goal-progress em{background:var(--accent)!important}.room-button,.calendar-day:hover{border-color:var(--accent)!important;background:var(--accent-muted)!important;color:var(--text)!important}.theme-disable{margin-top:var(--space-3);color:var(--accent)!important}

/* Final neutral pass: every non-semantic UI state follows the active palette. */
.bearing-tooltip { background: var(--panel-hi); border-color: var(--line); color: var(--muted); }
.course-health.track { color: var(--accent); }
.course-health-card.track { border-color: var(--accent); }
.owner-plan.pro { background: var(--accent-muted); color: var(--text); }
.console-tabs{display:flex;gap:6px;overflow:auto;margin:0 0 var(--space-5);padding:4px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel)}.console-tab{min-height:38px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:600 12px var(--font-ui);white-space:nowrap;cursor:pointer}.console-tab:hover{color:var(--text);background:var(--panel-hi)}.console-tab.active{color:var(--accent-foreground);background:var(--action)}.console-loading{min-height:220px;display:grid;place-items:center;color:var(--muted);font:600 13px var(--font-ui)}.console-overview{display:grid;gap:var(--space-5)}.console-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.console-stat-grid article,.console-surface{padding:clamp(16px,2vw,24px);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow)}.console-stat-grid span{display:block;color:var(--faint);font:600 10px var(--font-data);letter-spacing:.08em}.console-stat-grid strong{display:block;margin:10px 0 4px;color:var(--text);font:700 28px var(--font-data);letter-spacing:-.05em}.console-stat-grid p{margin:0;color:var(--muted);font-size:12px}.console-two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-4)}.console-list>div,.console-health-row,.console-audit-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.console-list>div:first-child,.console-health-row:first-child,.console-audit-item:first-child{border-top:0}.console-list strong,.console-list span,.console-list small,.console-health-row strong,.console-health-row small,.console-audit-item strong,.console-audit-item span{display:block}.console-list span,.console-list small,.console-health-row small,.console-audit-item span{margin-top:3px;color:var(--muted);font-size:11px}.console-state,.console-private{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 8px;border-radius:999px;background:var(--accent-muted);color:var(--text);font:700 10px var(--font-data);letter-spacing:.04em;text-transform:capitalize;white-space:nowrap}.console-state.unavailable,.console-state.inactive,.console-state.revoked,.console-state.expired{background:var(--danger-muted);color:var(--danger)}.console-state.ready,.console-state.configured,.console-state.active,.console-state.resolved{background:var(--success-muted);color:var(--success)}.console-state.managed_externally{background:var(--warning-muted);color:var(--warning)}.console-search{display:block;max-width:440px;margin:0 0 var(--space-4)}.console-search span{display:block;margin-bottom:7px;color:var(--faint);font:600 10px var(--font-data);letter-spacing:.08em;text-transform:uppercase}.console-search input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ink);color:var(--text);font:500 14px var(--font-ui)}.console-profile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.console-profile dl div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-hi)}.console-profile dt{color:var(--faint);font:600 10px var(--font-data);letter-spacing:.07em;text-transform:uppercase}.console-profile dd{margin:6px 0 0;color:var(--text);font-size:13px;overflow-wrap:anywhere}.console-profile-note{padding:11px 12px;border-left:2px solid var(--accent);background:var(--accent-muted);color:var(--muted)!important;font-size:12px}.console-invite{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:12px;align-items:end;margin:0 0 var(--space-5)}.console-invite .form-field{margin:0}.console-invite .quick-add{min-height:44px}.console-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}.console-audit-item time{color:var(--muted);font:500 11px var(--font-data);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.console-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.console-two-column{grid-template-columns:1fr}}@media(max-width:600px){.console-stat-grid,.console-health-grid,.console-profile dl{grid-template-columns:1fr}.console-invite{grid-template-columns:1fr}.console-tabs{margin-left:-2px;margin-right:-2px}.console-tab{min-height:44px}.console-audit-item{grid-template-columns:1fr}.console-audit-item time{white-space:normal}.console-profile{padding-bottom:8px}}
.console-state.unavailable,.console-state.inactive,.console-state.revoked,.console-state.expired{background:color-mix(in srgb,var(--danger) 18%,var(--panel));color:var(--danger)}.console-state.ready,.console-state.configured,.console-state.active,.console-state.resolved{background:color-mix(in srgb,#5abf8a 18%,var(--panel));color:#86dca9}.console-state.managed_externally{background:color-mix(in srgb,var(--warn) 20%,var(--panel));color:#e2b264}
.account-auth-icon { color: var(--accent); background: var(--accent-muted); border-color: var(--line); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline-color: var(--ring) !important; box-shadow: 0 0 0 4px var(--accent-muted) !important; }

/* Phone-first planner: preserve context, not a shrunken desktop interface. */
.mobile-nav { display: none; }
@media (max-width: 700px) {
  html, body { min-width: 0; overflow-x: clip; }
  .sidebar { display: none !important; }
  .main-content { width: 100% !important; min-height: 100dvh; margin-left: 0 !important; padding: 0 !important; }
  .page, #overview { width: 100% !important; min-height: 100dvh !important; margin: 0 !important; padding: 20px 16px calc(96px + env(safe-area-inset-bottom)) !important; }
  .page .topbar, .page .page-header, #overview .topbar { display: grid !important; gap: var(--space-4); align-items: start !important; margin-bottom: var(--space-6) !important; }
  .topbar h1, .page-header h1 { font-size: clamp(25px, 8vw, 32px) !important; letter-spacing: -.055em !important; }
  .subcopy { max-width: 34rem; font-size: 13px !important; line-height: 1.5; }
  .page .header-actions, #overview .header-actions { width: 100%; max-width: 100%; margin-left: 0 !important; padding: 1px 1px 4px; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
  .page .header-actions::-webkit-scrollbar { display: none; }
  .header-actions .outline-button { display: inline-flex !important; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 44px; white-space: nowrap; }
  #overview .header-actions .search, #overview .header-actions .notification, #overview #headerCheckin, #overview #quickAdd { display: none !important; }
  button, .quick-add, .dark-button, .outline-button, .today-button { min-height: 44px; touch-action: manipulation; }
  input, select, textarea { font-size: 16px !important; }

  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 55; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; min-height: calc(66px + env(safe-area-inset-bottom)); padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, transparent); box-shadow: 0 -12px 30px rgba(0, 0, 0, .18); backdrop-filter: blur(18px); }
  .mobile-nav-item, .mobile-add-button { min-width: 0; min-height: 50px; padding: 4px 2px; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: var(--muted) !important; box-shadow: none !important; font: 700 18px/1 var(--font-ui) !important; text-align: center; cursor: pointer; }
  .mobile-nav-item small, .mobile-add-button small { display: block; margin-top: 4px; overflow: hidden; color: inherit; font: 600 9px/1 var(--font-ui); text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav .nav-item.active { color: var(--text) !important; background: var(--accent-muted) !important; box-shadow: none !important; }
  .mobile-add-button { display: grid; place-items: center; align-content: center; width: 54px; min-height: 54px; justify-self: center; margin-top: -25px; border: 1px solid var(--accent) !important; border-radius: 50% !important; background: var(--accent) !important; color: var(--accent-foreground) !important; box-shadow: 0 8px 24px var(--accent-muted) !important; font-size: 28px !important; }
  .mobile-add-button small { color: var(--accent-foreground); font-size: 9px; }
  .mobile-more-button { font-size: 14px !important; letter-spacing: 1px; }

  #overview .overview-timeline { margin-top: 0; }
  #overview .overview-timeline .bearing-strip { padding: var(--space-4) !important; }
  #overview .bearing-axis span:nth-child(even) { display: none; }
  #overview .bearing-track { height: 116px !important; }
  #overview .bearing-block { top: 34px !important; min-width: 54px; max-width: 44%; }
  #overview .bearing-empty { padding-inline: 12px; font-size: 12px; line-height: 1.45; }
  #overview .overview-workspace { display: grid !important; grid-template-columns: 1fr !important; gap: var(--space-6); }
  #overview .radar-row { grid-template-columns: 18px 3px minmax(0, 1fr) !important; align-items: start; gap: var(--space-2); min-height: 72px; }
  #overview .radar-row .urgency { grid-column: 3; grid-row: 2; margin-top: -7px; font-size: 10px; }
  #overview .radar-row .task-copy { grid-column: 3; }
  #overview .radar-row .more-task { display: none; }
  #overview .overview-goal-list { display: grid; gap: var(--space-3); }
  #overview .daily-checkin { min-height: 0; padding: var(--space-5) !important; }

  .calendar-toolbar { display: grid !important; grid-template-columns: 1fr auto; gap: var(--space-3) !important; padding: var(--space-3) !important; }
  .calendar-toolbar .segmented { grid-column: 1 / -1; display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; }
  .calendar-toolbar .segmented::-webkit-scrollbar { display: none; }
  .calendar-toolbar .segmented button { flex: 1 0 auto; min-height: 40px; }
  .calendar-month { justify-self: start; min-width: 0; }
  .calendar-month strong { min-width: 0; font-size: 13px; white-space: nowrap; }
  .calendar-layout { display: grid !important; grid-template-columns: 1fr !important; gap: var(--space-4) !important; }
  .calendar-course-rail { margin-inline: -2px; padding-inline: 2px; }
  .calendar-card { overflow: hidden; }
  .calendar-weekdays { min-height: 28px; padding-inline: 2px; }
  .calendar-weekdays span { font-size: 0 !important; text-align: center; }
  .calendar-weekdays span::after { color: var(--faint); font: 600 10px/1 var(--font-data); }
  .calendar-weekdays span:nth-child(1)::after { content: 'S'; }.calendar-weekdays span:nth-child(2)::after { content: 'M'; }.calendar-weekdays span:nth-child(3)::after { content: 'T'; }.calendar-weekdays span:nth-child(4)::after { content: 'W'; }.calendar-weekdays span:nth-child(5)::after { content: 'T'; }.calendar-weekdays span:nth-child(6)::after { content: 'F'; }.calendar-weekdays span:nth-child(7)::after { content: 'S'; }
  .calendar-grid { min-height: 0 !important; }
  .calendar-day { min-height: 58px !important; padding: 6px 3px !important; overflow: hidden; }
  .calendar-day .date-num { width: 25px; height: 25px; margin: 0 auto 3px; font-size: 11px; line-height: 23px; text-align: center; }
  .calendar-day .cal-event { display: inline-block; width: 6px; height: 6px; min-height: 0; margin: 2px 1px 0; padding: 0 !important; overflow: hidden; border: 0 !important; border-radius: 50%; color: transparent !important; font-size: 0 !important; line-height: 0 !important; vertical-align: top; }
  .calendar-day .stats-event, .calendar-day .google-event { background: var(--accent) !important; }.calendar-day .lit-event { background: var(--course-3) !important; }.calendar-day .design-event { background: var(--course-4) !important; }.calendar-day .history-event { background: var(--course-2) !important; }.calendar-day .task-event { background: var(--warn) !important; }.calendar-day .exam-event { background: #ff788c !important; }
  .agenda-panel { display: block !important; padding: var(--space-4) !important; }

  .course-grid, .goals-overview, .goal-columns, .study-grid, .grade-summary, .review-metrics, .review-grid, .reminders-layout, .support-grid { grid-template-columns: 1fr !important; }
  .course-card, .study-tool, .goal-hero, .mini-stat, .review-card, .telegram-card, .reminder-settings { padding: var(--space-4) !important; }
  .syllabus-strip, .lms-integration, .telegram-card, .compact-cta { align-items: flex-start; flex-direction: column; }
  .syllabus-strip .dark-button, .lms-integration .outline-button { width: 100%; }
  .notes-layout { display: grid !important; gap: var(--space-3) !important; }
  .folder-panel { margin-inline: -2px; padding: 2px !important; scroll-snap-type: x proximity; }
  .folder { min-height: 40px; scroll-snap-align: start; }
  .note-row { grid-template-columns: 3px 45px minmax(0, 1fr) 28px !important; min-height: 70px; padding: 10px !important; }
  .note-row .file-preview { width: 45px; height: 45px; }.note-row h3 { font-size: 13px !important; }
  .add-note-card { min-height: 64px !important; }.add-note-card small { display: none; }
  .study-hero { display: grid !important; grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4) !important; }
  .study-orb { display: grid !important; width: 40px !important; height: 40px !important; }
  .study-hero-side { display: none !important; }
  .study-actions { display: grid; grid-template-columns: 1fr; }.study-actions button { width: 100%; }
  .plan-days { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(128px, 72%); grid-template-columns: none !important; overflow-x: auto; padding-bottom: var(--space-2); scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .plan-day { scroll-snap-align: start; min-height: 116px; }
  .grade-head { display: none !important; }
  .grade-row { grid-template-columns: minmax(0, 1fr) auto !important; gap: var(--space-3) !important; padding: var(--space-4) !important; }
  .grade-row > div:nth-child(3), .grade-row > button { display: block !important; grid-column: 1 / -1; }.grade-row > button { justify-self: start; }
  .goal-row { grid-template-columns: 20px minmax(0, 1fr) !important; }.goal-row > :last-child { grid-column: 2; justify-self: start; }
  .long-goal { display: grid; grid-template-columns: 36px minmax(0, 1fr); }.long-goal .more-task { display: none; }
  .review-metrics { gap: var(--space-2); }.review-metrics article { padding: var(--space-4); }
  .owner-table-card, .grade-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .owner-table { min-width: 640px; }

  .modal-backdrop { align-items: end; padding: 0 !important; }
  .modal { width: 100% !important; max-width: none !important; max-height: min(88dvh, 780px); margin: 0 !important; padding: 28px 18px calc(20px + env(safe-area-inset-bottom)) !important; overflow-y: auto; border-radius: 20px 20px 0 0 !important; }
  .modal::before { display: block; width: 36px; height: 4px; margin: -14px auto 20px; border-radius: 999px; background: var(--line); content: ''; }
  .modal-close { top: 15px !important; right: 15px !important; width: 38px !important; height: 38px !important; }
  .modal h2 { padding-right: 42px; font-size: 24px !important; line-height: 1.08; }
  .modal-actions { display: grid !important; grid-template-columns: 1fr; gap: var(--space-2) !important; }.modal-actions button { width: 100%; }
  .form-field { margin-block: var(--space-4); }.form-field input, .form-field select, .form-field textarea { min-height: 46px; }
  .focus-method-grid, .theme-choice-grid, .theme-school-grid { grid-template-columns: 1fr !important; }
  .focus-presets { grid-template-columns: repeat(3, 1fr) !important; }.focus-presets button { min-height: 43px; padding-inline: 3px; }
  .toast { bottom: calc(82px + env(safe-area-inset-bottom)) !important; max-width: calc(100% - 30px); text-align: center; }
  .mobile-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .mobile-menu-link { display: grid; min-height: 118px; padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-hi); color: var(--text); text-align: left; cursor: pointer; }.mobile-menu-link:hover { border-color: var(--accent); background: var(--accent-muted); }.mobile-menu-link > span { color: var(--accent); font-size: 18px; }.mobile-menu-link strong { margin-top: 14px; font-size: 13px; }.mobile-menu-link small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
}
@media (max-width: 380px) {
  .page, #overview { padding-inline: 12px !important; }
  .mobile-nav { padding-inline: 4px; }.mobile-add-button { width: 50px; min-height: 50px; }
  .mobile-nav-item small, .mobile-add-button small { font-size: 8px; }
  .calendar-day { min-height: 54px !important; }
  .mobile-menu-grid { grid-template-columns: 1fr; }.mobile-menu-link { min-height: 82px; }
}

/* The app dock belongs to a signed-in planner only, never the public or account flows. */
body.route-marketing .mobile-nav,
body.route-login .mobile-nav,
body.route-signup .mobile-nav,
body.route-app:not(.is-authenticated) .mobile-nav { display: none !important; }

/* Learn Mode keeps recall and confidence choices calm, legible, and theme-aware. */
.learn-mode .eyebrow { color: var(--faint); font: 600 11px/1 var(--font-data); letter-spacing: .08em; }
.learn-mode h2 { min-height: 96px; display: grid; align-content: center; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel-hi); color: var(--text); }
.learn-mode #learnAnswer { margin-top: var(--space-4); padding: var(--space-4); border-radius: var(--radius-control); background: var(--accent-muted); }
.learn-mode #learnAnswer p { color: var(--text); font-size: 14px; }
.learn-ratings { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); margin-top: var(--space-4); }
.learn-ratings button { min-height: 58px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-hi); color: var(--text); font: 700 12px/1.15 var(--font-ui); cursor: pointer; }
.learn-ratings button:hover, .learn-ratings button:focus-visible { border-color: var(--accent); background: var(--accent-muted); outline: none; }
.learn-ratings small { color: var(--muted); font: 500 10px/1.3 var(--font-data); }
@media (max-width: 480px) { .learn-ratings { grid-template-columns: repeat(2, 1fr); } }

/* Apps directory: one calm place for every optional connection. */
.apps-header .subcopy { max-width: 650px; }
.apps-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-7); margin-bottom: var(--space-6); padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.apps-intro h2 { margin: var(--space-1) 0 var(--space-2); color: var(--text); font-size: 22px; letter-spacing: -.045em; }
.apps-intro p:not(.eyebrow) { max-width: 620px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.apps-privacy-note { flex: 0 0 245px; padding-left: var(--space-4); border-left: 2px solid var(--accent); color: var(--muted); font-size: 12px; line-height: 1.45; }
.apps-privacy-note strong { display: block; margin-bottom: 3px; color: var(--text); font-size: 12px; }
.integration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.integration-card { position: relative; display: flex; min-height: 272px; padding: var(--space-5); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); color: var(--text); }
.integration-card--available { border-color: color-mix(in srgb, var(--accent) 56%, var(--line)); }
.integration-card--available:hover { border-color: var(--accent); background: var(--panel-hi); }
.integration-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.integration-logo { display: block; width: 52px; height: 52px; flex: none; border: 1px solid color-mix(in srgb, var(--line) 72%, transparent); border-radius: 13px; background: #fff; }
.integration-status, .coming-soon-badge { display: inline-flex; align-items: center; min-height: 27px; padding: 0 10px; border-radius: 999px; font: 700 10px/1 var(--font-data); letter-spacing: .06em; text-transform: uppercase; }
.integration-status--available { background: var(--accent-muted); color: var(--accent-text, var(--text)); }
.integration-card-copy { margin-top: var(--space-6); }
.integration-card-copy h2 { margin: 0 0 var(--space-2); color: var(--text); font-size: 19px; letter-spacing: -.035em; }
.integration-card-copy p { max-width: 470px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.integration-card-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: auto; padding-top: var(--space-6); }
.integration-card-footer > span { color: var(--faint); font: 600 10px/1.35 var(--font-data); letter-spacing: .04em; text-transform: uppercase; }
.integration-card-footer button { flex: none; min-height: 40px; }
.integration-card--available { flex-direction: column; }
.integration-card-veil { display: flex; width: 100%; flex-direction: column; filter: blur(2.4px); opacity: .3; user-select: none; }
.is-coming-soon { min-height: 272px; cursor: default; }
.coming-soon-badge { position: absolute; z-index: 2; top: 50%; left: 50%; min-height: 34px; padding-inline: 15px; transform: translate(-50%, -50%); border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line)); background: var(--ink); color: var(--text); box-shadow: 0 8px 26px rgba(0, 0, 0, .18); white-space: nowrap; }
.apps-footnote { max-width: 680px; margin: var(--space-5) 0 0; color: var(--faint); font-size: 12px; line-height: 1.5; }
@media (max-width: 820px) { .apps-intro { align-items: flex-start; flex-direction: column; }.apps-privacy-note { flex-basis: auto; }.integration-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .apps-intro, .integration-card { padding: var(--space-4); }.integration-card { min-height: 250px; }.integration-card-footer { align-items: flex-start; flex-direction: column; }.integration-card-footer button { width: 100%; min-height: 44px; } }

.account-security-controls { display: grid; gap: 6px; margin-top: 16px; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--ink); }
.account-security-controls strong { color: var(--text); font-size: 12px; }
.account-security-controls span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.account-security-controls .outline-button { justify-self: start; margin-top: 4px; }
.mfa-qr { display: block; width: min(220px, 100%); margin: var(--space-4) auto; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }

/* Dialog content always remains reachable, even on short laptop screens. */
@media (min-width: 481px) {
  .modal-backdrop { align-items: start; overflow-y: auto; overscroll-behavior: contain; }
  .modal { max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain; }
}
/* Daymark Today — reference screen for the academic interface system. */
body { background: var(--ink) !important; }
.sidebar { width: 82px !important; padding: 20px 10px !important; align-items: center; }
.brand { width: 100%; justify-content: center; padding: 0 0 26px !important; }
.brand > span:last-child, .term-switcher > span:not(.term-dot), .nav-label, .nav-item:not(.mobile-nav-item) { font-size: 0 !important; }
.brand-mark { width: 28px; height: 28px; border-radius: 7px !important; }
.term-switcher { width: 42px; min-height: 42px; justify-content: center; margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.term-dot { width: 7px; height: 7px; }
.main-nav { width: 100%; gap: 6px; }
.nav-item:not(.mobile-nav-item) { width: 46px; min-height: 46px; justify-content: center; margin: 0 auto; padding: 0 !important; border: 0 !important; border-radius: 7px !important; }
.nav-item:not(.mobile-nav-item) .nav-icon { width: auto; font-size: 18px !important; }
.nav-item:not(.mobile-nav-item).active { background: var(--accent-muted) !important; box-shadow: inset 2px 0 0 var(--accent) !important; }
.sidebar-footer { width: 100%; display: grid; justify-items: center; gap: 10px; }
.focus-card, .feedback-trigger, .profile > span:not(.avatar), .profile .more { display: none !important; }
.profile { width: 42px; min-height: 42px; margin: 0 !important; padding: 0 !important; justify-content: center; }
.avatar { width: 32px; height: 32px; }
.main-content { margin-left: 82px !important; width: calc(100% - 82px) !important; }
.page { width: min(1060px, 100%); padding: 48px clamp(24px, 5vw, 72px) 72px; }
.today-header { align-items: flex-end; margin-bottom: 42px !important; }
.today-header h1 { margin: 0 !important; font-family: var(--font-editorial) !important; font-size: clamp(48px, 7vw, 76px) !important; font-weight: 500 !important; letter-spacing: -.055em !important; }
.today-header .eyebrow { color: var(--muted) !important; font-size: 12px !important; letter-spacing: .02em !important; text-transform: none; }
.today-workload { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.today-header .header-actions { align-items: center; }
.today-header #nextAction, .today-header #headerCheckin { display: none; }
.right-now { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: end; margin: 0 0 52px !important; padding: 0 0 28px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.right-now h2 { max-width: 680px; margin: 8px 0; color: var(--text); font-size: clamp(24px, 3.2vw, 38px); letter-spacing: -.045em; }
.right-now .recommendation-context { margin: 0; color: var(--muted); font-size: 14px; }
.recommendation-why { display: flex; gap: 10px; margin: 16px 0 0 !important; color: var(--muted); font-size: 12px !important; line-height: 1.45; }
.recommendation-why span { flex: none; color: var(--faint); font: 600 10px/1.45 var(--font-data); letter-spacing: .08em; }
.right-now-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
.overview-timeline { margin-bottom: 52px; }
.overview-timeline .section-heading, .overview-radar .section-heading { margin-bottom: 20px; }
.daymark-time-rail { position: relative; display: grid; gap: 0; padding-left: 0; border-top: 1px solid var(--line); }
.daymark-time-rail::before { position: absolute; top: 0; bottom: 0; left: 86px; width: 1px; background: var(--line); content: ''; }
.daymark-time-rail-row { position: relative; display: grid; grid-template-columns: 68px 36px minmax(0, 1fr); gap: 0; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); }
.daymark-time-rail-row time { color: var(--muted); font: 500 11px var(--font-data); text-align: right; }
.daymark-time-rail-marker { position: relative; z-index: 1; width: 9px; height: 9px; justify-self: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--course-1); }
.daymark-time-rail-row[data-course-token="--course-2"] .daymark-time-rail-marker { background: var(--course-2); }.daymark-time-rail-row[data-course-token="--course-3"] .daymark-time-rail-marker { background: var(--course-3); }.daymark-time-rail-row[data-course-token="--course-4"] .daymark-time-rail-marker { background: var(--course-4); }
.daymark-time-rail-row > div { min-width: 0; padding-left: 14px; }
.daymark-time-rail-row strong, .daymark-time-rail-row span { display: block; }.daymark-time-rail-row strong { color: var(--text); font-size: 14px; }.daymark-time-rail-row span { margin-top: 3px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.daymark-time-rail-row.is-complete { opacity: .42; }.daymark-time-rail-row.is-complete strong { text-decoration: line-through; }
.daymark-time-rail-now { display: grid; grid-template-columns: 68px 36px auto; align-items: center; min-height: 34px; color: var(--accent); font: 600 10px var(--font-data); letter-spacing: .06em; text-transform: uppercase; }
.daymark-time-rail-now span { text-align: right; }.daymark-time-rail-now i { position: relative; z-index: 2; width: 11px; height: 11px; justify-self: center; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--ink); }.daymark-time-rail-now time { padding-left: 14px; }
.daymark-time-rail-empty { margin: 0; padding: 28px 0 28px 102px; color: var(--muted); font-size: 13px; }
.overview-workspace { grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr) !important; gap: 52px !important; }.overview-radar, .overview-goals { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }.task-list { border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; }.task-row { min-height: 72px; padding-right: 0 !important; }.overview-goals { border-left: 1px solid var(--line) !important; padding-left: 28px !important; }
@media (max-width: 700px) { .sidebar { display: none !important; }.main-content { margin-left: 0 !important; width: 100% !important; }.page { min-height: auto; padding: 28px 18px 104px; }.today-header { display: block; margin-bottom: 34px !important; }.today-header h1 { font-size: 52px !important; }.today-header .header-actions { position: absolute; top: 32px; right: 18px; }.today-header .search, .today-header .notification { display: none !important; }.today-header .quick-add { min-height: 40px; padding: 0 12px !important; font-size: 12px !important; }.right-now { grid-template-columns: 1fr; gap: 20px; margin-bottom: 38px !important; }.right-now-actions { justify-content: flex-start; }.right-now-actions .quick-add { min-height: 44px; }.overview-workspace { grid-template-columns: 1fr !important; gap: 38px !important; }.overview-goals { padding: 30px 0 0 !important; border-top: 1px solid var(--line) !important; border-left: 0 !important; }.daymark-time-rail-row { grid-template-columns: 58px 30px minmax(0,1fr); }.daymark-time-rail::before { left: 73px; }.daymark-time-rail-now { grid-template-columns: 58px 30px auto; }.daymark-time-rail-empty { padding-left: 88px; }.mobile-nav .mobile-nav-item small:first-letter { text-transform: uppercase; } }

/* Today composition pass: a compact academic workspace, not a stack of cards. */
.nav-item:not(.mobile-nav-item) { position: relative; }
.nav-item:not(.mobile-nav-item)::after { position: absolute; left: calc(100% + 10px); z-index: 12; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--text); content: attr(aria-label); font: 600 11px/1 var(--font-ui); opacity: 0; pointer-events: none; transform: translateX(-4px); transition: opacity .15s ease, transform .15s ease; white-space: nowrap; }
.nav-item:not(.mobile-nav-item):hover::after, .nav-item:not(.mobile-nav-item):focus-visible::after { opacity: 1; transform: translateX(0); }
.today-header { align-items: center; margin-bottom: 38px !important; }
.today-header h1 { font-size: clamp(36px, 4vw, 44px) !important; line-height: 1.02 !important; }
.today-header .eyebrow { margin-bottom: 7px !important; color: var(--faint) !important; font: 600 12px/1 var(--font-ui) !important; letter-spacing: .01em !important; }
.today-workload { max-width: 650px; margin-top: 9px !important; font: 500 13px/1.5 var(--font-data) !important; }
.right-now { display: block; margin: 0 0 42px !important; padding: 0 0 26px !important; }
.right-now-copy { max-width: 760px; padding-left: 18px; border-left: 2px solid var(--accent); }
.right-now h2 { max-width: 760px; margin: 7px 0 10px; font-size: clamp(25px, 3vw, 34px); line-height: 1.12; }
.recommendation-meta { display: flex; flex-wrap: wrap; gap: 0; margin: 0; color: var(--muted); font: 500 11px/1.5 var(--font-data); }
.recommendation-meta span + span::before { display: inline-block; margin: 0 8px; color: var(--faint); content: '·'; }
.right-now-actions { justify-content: flex-start; gap: 10px; margin-top: 17px; }
.right-now-actions .quick-add { min-height: 44px; }
.recommendation-why { align-items: baseline; gap: 12px; margin-top: 18px !important; padding-top: 14px; border-top: 1px solid var(--line); }
.recommendation-why span:last-child { color: var(--muted); font: 500 12px/1.45 var(--font-ui); letter-spacing: normal; }
.overview-workspace { display: block !important; }
.overview-radar { margin: 0; }
.overview-radar .section-heading { margin-bottom: 14px; }
.task-list { border-top: 1px solid var(--line) !important; }
.task-row { min-height: 64px; }
.overview-goals { margin-top: 38px; padding: 24px 0 0 !important; border-top: 1px solid var(--line) !important; border-left: 0 !important; }
.overview-goals .section-heading { margin-bottom: 12px; }
.overview-goal-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.overview-goal-group { min-width: 0; padding: 14px 16px 12px 0; border: 0 !important; border-right: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.overview-goal-group + .overview-goal-group { padding-left: 16px; }
.overview-goal-group:last-child { border-right: 0 !important; }
.overview-goal-group-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; color: var(--faint); font: 600 10px/1 var(--font-data); letter-spacing: .08em; text-transform: uppercase; }
.overview-goal-group-heading b { color: var(--muted); font: 600 10px/1 var(--font-data); }
.overview-goal-row { min-height: 32px; padding: 5px 0 !important; }
.overview-goal-row strong { font-size: 12px; }
.overview-goal-row small { font-size: 10px; }
.overview-goal-group.is-empty { opacity: .72; }
.overview-empty-goal { width: auto; min-height: 30px; padding: 0; color: var(--muted); font-size: 11px; text-align: left; }
.overview-empty-goal span { color: var(--accent); }
.daily-checkin { display: flex !important; align-items: center; justify-content: space-between; gap: 18px; min-height: 0 !important; margin-top: 32px !important; padding: 16px 0 !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.daily-checkin div { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.daily-checkin p, .daily-checkin span { margin: 0 !important; }
.daily-checkin p { color: var(--text); font: 600 12px/1.45 var(--font-ui); }
.daily-checkin div > span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.daily-checkin .text-button { flex: none; min-height: 44px; }

@media (min-width: 1081px) {
  #overview { display: grid; grid-template-columns: minmax(0, 1fr) clamp(280px, 25vw, 336px); column-gap: clamp(32px, 5vw, 58px); align-items: start; width: min(1280px, 100%); }
  #overview .today-header { grid-column: 1 / -1; }
  #overview .right-now { grid-column: 1; grid-row: 2; }
  #overview .overview-timeline { position: sticky; top: 28px; grid-column: 2; grid-row: 2 / span 3; align-self: start; margin: 0; padding-left: 24px; border-left: 1px solid var(--line); }
  #overview .overview-timeline .section-heading { display: block; margin-bottom: 16px; }
  #overview .overview-timeline .section-heading .text-button { margin-top: 12px; }
  #overview .overview-timeline .section-heading h2 { margin-top: 7px; font-size: 20px; }
  #overview .overview-workspace { grid-column: 1; grid-row: 3; }
  #overview .daily-checkin { grid-column: 1; grid-row: 4; }
  #overview .daymark-time-rail { min-height: 280px; }
  #overview .daymark-time-rail-empty { display: grid; min-height: 280px; align-content: start; gap: 12px; padding: 8px 0 0; }
  #overview .daymark-time-rail-empty strong { color: var(--text); font-size: 14px; }
  #overview .daymark-time-rail-empty p { margin: 0; color: var(--muted); font-size: 12px; }
  #overview .daymark-time-rail-empty .daymark-time-rail-now { margin-top: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  #overview .daymark-time-rail-empty .text-button { justify-self: start; margin-top: 4px; }
}
@media (max-width: 1080px) {
  #overview { display: block; }
  #overview .overview-timeline { margin: 0 0 42px; }
}
@media (max-width: 700px) {
  .today-header h1 { font-size: clamp(36px, 11vw, 42px) !important; }
  .today-header .header-actions { top: 24px; }
  .right-now { margin-bottom: 34px !important; }
  .right-now-copy { padding-left: 14px; }
  .right-now h2 { font-size: 26px; }
  .recommendation-meta { font-size: 10px; }
  .overview-timeline { margin-bottom: 36px !important; }
  .overview-goal-list { grid-template-columns: 1fr; }
  .overview-goal-group, .overview-goal-group + .overview-goal-group { padding: 14px 0; border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .overview-goal-group:last-child { border-bottom: 0 !important; }
  .daily-checkin { align-items: flex-start; }
  .daily-checkin div { display: block; }
  .daily-checkin div > span { display: block; margin-top: 3px !important; }
  .daymark-time-rail-empty { padding: 18px 0 18px 88px; }
  .daymark-time-rail-empty strong, .daymark-time-rail-empty p { display: block; margin-bottom: 8px; }
}

/* Today Phase 1.5 — one working canvas, with the rail as a durable orienting edge. */
#overview .right-now {
  margin-bottom: 38px !important;
  padding: 22px 24px 20px !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  background: color-mix(in srgb, var(--panel) 76%, var(--accent-muted));
}
#overview .right-now-copy { max-width: none; padding-left: 16px; border-left-width: 3px; }
.recommendation-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.recommendation-heading .eyebrow { margin-bottom: 0 !important; }
.recommendation-status { color: var(--faint); font: 600 10px/1 var(--font-data); letter-spacing: .08em; }
#overview .right-now h2 { max-width: 680px; margin-top: 10px; }
.recommendation-footer { display: flex; align-items: end; justify-content: space-between; gap: var(--space-5); margin-top: 18px; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--line) 84%, transparent); }
.recommendation-footer .recommendation-why { flex: 1; margin: 0 !important; padding: 0; border: 0; }
.recommendation-footer .right-now-actions { flex: none; margin-top: 0; }

/* Content rows should carry the interface; their parent is deliberately not a card. */
#overview .overview-radar .task-list { border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; }
#overview .overview-radar .task-row { padding-inline: 0 !important; }
#overview .overview-radar .urgency { min-width: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--muted) !important; text-align: left; }
#overview .overview-radar .urgency.urgent { color: var(--danger) !important; }
#overview .overview-radar .urgency small { margin-top: 2px; color: var(--muted) !important; }

/* An empty day still has a legible, ownable Time Rail instead of a loose sentence. */
#overview .daymark-time-rail-empty { display: grid; min-height: 0; align-content: start; gap: 6px; padding: 6px 0 0 !important; }
#overview .daymark-time-rail-empty > strong { color: var(--text); font-size: 15px; }
#overview .daymark-time-rail-empty > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.daymark-time-rail-open-day { display: grid; margin: 2px 0 12px; border-top: 1px solid var(--line); }
.daymark-time-rail-open-slot { display: grid; grid-template-columns: 68px 36px minmax(0, 1fr); align-items: center; min-height: 48px; border-bottom: 1px solid var(--line); }
.daymark-time-rail-open-slot time { color: var(--faint); font: 500 10px/1 var(--font-data); text-align: right; }
.daymark-time-rail-open-slot i { position: relative; z-index: 1; width: 7px; height: 7px; justify-self: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--line); }
.daymark-time-rail-open-slot span { padding-left: 14px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.daymark-time-rail-open-slot.is-now i { width: 10px; height: 10px; background: var(--accent); box-shadow: 0 0 0 3px var(--ink); }
.daymark-time-rail-open-slot.is-now span { color: var(--text); font-weight: 600; }
#overview .daymark-time-rail-empty .text-button { justify-self: start; margin-top: 2px; }

/* The theme's own accent drives hierarchy, including Garnet; dark surfaces keep distinct luminance steps. */
[data-appearance="dark"] #overview .right-now { background: color-mix(in srgb, var(--panel-hi) 68%, var(--accent-muted)); }
[data-appearance="dark"] #overview .overview-timeline { border-left-color: color-mix(in srgb, var(--line) 88%, var(--accent)); }

@media (max-width: 700px) {
  #overview .right-now { padding: 18px 16px 18px !important; }
  #overview .right-now-copy { padding-left: 13px; }
  .recommendation-footer { align-items: flex-start; flex-direction: column; gap: 14px; }
  .recommendation-footer .right-now-actions { width: 100%; }
  .daymark-time-rail-open-slot { grid-template-columns: 58px 30px minmax(0, 1fr); }
  #overview .daymark-time-rail-empty { min-height: 0; padding-top: 0 !important; }
}
