@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Grotesk:wght@500;600&family=Space+Mono:wght@400;700&display=swap";
:root{--ink-950:#0b1426;--ink-900:#122039;--ink-800:#1a2d4d;--ink-700:#243c63;--ink-600:#324f7e;--ink-500:#45648f;--saffron-50:#fef7e8;--saffron-100:#fcebc4;--saffron-200:#f9d88a;--saffron-300:#f6c455;--saffron-400:#f5a623;--saffron-500:#e08d0b;--saffron-600:#b86e08;--saffron-700:#8f540a;--slate-50:#f6f8fb;--slate-100:#eef2f7;--slate-200:#e1e7f0;--slate-300:#cbd5e2;--slate-400:#94a3b8;--slate-500:#647488;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--white:#fff;--success:#0b7b54;--success-bg:#e3f5ee;--warning:#e08d0b;--warning-bg:#fcebc4;--danger:#be123c;--danger-bg:#fce7ec;--info:#1d4ed8;--info-bg:#e5edfd;--course-emerald:#0ea47a;--course-crimson:#e11d48;--course-blue:#2563eb;--course-violet:#7c3aed;--course-amber:#d97706;--course-teal:#0d9488;--bg:var(--slate-50);--surface:var(--white);--border:var(--slate-200);--text:var(--ink-900);--text-soft:var(--slate-500);--font-display:"Space Grotesk", system-ui, sans-serif;--font-ui:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-sm:0 1px 2px #1220390f, 0 1px 3px #1220390d;--shadow-md:0 4px 12px #12203912, 0 2px 4px #1220390d;--shadow-lg:0 18px 40px -12px #12203938;--shadow-ink:0 14px 30px -10px #12203973;--space:8px;--motion-fast:.12s;--motion-base:.18s;--ease:cubic-bezier(.2, .6, .2, 1)}
*{box-sizing:border-box}html{background:var(--slate-50)}body{background:var(--slate-50);color:var(--text);font-family:var(--font-ui);margin:0}button,input,select,textarea{font:inherit}button,.button-link,summary{transition:transform .12s,background .15s,border-color .15s,box-shadow .15s}button:active,.button-link:active,summary:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline-offset:2px;outline:3px solid #324f7e73}.form-error{background:var(--danger-bg);border:1px solid color-mix(in srgb, var(--danger) 25%, white);border-radius:var(--r-sm);color:var(--danger);margin:0;padding:8px 12px;font-size:13px;font-weight:600}.form-success{color:var(--success);margin:0;font-size:12px;font-weight:700}input,select,textarea{border:1px solid var(--slate-200);border-radius:var(--r-sm);color:var(--text);background:#fff;width:100%;min-height:42px;padding:10px 13px}input:focus,select:focus,textarea:focus{border-color:var(--ink-600);outline:0;box-shadow:0 0 0 3px #324f7e24}textarea{resize:vertical;line-height:1.5}label{color:var(--slate-700);gap:6px;font-size:13px;font-weight:600;display:grid}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em}h1{max-width:760px;font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.08}h2{font-size:22px;font-weight:600}a{color:inherit}.product-shell{grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.org-switcher{margin-bottom:10px}.org-switcher .cl-organizationSwitcherTrigger{border-radius:var(--r-sm);color:#fff;justify-content:flex-start;width:100%;padding:8px 10px}.org-switcher .cl-organizationSwitcherTrigger:hover,.org-switcher .cl-organizationSwitcherTrigger:focus{background:#ffffff14}.org-switcher .cl-organizationPreviewMainIdentifier,.org-switcher .cl-userPreviewMainIdentifier{color:#fff}.workspace-switcher{margin-bottom:10px}.workspace-switcher summary{border-radius:var(--r-sm);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;list-style:none;display:flex}.workspace-switcher summary::-webkit-details-marker{display:none}.workspace-switcher summary:hover,.workspace-switcher summary:focus-visible,.workspace-switcher[open] summary{background:#ffffff14}.workspace-switcher-eyebrow{color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.workspace-switcher-current{color:#fff;font-size:14px;font-weight:600}.workspace-switcher-menu{border-radius:var(--r-sm);background:#ffffff0f;border:1px solid #ffffff24;gap:2px;margin-top:6px;padding:6px;display:grid}.workspace-switcher-menu button{border-radius:var(--r-sm);color:#ffffffd9;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:7px 9px;font-size:13px;font-weight:600;display:grid}.workspace-switcher-hint{color:#ffffff80;font-size:11px;font-weight:500;line-height:1.35}.workspace-switcher-menu button:hover{background:#ffffff1a}.workspace-switcher-menu button.active{color:#fff;background:#ffffff24}.sidebar{background:var(--ink-950);color:#fff;flex-direction:column;min-height:100vh;padding:26px 16px 18px;display:flex;position:sticky;top:0}.brand-link{text-decoration:none}.logo{font-family:var(--font-display);letter-spacing:-.04em;align-items:center;gap:10px;padding:0 8px;font-size:23px;font-weight:600;display:flex}.sidebar nav{gap:5px;margin-top:46px;display:grid}.sidebar nav a{border-radius:var(--r-sm);color:#a9b8cf;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none}.sidebar nav a:hover{color:#fff;background:#ffffff14}.sidebar nav a.active{background:var(--saffron-400);color:var(--ink-950);font-weight:700}.account{color:var(--slate-300);align-items:center;gap:10px;margin-top:auto;padding:8px;font-size:12px;display:flex;overflow:hidden}.account-email{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.account-sign-out{border-radius:var(--r-sm);color:#d8e2f2;cursor:pointer;font:inherit;background:#ffffff14;border:1px solid #ffffff1a;flex:none;padding:7px 9px;font-weight:700}.account-sign-out:hover{color:#fff;background:#ffffff24}.environment{color:var(--slate-400);font-family:var(--font-mono);text-transform:uppercase;margin-top:8px;padding:8px;font-size:10px}.workspace{width:100%;max-width:1360px;margin:0 auto;padding:48px 50px 72px}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0;display:grid}.admin-card{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);background:#fff;padding:24px}.admin-card h2{color:var(--ink-900);margin:6px 0 8px;font-size:clamp(20px,2vw,28px)}.admin-card p:not(.eyebrow){color:var(--slate-500);margin:0;line-height:1.5}.scheduler-config-grid{margin-bottom:24px}.scheduler-job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.scheduler-job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:22px}.scheduler-job-card h3{color:var(--ink-900);margin:4px 0 0;font-size:22px}.scheduler-job-card p:not(.eyebrow,.muted-copy,.error-copy){color:var(--slate-500);margin:12px 0 18px;line-height:1.5}.job-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.status-pill{border:1px solid var(--border);color:var(--slate-600);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px;display:inline-flex}.status-pill.succeeded{background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 30%, white);color:var(--success)}.status-pill.failed{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 25%, white);color:var(--danger)}.status-pill.skipped,.status-pill.never{color:var(--slate-500);background:#f4f7fb}.job-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.job-metrics span{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#fff;padding:10px;font-size:10px}.job-metrics strong{color:var(--ink-900);font-family:var(--font-ui);letter-spacing:normal;text-transform:none;margin-bottom:2px;font-size:18px;display:block}.error-copy{color:var(--danger);margin:10px 0 0;font-weight:800;line-height:1.45}.admin-details{display:block}.admin-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.admin-details summary::-webkit-details-marker{display:none}.admin-details summary strong{color:var(--ink-900);margin-top:4px;font-size:22px;display:block}.admin-details summary>span:last-child{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.admin-details[open] summary{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.admin-email-form textarea{resize:vertical;min-height:220px}.settings-form{margin-top:32px}.settings-card{max-width:920px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.toggle-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);align-items:flex-start;gap:12px;padding:16px;display:flex}.toggle-row input[type=checkbox]{accent-color:var(--saffron-400);width:18px;height:18px;margin-top:3px}.toggle-row strong{color:var(--ink-900);font-size:16px;display:block}.toggle-row small{color:var(--slate-500);margin-top:4px;line-height:1.45;display:block}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 12px}.admin-table th{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.admin-table td{color:var(--ink-900)}.page-hero.compact{max-width:760px}.page-hero.compact h1{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(42px,6vw,76px);line-height:.98}.page-hero.compact p:not(.eyebrow){color:var(--slate-500);margin:16px 0 0;font-size:17px;line-height:1.55}.content-card{border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);background:#fff;padding:28px}.muted-copy{color:var(--slate-500);margin:0}.page-header{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.workspace h1{font-size:clamp(24px,2.4vw,30px);line-height:1.15}.workspace .page-description{margin-top:8px;font-size:15px}.page-description{color:var(--slate-500);max-width:650px;margin-top:12px;font-size:16px;line-height:1.55}.eyebrow{color:var(--slate-500);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700}.status{border:1px solid var(--border);border-radius:var(--r-pill);background:#fff;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.status span{border-radius:50%;width:7px;height:7px}.status.ready span{background:var(--success)}.status.waiting span{background:var(--warning)}.focus-card{background:var(--ink-900);border-radius:var(--r-xl);color:#fff;justify-content:space-between;align-items:center;gap:32px;margin-top:38px;padding:30px 32px;display:flex}.focus-card .eyebrow{color:var(--saffron-300)}.focus-card p:last-child{color:#c3d2e8;margin-top:8px;line-height:1.5}.daily-focus-panel{border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);background:#fff;gap:18px;margin-top:20px;padding:24px;display:grid}.daily-focus-heading,.daily-focus-actions,.daily-focus-list a{align-items:center;display:flex}.daily-focus-heading{justify-content:space-between;gap:16px}.daily-focus-actions{color:var(--slate-500);flex:none;gap:8px;font-size:12px}.daily-focus-suggestion{background:color-mix(in srgb, var(--ink-600) 7%, white);border:1px solid color-mix(in srgb, var(--ink-600) 16%, white);border-radius:var(--r-md);color:var(--ink-900);gap:8px;padding:15px 16px;font-size:14px;line-height:1.55;display:grid}.daily-focus-error,.daily-focus-empty{color:var(--slate-500);font-size:13px}.daily-focus-error{color:var(--danger)}.daily-focus-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.daily-focus-list a{background:var(--slate-50);border-radius:var(--r-md);border:1px solid #0000;gap:12px;padding:12px;text-decoration:none}.daily-focus-list a:hover{border-color:var(--border);box-shadow:var(--shadow-sm);background:#fff}.daily-focus-list a>span{background:var(--ink-800);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-flex}.daily-focus-list div{flex:1;gap:3px;min-width:0;display:grid}.daily-focus-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.daily-focus-list small{color:var(--slate-500);font-size:12px}.daily-focus-list em{color:var(--saffron-700);font-family:var(--font-mono);text-transform:uppercase;flex:none;font-size:10px;font-style:normal;font-weight:800}.primary-button,.secondary-button,.accent-button,.ghost-button,.complete-button,.danger-button{border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button{background:var(--ink-900);border:1px solid var(--ink-900);color:#fff}.primary-button:hover{background:var(--ink-800);box-shadow:var(--shadow-ink)}.secondary-button{border:1px solid var(--slate-200);color:var(--ink-900);background:#fff}.secondary-button:hover{background:var(--slate-50);border-color:var(--slate-300)}.accent-button{background:var(--saffron-400);border:1px solid var(--saffron-400);color:var(--ink-950)}.accent-button:hover{background:var(--saffron-300);box-shadow:0 12px 26px -10px #f5a62399}.ghost-button{color:var(--ink-700);background:0 0;border:1px solid #0000}.ghost-button:hover{background:var(--slate-100)}.complete-button{background:var(--success-bg);color:var(--success);border:1px solid #0000}.danger-button{background:var(--danger-bg);color:var(--danger);border:1px solid #0000}.danger-button:hover{background:#f9d2da}.compact{min-height:36px;padding:7px 12px;font-size:13px}.button-link{width:fit-content}.stat-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.stat-tile{--tile-color:var(--ink-600);border:1px solid var(--border);border-left:4px solid var(--tile-color);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;background:#fff;gap:3px;min-width:0;padding:14px 16px;display:grid}.stat-tile:hover{border-color:color-mix(in srgb, var(--tile-color) 42%, var(--border));transform:translateY(-1px)}.stat-tile[aria-pressed=true]{border-color:var(--saffron-400);box-shadow:0 0 0 3px var(--saffron-100)}.stat-tile strong{color:var(--tile-color);font-family:var(--font-display);letter-spacing:-.035em;font-size:26px}.stat-tile.active strong{color:var(--ink-950)}.stat-tile[data-zero=true] strong{color:var(--slate-300)}.stat-tile span{color:var(--slate-600);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.stat-tile small{color:var(--slate-500);font-size:11px}.stat-tile.overdue{--tile-color:var(--danger)}.stat-tile.due-soon{--tile-color:var(--warning)}.stat-tile.in-progress{--tile-color:var(--info)}.stat-tile.unscheduled{--tile-color:var(--slate-400)}.stat-tile.meetings{--tile-color:var(--ink-500)}.admin-panel{margin-top:24px}.admin-table-scroll{margin-top:14px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:8px 12px;font-size:10px}.admin-table td{border-top:1px solid var(--slate-100);white-space:nowrap;padding:10px 12px;font-size:13px}.plan-form{align-items:center;gap:8px;display:flex}.plan-form select{min-height:34px;padding:4px 8px}.usage-panel{gap:18px;margin-top:24px;display:grid}.usage-rows{gap:12px;display:grid}.usage-row{grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.usage-row>span:first-child{color:var(--slate-600);font-size:13px;font-weight:600}.usage-track{background:var(--slate-100);border-radius:var(--r-pill);height:8px;overflow:hidden}.usage-track>span{background:var(--saffron-400);border-radius:var(--r-pill);height:100%;display:block}.usage-track>span.exhausted{background:var(--danger)}.usage-count{color:var(--slate-500);font-family:var(--font-mono);font-size:12px}.course-scope-title{align-items:center;gap:12px;display:flex}.course-scope-title .course-color-dot{flex-shrink:0;width:16px;height:16px}.course-title-link{text-decoration:none}.course-title-link:hover{color:var(--ink-600);text-decoration:underline}.plan-summary>div.overdue strong{color:var(--danger)}.plan-summary>div.at-risk strong{color:var(--warning)}.command-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;margin-top:8px;display:grid}.command-side .daily-focus-panel{margin-top:38px}.command-more{color:var(--slate-500);margin:12px 2px 0;font-size:13px}.assignment-row.assignment-row-actionable{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;padding:0 14px 0 0}.assignment-row.assignment-row-actionable .assignment-row-link{padding-left:18px}.row-complete{white-space:nowrap}.meeting-row{grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:12px 18px;text-decoration:none;display:grid}.meeting-row+.meeting-row{border-top:1px solid var(--slate-100)}.meeting-row strong{color:var(--ink-900)}.meeting-row-time{color:var(--slate-500);font-family:var(--font-mono);font-size:12px}.section-heading,.results-toolbar{justify-content:space-between;align-items:center;margin-top:38px;display:flex}.section-heading>a{color:var(--ink-700);font-size:13px;font-weight:700}.assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.assignment-card{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;gap:20px;min-width:0;padding:21px;display:grid}.assignment-card.due-soon,.assignment-card.overdue{border-left:4px solid var(--saffron-400)}.assignment-card.overdue{border-left-color:var(--danger)}.assignment-card.done{opacity:.76}.assignment-card.done h2{text-decoration:line-through}.assignment-card-top,.chip-row,.progress-meta,.row-actions,.detail-title-row{align-items:center;display:flex}.assignment-card-top{justify-content:space-between;align-items:flex-start;gap:12px}.chip-row{flex-wrap:wrap;gap:7px}.course-chip{border-radius:var(--r-pill);color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:130px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block;overflow:hidden}.course-chip.muted{background:var(--slate-100);color:var(--slate-600)}.priority-chip{text-transform:uppercase;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700}.priority-chip.high,.priority-chip.critical{background:var(--danger-bg);color:var(--danger)}.priority-chip.medium{background:var(--info-bg);color:var(--info)}.priority-chip.low{background:var(--slate-100);color:var(--slate-500)}.status-badge{border-radius:var(--r-pill);white-space:nowrap;padding:5px 9px;font-size:11px;font-weight:600;display:inline-block}.status-badge.done{background:var(--success-bg);color:var(--success)}.status-badge.in-progress{background:var(--info-bg);color:var(--info)}.status-badge.due-soon{background:var(--saffron-100);color:var(--saffron-700)}.status-badge.overdue{background:var(--danger-bg);color:var(--danger)}.status-badge.not-started{background:var(--slate-100);color:var(--slate-600)}.deadline{text-align:right;flex:none;gap:3px;display:grid}.deadline strong,.deadline span,.progress-meta,.row-deadline{font-family:var(--font-mono)}.deadline strong{color:var(--saffron-600);font-size:11px}.overdue .deadline strong{color:var(--danger)}.deadline span{color:var(--slate-500);font-size:10px}.assignment-card h2{font-size:18px}.assignment-card h2+p{color:var(--slate-500);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.progress-block{gap:7px;display:grid}.progress-meta{color:var(--slate-500);justify-content:space-between;font-size:10px}.progress-track,.mini-progress{background:var(--slate-200);border-radius:var(--r-pill);height:7px;overflow:hidden}.progress-track span,.mini-progress span{background:var(--ink-600);border-radius:inherit;height:100%;display:block}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.quick-entry-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:42px;display:grid}.panel,.empty-panel,.filter-bar,.assignment-list,.grouped-list{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff}.panel{padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.stack-form,.detail-main{gap:14px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.create-drawer{z-index:4;position:relative}.create-drawer>summary{list-style:none}.create-drawer>summary::-webkit-details-marker{display:none}.create-drawer>form{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:#fff;width:min(430px,100vw - 40px);padding:22px;position:absolute;top:calc(100% + 10px);right:0}.filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin-top:34px;padding:18px;display:flex}.filter-bar label{flex:130px;min-width:0}.filter-bar .search-field{flex:2 220px}.filter-bar>button,.filter-bar>a{flex:none}.filter-bar label span{font-size:11px}.active-filter-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.active-filter-strip span{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.active-filter-strip strong{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--ink-900);background:#fff;padding:6px 10px;font-size:12px}.results-toolbar{margin-top:24px}.results-toolbar p{color:var(--slate-500);font-size:13px}.results-toolbar p strong{color:var(--ink-900)}.bulk-action-bar{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;display:flex}.bulk-action-bar label{color:var(--ink-900);flex-direction:row;align-items:center;gap:8px;font-size:13px;display:flex}.bulk-action-bar input[type=checkbox],.row-select input{width:auto;min-height:0}.bulk-action-bar>span{color:var(--slate-500);flex:1;font-size:13px}.bulk-delete-confirmation{border-radius:var(--r-sm);background:#fff0f3;border:1px solid #ffc9d6;align-items:center;gap:10px;padding:8px;display:flex}.bulk-delete-confirmation strong{color:var(--danger);font-size:13px}.bulk-delete-confirmation span{color:var(--slate-500);font-size:12px}.segmented-control{background:var(--slate-100);border-radius:var(--r-sm);gap:2px;padding:3px;display:flex}.segmented-control a{color:var(--slate-500);text-transform:capitalize;border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none}.segmented-control a.active{box-shadow:var(--shadow-sm);color:var(--ink-900);background:#fff}.assignment-list,.grouped-list{margin-top:14px;overflow:hidden}.assignment-list-header{background:var(--slate-50);border-bottom:1px solid var(--slate-100);color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:42px 105px minmax(180px,1fr) 90px 90px 90px;align-items:center;gap:12px;padding:12px 18px 12px 0;font-size:10px;display:grid}.assignment-row{grid-template-columns:8px 105px minmax(180px,1fr) 90px 90px 90px;align-items:center;gap:12px;min-height:66px;padding:12px 18px;text-decoration:none;display:grid}.assignment-row-selectable{grid-template-columns:42px minmax(0,1fr);gap:0;padding:0}.assignment-row-link{grid-template-columns:8px 105px minmax(180px,1fr) 90px 90px 90px;align-items:center;gap:12px;min-height:66px;padding:12px 18px 12px 0;text-decoration:none;display:grid}.row-select{justify-content:center;align-items:center;min-height:66px;display:flex}.assignment-row+.assignment-row,.assignment-group+.assignment-group{border-top:1px solid var(--slate-100)}.assignment-row:hover,.assignment-row-selectable:hover .assignment-row-link{background:var(--slate-50)}.assignment-row>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.course-dot{border-radius:50%;width:8px;height:8px}.mini-progress{width:80px;height:5px}.row-deadline{color:var(--slate-500);font-size:10px}.subtask-row{background:var(--slate-50);grid-template-columns:72px 1fr;padding-left:30px;display:grid}.subtask-row>span{color:var(--slate-400);font-family:var(--font-mono);text-transform:uppercase;align-self:center;font-size:9px}.subtask-row .assignment-row{grid-template-columns:8px 105px minmax(140px,1fr) 90px 90px 90px}.empty-panel{text-align:center;margin-top:24px;padding:44px}.empty-panel p{color:var(--slate-500);max-width:560px;margin:10px auto 0;line-height:1.55}.phase-label{background:var(--saffron-100);border-radius:var(--r-pill);color:var(--saffron-700);text-transform:uppercase;margin-bottom:18px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-block}.detail-header{margin-bottom:30px}.back-link{color:var(--slate-500);margin-bottom:16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.detail-title-row{flex-wrap:wrap;align-items:flex-start;gap:14px}.detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);align-items:start;gap:22px;display:grid}.detail-sidebar{gap:16px;display:grid}.danger-zone{border-radius:var(--r-lg);background:#fff;border:1px solid #fecaca;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.danger-zone strong{font-size:13px}.danger-zone p{color:var(--slate-500);margin-top:3px;font-size:12px}.courses-layout{grid-template-columns:minmax(280px,.65fr) minmax(0,1.5fr);align-items:start}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.course-card{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;gap:12px;padding:18px;display:grid;position:relative;overflow:visible}.course-card-accent{border-radius:var(--r-pill);width:40px;height:5px}.course-card input[type=color]{max-width:70px;padding:4px}.course-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin-top:34px}.course-overview-card{flex-direction:column;gap:16px;padding:22px;display:flex;overflow:visible}.course-overview-card .course-card-heading h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;display:-webkit-box;overflow:hidden}.course-overview-card .course-card-actions{margin-top:auto}.course-card-color{height:5px;position:absolute;top:0;left:0;right:0}.course-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.course-card-heading h2{margin-top:5px;font-size:19px;line-height:1.25}.course-card-code{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.course-color-dot{box-shadow:0 0 0 1px var(--border);border:3px solid #fff;border-radius:50%;flex:none;width:18px;height:18px}.course-metrics{background:color-mix(in srgb, var(--slate-50) 62%, white);border:1px solid var(--border);border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.course-metrics>div{text-align:center;gap:2px;padding:11px 10px;display:grid}.course-metrics>div+div{border-left:1px solid var(--border)}.course-metrics strong{color:var(--ink-950);font-size:17px;line-height:1}.course-metrics span,.course-next span,.course-next small{color:var(--slate-500);font-size:10px}.locked-course-field{background:var(--slate-50);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;padding:12px 14px;display:grid}.locked-course-field span{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.locked-course-field strong{color:var(--ink-950);font-size:14px;line-height:1.35}.locked-course-field small{color:var(--slate-500);font-size:11px;line-height:1.4}.course-next{gap:4px;min-height:58px;display:grid}.course-next>span{letter-spacing:.06em;text-transform:uppercase;font-weight:700}.course-next strong{font-size:14px;line-height:1.35}.course-next.overdue>span,.course-next.overdue>small{color:var(--danger)}.course-card-actions{align-items:center;gap:8px;margin-top:auto;display:flex}.course-card-actions>a{text-align:center;flex:1}.course-save-status{background:var(--success-bg);border:1px solid color-mix(in srgb, var(--success) 30%, white);border-radius:var(--r-pill);color:var(--success);align-self:center;padding:8px 10px;font-size:11px;font-weight:800}.course-editor>summary{cursor:pointer;list-style:none}.course-editor>summary::-webkit-details-marker{display:none}.course-editor[open]{width:100%}.course-card:has(.course-editor[open]){gap:14px}:is(.course-card:has(.course-editor[open]) .course-card-heading,.course-card:has(.course-editor[open]) .course-metrics,.course-card:has(.course-editor[open]) .course-next){display:none}.course-card:has(.course-editor[open]) .course-card-actions{margin-top:0;display:block}.course-card-actions:has(.course-editor[open]){display:block}.course-card-actions:has(.course-editor[open])>a{display:none}.course-editor[open]>summary{display:none}.course-editor form{border-top:0;width:100%;padding-top:10px}.course-edit-heading{background:var(--slate-50);border:1px solid var(--border);border-radius:var(--r-md);gap:3px;padding:12px 14px;display:grid}.course-edit-heading span{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.course-edit-heading strong{color:var(--ink-950);font-size:14px}.course-editor .row-actions{flex-wrap:wrap;justify-content:space-between;gap:10px}.course-editor .row-actions>.secondary-button{text-align:center}.text-danger-button{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:12px;font-weight:800}.inline-delete-confirmation{border-radius:var(--r-md);background:#fff1f2;border:1px solid #fecaca;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.inline-delete-confirmation strong{color:var(--ink-950);font-size:13px}.inline-delete-confirmation p{color:var(--slate-600);margin-top:2px;font-size:12px;line-height:1.4}.inline-delete-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.calendar-page-header{align-items:center}.calendar-header-actions{flex:none;align-items:center;gap:10px;display:flex}.calendar-share-control{align-items:center;gap:10px;display:flex}.calendar-email-drawer{position:relative}.calendar-email-drawer>summary{cursor:pointer;text-align:right;font-size:12px;list-style:none}.calendar-email-drawer>summary::-webkit-details-marker{display:none}.calendar-email-form{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:4;background:#fff;align-items:end;gap:6px;margin-top:8px;padding:14px;display:flex;position:absolute;top:100%;right:0}.calendar-email-form label{color:var(--slate-500);text-align:left;gap:3px;font-size:10px;font-weight:700;display:grid}.calendar-email-form input{border:1px solid var(--border);color:var(--ink-900);font:inherit;border-radius:10px;width:220px;min-height:36px;padding:8px 10px}.calendar-email-drawer .inline-success{color:var(--success);margin:0;padding:8px 14px;font-size:12px}.calendar-email-drawer .inline-error{color:var(--danger);margin:0;padding:8px 14px;font-size:12px}.calendar-create-drawer>form{max-height:calc(100vh - 130px);overflow-y:auto}.calendar-toolbar{justify-content:center;align-items:center;margin-top:30px;display:flex}.calendar-toolbar>div{flex-direction:column;align-items:center;gap:3px;min-width:220px;display:flex}.calendar-toolbar strong{font-family:var(--font-display);font-size:20px}.calendar-toolbar div a{color:var(--ink-700);font-size:11px;font-weight:700}.calendar-surface{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;margin-top:16px;overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{background:var(--slate-50);border-bottom:1px solid var(--border)}.calendar-weekdays span{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:11px 8px;font-size:10px}.calendar-grid{background:var(--slate-200);gap:1px}.calendar-cell{background:#fff;min-height:126px;padding:8px;position:relative;overflow:hidden}.calendar-cell.outside-month{background:var(--slate-50)}.calendar-cell.today{background:#f7faff}.calendar-cell.selected{box-shadow:inset 0 0 0 2px var(--saffron-400)}.calendar-day-number{color:var(--slate-600);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:11px;text-decoration:none;display:inline-flex}.calendar-day-number:after{content:"";position:absolute;inset:0}.calendar-day-number:hover{background:var(--slate-100)}.today .calendar-day-number:hover{background:var(--ink-800)}.today .calendar-day-number{background:var(--ink-900);color:#fff;font-weight:700}.calendar-cell-items{z-index:1;gap:3px;margin-top:5px;display:grid;position:relative}.calendar-event{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:4px 6px;font-size:10px;font-weight:700;line-height:1.25;text-decoration:none;display:block;overflow:hidden}.calendar-event:hover{filter:brightness(.92)}.calendar-event.meeting{position:relative}.calendar-event.meeting:before{content:"•";margin-right:4px}.calendar-event span{font-family:var(--font-mono);margin-right:4px;font-size:8px}.calendar-more{color:var(--slate-500);padding:2px 4px;font-size:9px;font-weight:700}.calendar-agenda,.calendar-month-agenda{margin-top:34px}.calendar-agenda .section-heading,.calendar-month-agenda .section-heading{margin-top:0}.count{background:var(--slate-100);border-radius:var(--r-pill);color:var(--slate-600);font-family:var(--font-mono);padding:6px 10px;font-size:10px}.agenda-list,.month-agenda-list{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;margin-top:14px;overflow:hidden}.agenda-assignment{grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:13px 18px;text-decoration:none;display:grid}.agenda-assignment:hover,.month-agenda-list a:hover{background:var(--slate-50)}.agenda-assignment+.agenda-assignment,.calendar-meeting-editor+.agenda-assignment,.agenda-assignment+.calendar-meeting-editor,.calendar-meeting-editor+.calendar-meeting-editor{border-top:1px solid var(--slate-100)}.agenda-assignment div{gap:3px;display:grid}.agenda-assignment strong{font-size:14px}.agenda-assignment div span{color:var(--slate-500);font-size:12px}.calendar-meeting-editor summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:68px;padding:13px 18px;list-style:none;display:flex}.calendar-meeting-editor summary::-webkit-details-marker{display:none}.calendar-meeting-editor summary:hover{background:var(--slate-50)}.calendar-meeting-editor summary>span:first-child{align-items:center;gap:12px;font-size:14px;display:flex}.calendar-meeting-editor summary strong{color:var(--slate-500);font-family:var(--font-mono);min-width:70px;font-size:10px}.calendar-meeting-editor summary>span:last-child{color:var(--ink-700);font-size:11px;font-weight:700}.calendar-meeting-editor>form{background:var(--slate-50);border-top:1px solid var(--slate-100);padding:18px}.calendar-empty-day,.calendar-no-month-items{border:1px solid var(--border);border-radius:var(--r-lg);color:var(--slate-500);text-align:center;background:#fff;margin-top:14px;padding:26px}.calendar-empty-day{gap:5px;display:grid}.calendar-empty-day p{color:var(--ink-900);font-weight:700}.calendar-empty-day span,.calendar-no-month-items{font-size:13px}.month-agenda-list a{grid-template-columns:8px 78px minmax(0,1fr) 80px;align-items:center;gap:12px;min-height:60px;padding:10px 18px;text-decoration:none;display:grid}.month-agenda-list a+a{border-top:1px solid var(--slate-100)}.month-agenda-list time{color:var(--slate-500);font-family:var(--font-mono);gap:2px;font-size:10px;display:grid}.month-agenda-list time small{font-size:8px}.month-agenda-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.month-agenda-list>a>span:last-child{color:var(--slate-500);text-align:right;font-size:11px}.item-preview-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.item-preview{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;width:90vw;max-width:420px;max-height:80vh;padding:24px;display:flex;overflow-y:auto}.item-preview-header{justify-content:space-between;align-items:center;display:flex}.item-preview-type{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;font-size:11px;font-weight:700}.item-preview-type.assignment{background:var(--saffron-100);color:var(--saffron-700)}.item-preview-type.meeting{background:var(--slate-100);color:var(--ink-700)}.item-preview-title{margin:0;font-size:18px;font-weight:700;line-height:1.3}.item-preview-course{color:var(--text-soft);align-items:center;gap:6px;font-size:13px;display:flex}.item-preview-meta{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}.item-preview-meta dt{color:var(--text-soft);font-weight:600}.item-preview-meta dd{margin:0}.item-preview-description,.item-preview-notes{border-top:1px solid var(--border);color:var(--text-soft);white-space:pre-wrap;margin:0;padding-top:12px;font-size:13px;line-height:1.5}.item-preview-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.ics-import-zone{position:relative}.ics-file-input{display:none}.ics-drop-overlay{border:3px dashed var(--saffron-400);border-radius:var(--r-lg);pointer-events:none;z-index:10;background:#1220398c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ics-drop-content{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;align-items:center;gap:10px;padding:32px 44px;display:flex}.ics-drop-icon{font-size:32px}.ics-drop-content strong{color:var(--ink-900);font-size:16px}.ics-modal-backdrop{z-index:100;background:#12203980;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ics-modal{border-radius:var(--r-xl);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex}.ics-modal-compact{text-align:center;align-items:center;gap:16px;max-width:400px;padding:32px}.ics-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.ics-modal-header h2{font-family:var(--font-display);margin:0;font-size:18px}.ics-file-name{color:var(--slate-500);font-family:var(--font-mono);margin:4px 0 0;font-size:12px}.ics-modal-controls{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:10px 24px;display:flex}.ics-toggle{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.ics-toggle input{width:auto;min-height:auto}.ics-count{color:var(--slate-500);font-family:var(--font-mono);margin-left:auto;font-size:12px}.ics-event-list{flex:1;padding:8px 24px;overflow-y:auto}.ics-empty{color:var(--slate-500);text-align:center;padding:24px 0;font-size:13px}.ics-event-row{border-bottom:1px solid var(--slate-100);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.ics-event-row:last-child{border-bottom:0}.ics-event-row input[type=checkbox]{flex-shrink:0;width:auto;min-height:auto;margin-top:3px}.ics-event-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ics-event-info strong{font-size:14px}.ics-event-info span{color:var(--slate-500);font-family:var(--font-mono);font-size:12px}.ics-event-location{color:var(--slate-400);font-style:italic}.ics-modal-footer{border-top:1px solid var(--border);padding:16px 24px}.ics-modal-footer .primary-button,.delete-confirmation{width:100%}.delete-confirmation summary{color:var(--danger);cursor:pointer;padding:8px 10px;font-size:12px;font-weight:700;list-style:none}.delete-confirmation summary::-webkit-details-marker{display:none}.delete-confirmation>div{border-radius:var(--r-sm);background:#fff1f2;border:1px solid #fecaca;gap:10px;margin-top:8px;padding:12px;display:grid}.delete-confirmation p{color:var(--slate-600);font-size:12px;line-height:1.4}.plan-page-header{align-items:center}.plan-focus{border:1px solid var(--border);border-left:4px solid var(--slate-300);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:inherit;background:#fff;gap:4px;margin-top:24px;padding:18px 22px;text-decoration:none;display:grid}.plan-focus:hover{background:var(--slate-50)}.plan-focus.overdue{border-left-color:var(--danger)}.plan-focus.at-risk{border-left-color:var(--saffron-500)}.plan-focus.on-track{border-left-color:var(--success)}.plan-focus.meeting{border-left-color:var(--slate-500)}.plan-focus-header{justify-content:space-between;align-items:center;display:flex}.plan-focus-header .eyebrow{margin:0}.plan-focus-title{font-family:var(--font-display);font-size:18px}.plan-focus-meta{color:var(--slate-500);font-size:12px}.plan-focus-nudge{color:var(--slate-600);margin-top:2px;font-size:13px;line-height:1.5}.plan-summary{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:repeat(4,1fr);margin-top:30px;display:grid}.plan-summary>div{text-align:center;gap:4px;padding:17px 20px;display:grid}.plan-summary>div+div{border-left:1px solid var(--slate-100)}.plan-summary strong{color:var(--ink-800);font-family:var(--font-display);font-size:24px}.plan-summary span{color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.plan-toolbar{justify-content:center;align-items:center;gap:8px;margin-top:24px;display:flex}.plan-toolbar>div{text-align:center;gap:3px;min-width:250px;display:grid}.plan-toolbar strong{font-family:var(--font-display);font-size:17px}.plan-toolbar span{color:var(--slate-500);font-size:10px}.plan-view-toggle{background:var(--slate-100);border-radius:var(--r-pill);gap:2px;margin-top:28px;padding:3px;display:inline-flex}.plan-view-toggle button{border-radius:var(--r-pill);color:var(--slate-500);cursor:pointer;font-family:var(--font-ui);background:0 0;border:0;padding:7px 18px;font-size:13px;font-weight:600}.plan-view-toggle button.active{box-shadow:var(--shadow-sm);color:var(--ink-800);background:#fff}.plan-view-toggle button:hover:not(.active){color:var(--ink-600)}.plan-timeline,.gantt-section{margin-top:34px}.plan-timeline .section-heading,.gantt-section .section-heading{margin-top:0}.timeline-list{margin-top:16px;position:relative}.timeline-list:before{background:var(--slate-200);content:"";width:2px;position:absolute;top:28px;bottom:28px;left:91px}.timeline-item{grid-template-columns:76px 14px minmax(0,1fr);align-items:center;gap:16px;min-height:82px;text-decoration:none;display:grid;position:relative}.timeline-item time{color:var(--slate-500);font-family:var(--font-mono);text-align:right;gap:2px;display:grid}.timeline-item time strong{font-size:11px}.timeline-item time span{font-size:9px}.timeline-dot{background:var(--ink-600);border:3px solid var(--slate-50);z-index:1;border-radius:50%;width:14px;height:14px;position:relative}.timeline-item.at-risk .timeline-dot{background:var(--saffron-500)}.timeline-item.overdue .timeline-dot{background:var(--danger)}.timeline-item.meeting .timeline-dot{background:var(--slate-500);border-radius:3px}.timeline-content{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);background:#fff;gap:5px;padding:14px 16px;display:grid}.timeline-item:hover .timeline-content{background:var(--slate-50);border-color:var(--slate-300)}.timeline-content>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.timeline-content>strong{font-size:14px}.timeline-content>span{color:var(--slate-500);font-size:11px}.timeline-course{color:var(--slate-500);text-transform:uppercase;font-size:10px;font-weight:700}.plan-state{border-radius:var(--r-pill);text-transform:uppercase;padding:4px 7px;font-size:9px;font-weight:700}.plan-state.on-track,.gantt-legend .on-track{background:var(--success-bg);color:var(--success)}.plan-state.at-risk,.gantt-legend .at-risk{background:var(--saffron-100);color:var(--saffron-700)}.plan-state.overdue,.gantt-legend .overdue{background:var(--danger-bg);color:var(--danger)}.plan-state.meeting{background:var(--slate-100);color:var(--slate-600)}.gantt-legend{gap:7px;display:flex}.gantt-legend span{border-radius:var(--r-pill);text-transform:uppercase;padding:5px 8px;font-size:9px;font-weight:700}.gantt-mobile-note{display:none}.gantt-scroll{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;margin-top:16px;overflow-x:auto}.gantt-chart{min-width:940px}.gantt-header,.gantt-group-heading,.gantt-row{grid-template-columns:250px minmax(650px,1fr);display:grid}.gantt-header{background:var(--slate-50);border-bottom:1px solid var(--border);color:var(--slate-500);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:9px}.gantt-header>div:first-child,.gantt-group-heading>div:first-child,.gantt-label{border-right:1px solid var(--slate-100)}.gantt-header>div:first-child{padding:12px 16px}.gantt-axis,.gantt-group-axis,.gantt-track{position:relative}.gantt-axis{min-height:38px}.gantt-start-label,.gantt-month-label{align-items:center;display:flex;position:absolute;top:0;bottom:0}.gantt-start-label{left:8px}.gantt-month-label{border-left:1px solid var(--slate-200);padding-left:6px}.gantt-group-heading{border-bottom:1px solid var(--slate-100);background:#f8fafc;min-height:34px}.gantt-group-heading>div:first-child{align-items:center;gap:9px;padding:8px 16px;display:flex}.gantt-group-heading strong{color:var(--slate-600);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.gantt-grid-line{background:var(--slate-100);width:1px;position:absolute;top:0;bottom:0}.gantt-row{border-bottom:1px solid var(--slate-100);color:inherit;min-height:60px;text-decoration:none}.gantt-row:last-child{border-bottom:0}.gantt-row:hover{background:var(--slate-50)}.gantt-label{justify-content:center;gap:4px;min-width:0;padding:11px 16px;display:grid}.gantt-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gantt-label span{color:var(--slate-500);font-family:var(--font-mono);font-size:9px}.gantt-today-line{background:var(--ink-600);z-index:1;width:2px;position:absolute;top:0;bottom:0}.gantt-bar{--bar-color:var(--course-color);background:color-mix(in srgb, var(--bar-color) 15%, white);border:1px solid color-mix(in srgb, var(--bar-color) 55%, white);z-index:2;border-radius:5px;min-width:10px;height:26px;position:absolute;top:17px;left:0;overflow:hidden}.gantt-bar.at-risk{--bar-color:var(--saffron-500)}.gantt-bar.overdue{--bar-color:var(--danger)}.gantt-bar>span{background:color-mix(in srgb, var(--bar-color) 72%, white);position:absolute;top:0;bottom:0;left:0}.gantt-bar small{color:color-mix(in srgb, var(--bar-color) 75%, black);font-family:var(--font-mono);white-space:nowrap;font-size:8px;font-weight:700;line-height:24px;position:absolute;left:7px}.gantt-due-pin{background:var(--course-color,var(--ink-600));z-index:3;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:25px;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0f172a26}.gantt-due-pin.at-risk{background:var(--saffron-500)}.gantt-due-pin.overdue{background:var(--danger)}.plan-empty,.gantt-empty{margin-top:16px}.voice-workspace{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:20px;display:grid}.voice-capture,.voice-review,.voice-review-empty{border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);background:#fff}.voice-capture{text-align:center;flex-direction:column;align-items:center;min-height:420px;padding:clamp(24px,3.5vw,44px);display:flex}.syllabus-workspace,.document-import{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:clamp(16px,2vw,28px);display:grid}.syllabus-upload-card,.syllabus-review,.syllabus-success{border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);background:#fff;padding:clamp(24px,4vw,40px)}.syllabus-upload-card{align-self:start;padding:clamp(20px,2vw,28px);position:sticky;top:22px}.syllabus-upload-card>p:not(.eyebrow,.voice-privacy,.voice-error),.syllabus-success>p:not(.eyebrow,.voice-error){color:var(--slate-500);line-height:1.6}.syllabus-upload-card form{gap:14px;margin-top:26px;display:grid}.syllabus-dropzone{background:var(--slate-50);border:1.5px dashed var(--slate-300);border-radius:var(--r-lg);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:136px;padding:20px;display:flex}.syllabus-dropzone:hover{border-color:var(--saffron-500)}.syllabus-dropzone.dragging{background:var(--saffron-100);border-color:var(--saffron-500);transform:translateY(-2px)}.syllabus-dropzone span{color:var(--ink-950);font-weight:700}.syllabus-dropzone small{color:var(--slate-500)}.syllabus-dropzone input{max-width:100%;margin-top:10px}.syllabus-review{min-width:0;padding:clamp(24px,3vw,40px)}.course-choice{background:var(--slate-50);border-radius:var(--r-lg);gap:14px;margin-bottom:18px;padding:16px 18px;display:grid}.course-draft-fields{grid-template-columns:1.4fr .7fr .9fr}.syllabus-items{gap:12px;min-height:min(620px,100vh - 260px);max-height:calc(100vh - 260px);padding-right:4px;display:grid;overflow:auto}.syllabus-item{border:1px solid var(--border);border-radius:var(--r-lg);padding:0;transition:opacity .16s}.syllabus-item-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 16px;list-style:none;display:flex}.syllabus-item-summary::-webkit-details-marker{display:none}.syllabus-item-summary:before{color:var(--text-soft);content:"▸";flex-shrink:0;width:10px;font-size:11px;transition:transform .12s}.syllabus-item[open]>.syllabus-item-summary:before{transform:rotate(90deg)}.syllabus-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.syllabus-item-type-badge{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.syllabus-item-type-badge.assignment{background:var(--saffron-100);color:var(--saffron-700)}.syllabus-item-type-badge.meeting{background:var(--slate-100);color:var(--ink-700)}.syllabus-item-date{color:var(--text-soft);flex-shrink:0;font-size:12px}.syllabus-item-date.missing{color:var(--danger);font-weight:600}.syllabus-item-dup-badge{border-radius:var(--r-pill);flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.syllabus-item-dup-badge.likely{background:color-mix(in srgb, var(--saffron-200) 60%, white);color:var(--saffron-700)}.syllabus-item-dup-badge.possible{background:var(--slate-100);color:var(--ink-700)}.syllabus-item-weight{color:var(--text-soft);flex-shrink:0;font-size:12px;font-weight:600}.syllabus-item-body{border-top:1px solid var(--border);gap:10px;padding:16px;display:grid}.syllabus-loader{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.syllabus-loader span{background:var(--saffron-400);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite syllabus-pulse}.syllabus-loader span:nth-child(2){animation-delay:.15s}.syllabus-loader span:nth-child(3){animation-delay:.3s}@keyframes syllabus-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.syllabus-item.needs-attention,.course-choice.needs-attention{background:color-mix(in srgb, var(--danger) 5%, white);border:1px solid color-mix(in srgb, var(--danger) 55%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 10%, transparent)}.import-attention{background:color-mix(in srgb, var(--danger) 7%, white);border:1px solid color-mix(in srgb, var(--danger) 35%, white);border-radius:var(--r-md);color:var(--ink-900);gap:4px;margin-bottom:16px;padding:14px 16px;display:grid}.import-attention span,.field-error{color:var(--danger);font-size:12px}.field-error{font-weight:600}.syllabus-item.excluded:not(.duplicate){background:var(--slate-50);opacity:.55}.syllabus-item.duplicate{background:color-mix(in srgb, var(--saffron-100) 42%, white);border-color:color-mix(in srgb, var(--saffron-500) 45%, white)}.syllabus-item.duplicate.possible{border-color:color-mix(in srgb, var(--ink-600) 28%, white);background:#f1f4fb}.import-duplicate-notice,.duplicate-match{background:var(--saffron-100);border:1px solid color-mix(in srgb, var(--saffron-500) 35%, white);border-radius:var(--r-md);gap:4px;display:grid}.import-duplicate-notice{margin-bottom:16px;padding:14px 16px}.import-duplicate-notice.possible,.duplicate-match.possible{background:#eef3fb;border-color:#c9d6e8}.duplicate-match{padding:10px 12px}.import-duplicate-notice span,.duplicate-match span,.import-duplicate-summary{color:var(--slate-600);font-size:12px}.syllabus-select{flex-direction:row;align-items:center;gap:8px;width:max-content;display:flex}.syllabus-select input{width:auto;margin:0}.syllabus-confirm{width:100%;margin-top:20px}.import-kind-label{color:var(--slate-600);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.import-kind-toggle{background:var(--slate-100);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;padding:4px;display:grid}.import-kind-hint{color:var(--slate-500);margin:0 0 22px;font-size:12px}.import-kind-toggle button{color:var(--slate-500);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 12px;font-weight:700}.import-kind-toggle button.active{box-shadow:var(--shadow-sm);color:var(--ink-950);background:#fff}.import-queue{gap:8px;margin-top:18px;display:grid}.import-queue-item{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;background:#fff;gap:3px;padding:11px 12px;display:grid}.import-queue-item>span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.import-queue-item>small{color:var(--slate-500)}.import-queue-item.active,.import-queue-item.ready{border-color:var(--saffron-500)}.import-queue-item.failed{border-color:var(--danger)}.import-queue-item.confirmed{background:var(--slate-50);opacity:.75}.syllabus-process{width:100%;margin-top:14px}.syllabus-item-toolbar{justify-content:space-between;align-items:end;display:flex}.syllabus-item-toolbar>label:last-child{min-width:140px}.syllabus-undo{width:100%;margin-top:10px}.syllabus-clear{width:100%;margin-top:8px}.syllabus-success{margin-bottom:24px}.import-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.import-result-grid>div{background:var(--slate-50);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;min-width:0;padding:14px;display:grid}.import-result-grid span{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.import-result-grid strong{color:var(--ink-950);font-size:18px}.import-result-grid small{color:var(--slate-500);text-overflow:ellipsis;font-size:11px;line-height:1.35;overflow:hidden}.import-success-mark{background:var(--saffron-100);color:var(--saffron-700);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:24px;font-size:24px;font-weight:800;display:flex}.import-success-actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.text-button{color:var(--slate-500);cursor:pointer;background:0 0;border:0;padding:8px;font-weight:600}.text-button:hover{color:var(--danger)}.import-section-break{color:var(--slate-400);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:16px;margin:34px 0;font-size:12px;font-weight:700;display:flex}.import-section-break:before,.import-section-break:after{background:var(--border);content:"";flex:1;height:1px}.voice-capture h2,.voice-review h2{margin:6px 0 10px}.voice-capture>div:first-child>p:last-child,.voice-review-header p:last-child{color:var(--slate-500)}.voice-wave{justify-content:center;align-items:center;gap:4px;width:min(100%,340px);height:64px;margin:22px 0 8px;display:flex}.voice-wave span{background:var(--saffron-500);opacity:.5;border-radius:999px;width:4px;min-height:7px;transition:height 80ms linear,opacity .18s}.voice-capture.recording .voice-wave span{opacity:.95}.voice-timer,.voice-privacy{color:var(--slate-500);font-size:13px}.voice-controls{grid-template-columns:46px 64px 46px;align-items:center;margin:16px 0 20px;display:grid}.voice-record-button,.voice-side-button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.voice-record-button{background:var(--saffron-500);color:#0000;width:64px;height:64px;position:relative;box-shadow:0 12px 30px #f5a6234d}.voice-record-button:after{color:#fff;content:"MIC";letter-spacing:.08em;font-size:11px;font-weight:800}.voice-record-button.active{background:var(--danger)}.voice-record-button.active:after{content:""}.voice-stop-icon{background:#fff;border-radius:5px;width:18px;height:18px}.voice-side-button{background:var(--slate-100);color:var(--ink-950);width:42px;height:42px;font-size:24px}.voice-side-placeholder{width:42px;height:42px}.voice-transcript-label{text-align:left;width:100%}.voice-transcript-label textarea{min-height:124px}.voice-error{color:var(--danger);text-align:left;width:100%;margin:12px 0 0;font-size:14px}.voice-prepare-button{width:100%;margin-top:16px}.voice-privacy{max-width:34rem;margin:16px auto 0}.voice-review{padding:clamp(24px,4vw,40px)}.voice-review-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;display:flex}.voice-review-header>span{background:var(--saffron-100);color:var(--ink-950);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.voice-review-empty{color:var(--slate-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:32px;display:flex}.auth-page,.error-page{background:radial-gradient(circle at 20% 15%, #f5a62329, transparent 32%), var(--ink-950);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border-radius:var(--r-xl);box-shadow:var(--shadow-lg);background:#fff;max-width:560px;padding:44px}.auth-card>p:not(.eyebrow){color:var(--slate-600);margin-top:16px;line-height:1.6}.auth-card>.button-link,.auth-card>button{margin-top:24px}.auth-logo{background:var(--ink-950);border-radius:var(--r-lg);color:#fff;margin-bottom:32px;padding:14px 18px;display:inline-flex}.auth-actions{gap:12px;margin-top:28px;display:flex}.auth-clerk-embed{justify-content:center;margin-top:28px;display:flex}@media (max-width:1080px){.syllabus-workspace,.document-import,.voice-workspace{grid-template-columns:1fr}.voice-capture{min-height:auto}.assignment-grid,.course-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar label{flex:calc(50% - 6px)}.filter-bar .search-field{flex-basis:100%}.assignment-row,.assignment-row-link,.subtask-row .assignment-row{grid-template-columns:8px 90px minmax(140px,1fr) 80px 80px}.assignment-row .mini-progress,.assignment-row-link .mini-progress{display:none}.calendar-cell{min-height:108px}}@media (max-width:820px){.product-shell{display:block}.sidebar{min-height:auto;padding:16px;position:static}.sidebar nav{scrollbar-width:none;gap:4px;margin-top:18px;padding-bottom:2px;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav a{flex:none;padding:9px 11px}.environment{display:none}.account{margin-top:12px}.workspace{padding:30px 20px 56px}.page-header,.focus-card{flex-direction:column;align-items:flex-start}.calendar-page-header{align-items:flex-start}.calendar-header-actions{width:100%}.calendar-create-drawer{flex:1}.calendar-create-drawer>summary{width:100%}.calendar-create-drawer>form{left:0;right:auto}.assignment-grid,.quick-entry-grid,.course-grid,.courses-layout,.detail-layout,.course-overview-grid{grid-template-columns:1fr}.create-drawer>form{left:0;right:auto}.assignment-row,.assignment-row-link,.subtask-row .assignment-row{grid-template-columns:8px minmax(0,1fr) auto}.assignment-row .course-chip,.assignment-row .mini-progress,.assignment-row .row-deadline,.assignment-row-link .course-chip,.assignment-row-link .mini-progress,.assignment-row-link .row-deadline{display:none}.subtask-row{grid-template-columns:1fr;padding:8px 0 8px 22px}.subtask-row>span{padding-left:18px}.calendar-surface{display:none}.calendar-toolbar{justify-content:space-between}.calendar-toolbar>div{min-width:0}.calendar-agenda{margin-top:24px}.plan-page-header{align-items:flex-start}.plan-summary{grid-template-columns:repeat(2,1fr)}.stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.command-grid{grid-template-columns:1fr}.plan-summary>div:nth-child(3){border-left:0}.plan-summary>div:nth-child(n+3){border-top:1px solid var(--slate-100)}.plan-view-toggle,.gantt-scroll,.gantt-legend{display:none}.gantt-mobile-note{border:1px solid var(--border);border-radius:var(--r-lg);color:var(--slate-500);background:#fff;margin-top:14px;padding:20px;font-size:13px;line-height:1.55;display:block}}@media (max-width:560px){.syllabus-upload-card,.syllabus-review,.syllabus-success{border-radius:var(--r-lg);padding:22px}.course-draft-fields{grid-template-columns:1fr}.voice-capture,.voice-review{border-radius:var(--r-lg);padding:22px}.voice-wave{gap:3px}.voice-wave span{width:3px}.voice-review-header{gap:16px}h1{font-size:32px}.workspace{padding-inline:16px}.form-row{grid-template-columns:1fr}.filter-bar label,.search-field{flex-basis:100%}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-card,.panel,.assignment-card,.empty-panel{padding:20px}.results-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.segmented-control{width:100%}.segmented-control a{text-align:center;flex:1}.calendar-header-actions{flex-direction:column;align-items:stretch}.calendar-header-actions>*,.calendar-print-button{width:100%}.calendar-share-control{flex-direction:column;align-items:stretch;width:100%}.calendar-email-drawer>summary{text-align:left}.calendar-email-form{flex-direction:column;align-items:stretch;left:0;right:auto}.calendar-email-form input{width:100%}.calendar-meeting-editor summary>span:first-child{flex-direction:column;align-items:flex-start;gap:3px}.calendar-meeting-editor summary strong{min-width:0}.month-agenda-list a{grid-template-columns:8px 62px minmax(0,1fr)}.month-agenda-list>a>span:last-child{display:none}.plan-toolbar{grid-template-columns:auto 1fr auto;display:grid}.plan-toolbar>div{grid-area:1/1/auto/-1;min-width:0}.plan-toolbar>a:first-child{grid-area:2/1}.plan-toolbar>a:nth-of-type(2){grid-area:2/2}.plan-toolbar>a:last-child{grid-area:2/3}.timeline-list:before{left:11px}.timeline-item{grid-template-columns:14px minmax(0,1fr);align-items:start;gap:10px;padding:7px 0}.timeline-item time{text-align:left;grid-area:1/2}.timeline-dot{grid-area:1/1/span 2;margin-top:3px}.timeline-content{grid-area:2/2}.timeline-content>div{flex-direction:column;align-items:flex-start;gap:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{@page{margin:.35in;size:landscape}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{color:var(--ink-950);background:#fff}.product-shell{min-height:auto;display:block}.sidebar,.calendar-header-actions,.calendar-toolbar a,.calendar-agenda,.create-drawer{display:none!important}.workspace{width:100%;max-width:none;padding:0}.calendar-page-header{display:block}.calendar-page-header h1{font-size:22px}.calendar-page-header .page-description{margin-top:4px;font-size:10px}.calendar-toolbar{justify-content:center;margin-top:10px;display:flex!important}.calendar-toolbar>div{min-width:0}.calendar-toolbar strong{font-size:18px}.calendar-toolbar div a{display:none!important}.calendar-surface{box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #d8e0ea;border-radius:0;margin-top:8px;overflow:visible;height:auto!important;display:block!important}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;display:grid!important}.calendar-weekdays{background:#f8fafc;border-bottom:1px solid #d8e0ea}.calendar-weekdays span{padding:5px 4px;font-size:8px}.calendar-grid{background:#d8e0ea;gap:1px}.calendar-cell{break-inside:avoid;background:#fff;min-height:68px;padding:4px;overflow:hidden;display:block!important}.calendar-cell.outside-month{background:#f8fafc}.calendar-cell.selected{box-shadow:inset 0 0 0 1px var(--saffron-500)}.calendar-day-number{width:16px;height:16px;font-size:8px}.calendar-cell-items{gap:2px;margin-top:3px;display:grid!important}.calendar-event{border-radius:3px;padding:2px 3px;font-size:7px;line-height:1.15}.calendar-more{padding:1px 2px;font-size:7px}.calendar-month-agenda{break-before:auto;margin-top:14px;display:block!important}.calendar-month-agenda .section-heading{margin-top:0}.calendar-month-agenda h2{font-size:18px}.month-agenda-list{box-shadow:none;border-radius:0;margin-top:8px}.month-agenda-list a{grid-template-columns:8px 70px minmax(0,1fr) 70px;min-height:auto;padding:6px 8px;display:grid!important}.month-agenda-list time{font-size:8px}.month-agenda-list time small{font-size:7px}.month-agenda-list strong{font-size:10px}.month-agenda-list>a>span:last-child{font-size:9px}}
