@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}.cmd-center-root{background-color:var(--cream);min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;display:flex;position:relative}.cmd-sidebar{background:var(--surface);border-inline-end:1px solid var(--line);z-index:30;flex-direction:column;flex-shrink:0;width:270px;height:100vh;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;position:sticky;top:0}.cmd-sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.cmd-brand-group{align-items:center;gap:10px;display:flex}.cmd-portal-tag{letter-spacing:.04em;text-transform:uppercase;background:var(--lemon);color:var(--on-lemon);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800;box-shadow:0 1px 2px #0000000d}.cmd-sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.cmd-nav-item{width:100%;color:var(--muted);cursor:pointer;text-align:start;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex;position:relative}.cmd-nav-item:hover{background:var(--surface-muted);color:var(--ink)}.cmd-nav-item.active{background:var(--surface-active);color:var(--ink);border-color:var(--selected-pill-border);font-weight:700}.cmd-nav-item.active .cmd-nav-icon{color:var(--lemon-deep)}.cmd-nav-icon{width:18px;height:18px;color:var(--icon-muted);flex-shrink:0;transition:color .15s}.cmd-nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cmd-sidebar-footer{border-top:1px solid var(--line);background:var(--surface-muted);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.cmd-system-pulse{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.cmd-pulse-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 2px #22c55e33}.cmd-pulse-dot.warning{background:#eab308;box-shadow:0 0 0 2px #eab30833}.cmd-pulse-dot.danger{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.cmd-workspace{background-color:var(--cream);flex-direction:column;flex:1;min-width:0;display:flex}.cmd-topbar{z-index:25;background:var(--topbar-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 28px;display:flex;position:sticky;top:0}.cmd-topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.cmd-menu-toggle{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px;display:none}.cmd-breadcrumbs{align-items:center;gap:8px;font-size:13.5px;display:flex}.cmd-crumb-root{color:var(--muted);font-weight:600}.cmd-crumb-sep{color:var(--line-strong)}.cmd-crumb-active{color:var(--ink);letter-spacing:-.01em;font-weight:800}.cmd-topbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cmd-tz-badge{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.cmd-btn-compact{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.cmd-btn-compact:hover{background:var(--surface-muted);border-color:var(--line-strong)}.cmd-btn-compact.primary{background:var(--lemon);color:var(--on-lemon);border-color:var(--lemon-deep);font-weight:700}.cmd-btn-compact.primary:hover{filter:brightness(.97)}.cmd-btn-compact.danger-outline{border-color:var(--danger);color:var(--danger);background:0 0}.cmd-btn-compact.danger-outline:hover{background:#ef444414}.cmd-owner-chip{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.cmd-owner-dot{background:#22c55e;border-radius:50%;width:7px;height:7px}.cmd-viewport{box-sizing:border-box;flex:1;width:100%;max-width:1680px;margin:0 auto;padding:28px 36px 64px}.cmd-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.cmd-page-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:800}.cmd-page-desc{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.cmd-grid-kpi{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:28px;display:grid}.cmd-grid-split{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px;margin-bottom:28px;display:grid}.cmd-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;flex-direction:column;padding:22px 24px;display:flex;position:relative}.cmd-card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.cmd-card-title{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.cmd-stat-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;flex-direction:column;gap:8px;padding:20px 22px;transition:transform .15s,box-shadow .15s;display:flex}.cmd-stat-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.cmd-stat-head{justify-content:space-between;align-items:center;display:flex}.cmd-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12.5px;font-weight:600}.cmd-stat-value{letter-spacing:-.03em;color:var(--ink);font-size:28px;font-weight:800;line-height:1.15}.cmd-stat-value.ok{color:#15803d}.cmd-stat-value.muted{color:var(--muted);font-size:20px}.cmd-stat-value.warn{color:#b45309}.cmd-stat-sub{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.cmd-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.cmd-badge.success{color:#15803d;background:#22c55e1f;border:1px solid #22c55e4d}.cmd-badge.warning{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b4d}.cmd-badge.danger{color:#b91c1c;background:#ef44441f;border:1px solid #ef44444d}.cmd-badge.neutral{background:var(--surface-muted);color:var(--muted);border:1px solid var(--line)}.cmd-badge.target{color:#854d0e;background:#fefce8;border:1px solid #fde047}.cmd-alert{border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 18px;font-size:13.5px;line-height:1.5;display:flex}.cmd-alert.info{color:var(--ink);background:#3b82f614;border:1px solid #3b82f640}.cmd-alert.warning{color:var(--ink);background:#f59e0b14;border:1px solid #f59e0b40}.cmd-alert.danger{color:var(--ink);background:#ef444414;border:1px solid #ef444440}.cmd-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;overflow-x:auto}.cmd-table{border-collapse:collapse;text-align:start;width:100%;font-size:13.5px}.cmd-table th{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:700}.cmd-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}.cmd-table tr:last-child td{border-bottom:0}.cmd-table tr:hover td{background:var(--surface-muted)}.cmd-def-list{flex-direction:column;gap:12px;display:flex}.cmd-def-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;font-size:13.5px;display:flex}.cmd-def-row:last-child{border-bottom:0;padding-bottom:0}.cmd-def-key{color:var(--muted);align-items:center;gap:6px;font-weight:600;display:flex}.cmd-def-val{color:var(--ink);text-align:end;font-family:monospace;font-size:13px;font-weight:700}.cmd-code-box{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-family:monospace;font-size:12.5px;display:flex}.cmd-code-box code{color:var(--ink);word-break:break-all}.cmd-tip{background:var(--line);width:16px;height:16px;color:var(--muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex;position:relative}html[data-theme=dark] .cmd-stat-value.ok{color:#4ade80}html[data-theme=dark] .cmd-badge.success{color:#4ade80;background:#22c55e33;border-color:#22c55e66}html[data-theme=dark] .cmd-badge.target{color:#facc15;background:#eab3082e;border-color:#eab30859}@media (max-width:1024px){.cmd-sidebar{box-shadow:var(--shadow-soft);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}[dir=rtl] .cmd-sidebar{left:auto;right:0;transform:translate(100%)}.cmd-sidebar.open{transform:translate(0)}.cmd-menu-toggle{display:inline-flex}.cmd-viewport{padding:20px 24px 48px}}@media (max-width:640px){.cmd-topbar{padding:10px 16px}.cmd-viewport{padding:16px 16px 40px}.cmd-grid-kpi{grid-template-columns:1fr;gap:12px}.cmd-grid-split{grid-template-columns:1fr;gap:14px}.cmd-stat-value{font-size:24px}}.cmd-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:28;background:#0006;position:fixed;inset:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#162017;--muted:#66736a;--line:#e0e6df;--line-strong:#b7c1b8;--cream:#f6f8f1;--paper:#fff;--lemon:#e3f24b;--lemon-deep:#b7d219;--on-lemon:#344000;--danger:#c8453b;--radius:20px;--font-sans:"Thmanyah Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, system-ui, sans-serif;--font-serif-display:"Thmanyah Serif Display", "Amiri", Georgia, "Times New Roman", serif;--font-serif-text:"Thmanyah Serif Text", "Amiri", Georgia, serif;--shadow-soft:0 18px 48px #183f2e12;--shadow-panel:0 12px 30px #183f2e09;--shadow-stat:0 18px 40px #183f2e24;--shadow-hover:0 6px 18px #183f2e0f;--topbar-bg:#ffffffeb;--source-bg:#ffffffb3;--ghost-bg:#fff;--brand-accent:#8da700;--live-dot:#83ad00;--hero-glow-strong:#e3f24b7a;--hero-glow-soft:#e3f24b29;--hero-highlight:#e3f24be6;--eyebrow-bg:#f0f6cf;--eyebrow-border:#e5edb9;--eyebrow-ink:#173e2c;--stat-bg:#173e2c;--stat-border:#ffffff14;--stat-divider:#ffffff1f;--stat-ink:#fff;--stat-label:#ffffff9e;--stat-safe:#e3f24b;--stat-danger:#ff9b90;--surface:#fff;--surface-muted:#f9fbf4;--surface-sunken:#f4f8ea;--surface-soft:#f8faf4;--surface-active:#fcfde9;--elevated:#fff;--field-bg:#fff;--segmented-bg:#ebefe5;--segment-active-bg:#fff;--segment-active-ink:#162017;--segment-shadow:#13201814;--focus-ring:#b7d2198c;--search-focus:#b7d21938;--snapshot-bg:#fbf7e4;--snapshot-border:#ece3bd;--snapshot-ink:#6b5a24;--code-ink:#6f7d00;--pill-bg:#fff;--selected-pill-bg:#eef7c0;--selected-pill-border:#dbe99a;--selected-pill-ink:#536500;--crn-bg:#eef3e2;--crn-border:#dfe6d1;--crn-ink:#36421f;--status-open-bg:#edf7d4;--status-open-ink:#537000;--status-closed-bg:#f5e9e6;--status-closed-ink:#9b4038;--status-unknown-bg:#eee;--status-unknown-ink:#666;--chevron:#8a938d;--icon-muted:#7c8c81;--missing:#9a5f1f;--warning-bg:#fff6e6;--warning-border:#efd9ac;--warning-ink:#7a5214;--add-bg:#e3f24b;--add-ink:#344000;--add-hover:#d2e83a;--remove-bg:#edf0eb;--remove-ink:#48534b;--conflict-bg:#fff1ef;--conflict-ink:#922f28;--conflict-border:#f1c2bd;--conflict-muted:#a35c56;--danger-hover-border:#e6b9b4;--calendar-bg:#fff;--calendar-soft:#f8faf4;--calendar-axis:#fbfcf9;--calendar-line:#edf0ec;--time-ink:#8a938d;--block-ink:#223228;--block-edge:#00000021;--block-lime:#e4f46c;--block-mint:#bfe9d2;--block-sky:#c9e8f3;--block-sand:#f1deb2;--block-violet:#ddd2f4;--block-coral:#f4c7bd;--block-conflict:#ffc5bd;--empty-veil:#fff9;--lemon-outline-border:#d3df75;--lemon-outline-ink:#9aae00;--summary-bg:#f8faf4;--copy-bg:#173e2c;--copy-ink:#fff;--data-note-bg:#edf1e4;--link-ink:#173e2c;--footer-bg:#121b16;--footer-ink:#fff;--footer-muted:#9ba9a0;--toast-bg:#17201b;--toast-ink:#fff}@media screen{html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f3f6f1;--muted:#a3b0a5;--line:#2a352d;--line-strong:#3b493e;--cream:#101512;--paper:#121714;--lemon:#e2f34a;--lemon-deep:#c9dd2f;--on-lemon:#1e2500;--danger:#ff9b90;--shadow-soft:0 18px 48px #0000005c;--shadow-panel:0 12px 30px #0000004d;--shadow-stat:0 18px 40px #0006;--shadow-hover:0 6px 18px #0000004d;--topbar-bg:#101512e0;--source-bg:#181f1ab3;--ghost-bg:#1b231e;--brand-accent:#d7ee3e;--live-dot:#a9c92c;--hero-glow-strong:#e2f34a29;--hero-glow-soft:#e2f34a0f;--hero-highlight:#e2f34a42;--eyebrow-bg:#232c13;--eyebrow-border:#3a4718;--eyebrow-ink:#dbe98a;--stat-bg:#1b231e;--stat-border:#ffffff12;--stat-divider:#2b352d;--stat-ink:#f3f6f1;--stat-label:#a3b0a5;--stat-safe:#e2f34a;--stat-danger:#ffb4ab;--surface:#1b231e;--surface-muted:#161e19;--surface-sunken:#141a16;--surface-soft:#18201a;--surface-active:#263129;--elevated:#263129;--field-bg:#1e2621;--segmented-bg:#161e19;--segment-active-bg:#263129;--segment-active-ink:#f3f6f1;--segment-shadow:#00000059;--focus-ring:#e2f34a8c;--search-focus:#e2f34a2e;--snapshot-bg:#241f10;--snapshot-border:#463a1b;--snapshot-ink:#e8cd93;--code-ink:#c9dd2f;--pill-bg:#1e2720;--selected-pill-bg:#2a3517;--selected-pill-border:#46551f;--selected-pill-ink:#dcec91;--crn-bg:#1f271f;--crn-border:#344033;--crn-ink:#e1e9da;--status-open-bg:#1e2c16;--status-open-ink:#c9e98d;--status-closed-bg:#2c1b19;--status-closed-ink:#ffb4ab;--status-unknown-bg:#242a26;--status-unknown-ink:#c2ccc4;--chevron:#8d9a91;--icon-muted:#93a198;--missing:#f0bd7e;--warning-bg:#2a2212;--warning-border:#4a3c1c;--warning-ink:#f0d49c;--add-bg:#e3f24b;--add-ink:#1e2500;--add-hover:#d3e63d;--remove-bg:#242c26;--remove-ink:#c9d3cb;--conflict-bg:#2c1a18;--conflict-ink:#ffb4ab;--conflict-border:#55302b;--conflict-muted:#d99b94;--danger-hover-border:#7a3a34;--calendar-bg:#121714;--calendar-soft:#151b17;--calendar-axis:#131915;--calendar-line:#242d26;--time-ink:#8f9c93;--block-ink:#f4f8ee;--block-edge:#ffffff24;--block-lime:#3c4a1b;--block-mint:#1f4433;--block-sky:#1c3b47;--block-sand:#48391c;--block-violet:#372f50;--block-coral:#472a25;--block-conflict:#5a2420;--empty-veil:#121714d1;--lemon-outline-border:#58672b;--lemon-outline-ink:#d7ee3e;--summary-bg:#151b17;--copy-bg:#e3f24b;--copy-ink:#1e2500;--data-note-bg:#161d18;--link-ink:#dbe98a;--footer-bg:#0b0f0d;--footer-ink:#edf2ec;--footer-muted:#9ba9a0;--toast-bg:#edf2ec;--toast-ink:#121714}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{color:var(--ink);background:var(--cream);font-family:var(--font-sans);font-feature-settings:"kern" 1, "liga" 1, "calt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.icon{flex:none;width:19px;height:19px}.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:24px;height:64px;padding:0 clamp(22px,5vw,72px);display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;margin-inline-end:auto;text-decoration:none;display:flex}.brand-fruit{font:800 22px/1 var(--font-sans);letter-spacing:-1.4px}.brand-fruit b{color:var(--brand-accent)}.brand-tag{color:var(--muted);letter-spacing:.01em;border-inline-start:1px solid var(--line);padding-inline-start:12px;font-size:12px}.source-pill{color:var(--muted);border:1px solid var(--line);background:var(--source-bg);white-space:nowrap;border-radius:100px;padding:8px 12px;font-size:11px}.live-dot{background:var(--live-dot);border-radius:50%;width:7px;height:7px;margin-inline-end:6px;display:inline-block}.ghost{border:1px solid var(--line);background:var(--ghost-bg);color:var(--ink);border-radius:10px;align-items:center;gap:7px;padding:10px 14px;transition:border-color .15s,box-shadow .15s,background-color .18s,color .18s;display:flex}.ghost:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover)}.ghost.small{font-size:13px}.theme-switcher{border:1px solid var(--line);background:var(--segmented-bg);border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex}.theme-switcher button{color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;font-weight:600;line-height:1;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.theme-switcher button:hover{color:var(--ink)}.theme-switcher button.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 4px var(--segment-shadow)}.theme-switcher .icon{width:15px;height:15px}.theme-label{white-space:nowrap}.hero{background:var(--paper);min-height:248px;color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;padding:32px clamp(22px,6vw,96px) 28px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle, var(--hero-glow-strong) 0%, var(--hero-glow-soft) 44%, transparent 72%);pointer-events:none;border-radius:50%;width:460px;height:460px;position:absolute;top:-230px;right:-150px}.hero-copy{z-index:1;max-width:660px;position:relative}.eyebrow{color:var(--eyebrow-ink);background:var(--eyebrow-bg);border:1px solid var(--eyebrow-border);letter-spacing:.08em;text-transform:uppercase;border-radius:100px;align-items:center;gap:7px;margin-bottom:12px;padding:6px 10px;font-size:10px;font-weight:700;display:inline-flex}.eyebrow .icon{width:13px;height:13px}.hero h1{letter-spacing:-.05em;margin:0;font-size:clamp(38px,4.6vw,58px);font-weight:700;line-height:1}.hero h1 em{color:inherit;background:linear-gradient(180deg, transparent 61%, var(--hero-highlight) 61%, var(--hero-highlight) 92%, transparent 92%);padding:0 .04em;font-style:normal}.hero p{color:var(--muted);max-width:520px;margin:14px 0 0;font-size:14px;line-height:1.65}.hero-stats{border:1px solid var(--stat-border);border-radius:var(--radius);background:var(--stat-bg);width:min(400px,38vw);box-shadow:var(--shadow-stat);z-index:1;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.hero-stats div{border-inline-start:1px solid var(--stat-divider);padding:16px 18px}.hero-stats div:first-child{border-inline-start:0}.hero-stats b{color:var(--stat-ink);letter-spacing:-.04em;font-size:27px;display:block}.hero-stats span{color:var(--stat-label);font-size:10px}.hero-stats .safe-stat b{color:var(--stat-safe)}.hero-stats .danger-stat b{color:var(--stat-danger)}.workspace{border-bottom:1px solid var(--line);background:var(--paper);flex-direction:column;gap:0;width:100%;display:flex}.planner-panel{background:var(--surface);border-bottom:1px solid var(--line);width:100%;padding:32px clamp(20px,4vw,56px) 36px}.catalog{background:var(--surface-muted);border-inline-end:0;width:100%;padding:36px clamp(20px,4vw,56px) 60px}.panel-heading,.plan-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.panel-heading>div,.plan-title{align-items:center;gap:12px;display:flex}.panel-heading h2{letter-spacing:-.025em;margin:0;font-size:21px}.step{background:var(--lemon);min-width:34px;height:34px;font:800 11px var(--font-sans);color:var(--on-lemon);border-radius:50%;place-items:center;display:grid}.result-count{color:var(--muted);font-size:12px}.field-label{color:var(--muted);margin:0 4px 7px;font-size:12px;display:block}select{border:1px solid var(--line);background:var(--field-bg);color:var(--ink);border-radius:11px;padding:11px 12px}.catalog>select{text-overflow:ellipsis;width:100%;margin-bottom:13px;padding:10px 32px 10px 11px;font-size:12.5px}.search-box{border:1px solid var(--line);background:var(--field-bg);border-radius:12px;align-items:center;gap:9px;height:50px;padding:0 13px;transition:border-color .15s,box-shadow .15s,background-color .18s;display:flex}.search-box:focus-within{outline:3px solid var(--search-focus);border-color:var(--lemon-deep)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search-box input::placeholder{color:var(--muted);opacity:.85}.search-box button{color:var(--muted);background:0 0;border:0;font-size:20px;line-height:1}.segmented{background:var(--segmented-bg);border-radius:11px;grid-template-columns:1fr 1fr;margin:13px 0 17px;padding:4px;display:grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px;font-size:12px}.segmented button.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 4px var(--segment-shadow);font-weight:700}.section-list{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;max-height:850px;padding:2px 2px 20px;display:grid;overflow-y:auto}.snapshot-note{color:var(--snapshot-ink);background:var(--snapshot-bg);border:1px solid var(--snapshot-border);border-radius:8px;margin:0 0 14px;padding:8px 10px;font-size:10px;line-height:1.5}.course-group{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex:none;overflow:hidden}.course-heading{background:var(--surface-sunken);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 15px 11px;display:flex}.course-code{color:var(--code-ink);font:700 10px var(--font-sans);letter-spacing:.5px}.course-heading h3{margin:3px 0 0;font-size:14px;line-height:1.35}.course-heading-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.course-heading-meta span{color:var(--muted);background:var(--pill-bg);border:1px solid var(--line);white-space:nowrap;border-radius:100px;padding:3px 7px;font-size:9px}.course-heading-meta .selected-count{background:var(--selected-pill-bg);border-color:var(--selected-pill-border);color:var(--selected-pill-ink);font-weight:700}.course-sections{flex-direction:column;display:flex}.course-sections .section-card{border-top:1px solid var(--line)}.course-sections .section-card:first-child{border-top:0}.section-card{background:var(--surface);transition:background .15s}.section-card.selected{background:var(--surface-active);box-shadow:inset 3px 0 var(--lemon)}.section-summary{cursor:pointer;align-items:center;gap:8px;padding:9px 13px;list-style:none;display:flex}.section-summary::-webkit-details-marker{display:none}.chevron{color:var(--chevron);font-size:15px;line-height:1;transition:transform .15s}.section-disclosure[open] .chevron{transform:rotate(90deg)}.section-summary-main{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10.5px;font-weight:600}.section-crn{font:700 11px var(--font-sans);letter-spacing:.03em;font-variant-numeric:tabular-nums;color:var(--crn-ink);background:var(--crn-bg);border:1px solid var(--crn-border);white-space:nowrap;border-radius:6px;padding:2px 7px}.section-summary-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.section-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.status{white-space:nowrap;border-radius:100px;padding:3px 8px;font-size:9.5px;font-weight:600}.status.open{background:var(--status-open-bg);color:var(--status-open-ink)}.status.closed{background:var(--status-closed-bg);color:var(--status-closed-ink)}.status.unknown{background:var(--status-unknown-bg);color:var(--status-unknown-ink)}.section-details{padding:0 13px 10px 28px}.section-facts{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 11px;padding:9px 0;display:grid}.section-facts div{flex-direction:column;gap:1px;min-width:0;display:flex}.section-facts dt{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:9px}.section-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:700}.meeting-lines{flex-direction:column;gap:5px;font-size:11px;display:flex}.meeting-lines span{align-items:center;gap:6px;display:flex}.meeting-lines .icon{width:14px;height:14px;color:var(--icon-muted)}.meeting-lines .missing-value{color:var(--missing)}.instructor{color:var(--muted);margin-top:8px;font-size:11px}.availability-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);border-radius:8px;margin:9px 0 0;padding:8px 10px;font-size:10px;line-height:1.5}.add-button,.remove-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 24px);margin:0 12px 8px;padding:7px 10px;font-size:11.5px;font-weight:700;display:flex}.add-button{background:var(--add-bg);color:var(--add-ink)}.add-button:hover{background:var(--add-hover)}.remove-button{background:var(--remove-bg);color:var(--remove-ink)}.course-sections-expand-btn{background:var(--surface-soft);border:0;border-top:1px dashed var(--line);width:100%;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:11.5px;font-weight:600;transition:background .15s,color .15s;display:flex}.course-sections-expand-btn:hover{background:var(--surface-active);color:var(--ink)}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:50px 20px;display:flex}.empty .icon{opacity:.4;width:30px;height:30px}.plan-title>div{flex-direction:column;gap:2px;display:flex}.plan-title span:not(.step){color:var(--muted);font-size:11px}.plan-title input{width:230px;color:var(--ink);letter-spacing:-.02em;background:0 0;border:0;outline:0;padding:0;font-size:19px;font-weight:800}.plan-title input:focus{box-shadow:0 2px var(--lemon-deep)}.plan-actions{align-items:center;gap:7px;display:flex}.plan-actions select{max-width:150px;font-size:12px}.icon-button{border:1px solid var(--line);background:var(--ghost-bg);width:39px;height:39px;color:var(--ink);border-radius:10px;place-items:center;display:grid}.icon-button:disabled{cursor:not-allowed;opacity:.35}.icon-button.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger-hover-border)}.conflict-banner{background:var(--conflict-bg);color:var(--conflict-ink);border:1px solid var(--conflict-border);border-radius:11px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;padding:13px 16px;font-size:12px;display:flex}.conflict-banner span{color:var(--conflict-muted)}.print-title{display:none}.calendar-shell{border:1px solid var(--line);border-radius:var(--radius);background:var(--calendar-bg);box-shadow:var(--shadow-panel);position:relative;overflow-x:auto}.calendar-grid{direction:ltr;grid-template-rows:58px 936px;grid-template-columns:64px repeat(5,1fr);min-width:720px;display:grid}.calendar-corner,.day-head{border-bottom:1px solid var(--line);background:var(--calendar-soft);justify-content:center;align-items:center;display:flex}.calendar-corner{color:var(--muted);direction:ltr;grid-column:1;font-size:10px}.day-head{border-inline-start:1px solid var(--line);gap:7px;font-size:12px}.day-head span{display:none}.time-axis{background:var(--calendar-axis);grid-area:2/1;position:relative}.time-axis span{text-align:center;width:100%;color:var(--time-ink);font:600 10px var(--font-sans);direction:ltr;position:absolute;transform:translateY(-7px)}.day-column{border-inline-start:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 71px, var(--calendar-line) 71px, var(--calendar-line) 72px);grid-row:2;position:relative}.class-block{text-align:left;color:var(--block-ink);box-shadow:inset 3px 0 var(--block-edge);z-index:2;cursor:pointer;border:0;border-radius:8px;flex-direction:column;justify-content:flex-start;padding:5px 7px;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;inset-inline:4px;overflow:hidden}.class-block:hover{z-index:4;transform:scale(1.02)}.class-block b,.class-block span,.class-block small{display:block}.class-block b{font:800 12.5px var(--font-sans);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.class-block span{white-space:nowrap;text-overflow:ellipsis;margin:1px 0 2px;font-size:11px;font-weight:600;line-height:1.25;overflow:hidden}.class-block small{font:600 10px var(--font-sans);font-variant-numeric:tabular-nums;opacity:.9;text-align:left;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;direction:ltr;line-height:1.15;overflow:hidden}.class-block[data-compact=true]{justify-content:center;gap:1px;padding:3px 6px}.class-block[data-compact=true] b{font-size:11.5px;line-height:1.15}.class-block[data-compact=true] span{display:none}.class-block[data-compact=true] small{font-size:9.5px;line-height:1.1}.class-block.lime{background:var(--block-lime)}.class-block.mint{background:var(--block-mint)}.class-block.sky{background:var(--block-sky)}.class-block.sand{background:var(--block-sand)}.class-block.violet{background:var(--block-violet)}.class-block.coral{background:var(--block-coral)}.class-block.has-conflict{outline:2px solid var(--danger);background:var(--block-conflict)}.calendar-empty{pointer-events:none;background:var(--empty-veil);text-align:center;z-index:10;top:52px;bottom:0;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset-inline:60px 0}.lemon-outline,.lemon-mark{border:2px solid var(--lemon-outline-border);width:66px;height:66px;color:var(--lemon-outline-ink);font:900 25px var(--font-sans);border-radius:50% 45% 50% 42%;place-items:center;display:grid;transform:rotate(-8deg)}.calendar-empty b{color:var(--ink);margin-top:14px;font-size:16px;font-weight:700}.calendar-empty p{color:var(--muted);max-width:320px;margin:6px 0 0;font-size:13px;line-height:1.55}.summary-strip{border:1px solid var(--border-subtle,var(--line));background:var(--summary-bg,var(--surface-soft));border-radius:10px;justify-content:space-between;align-items:center;gap:14px;width:100%;max-width:680px;margin-top:12px;padding:8px 14px;display:flex}.summary-copy{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.summary-copy>span{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:600}.crn-list{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.crn-chip{font:700 12.5px var(--font-sans);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line);letter-spacing:.02em;border-radius:6px;padding:2px 7px}.summary-empty{color:var(--muted);font-size:12px}.copy-button{background:var(--copy-bg);color:var(--copy-ink);white-space:nowrap;cursor:pointer;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:600;transition:opacity .15s,transform .15s;display:inline-flex}.copy-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.copy-button:disabled{opacity:.4;cursor:not-allowed}.data-note{background:var(--data-note-bg);border-radius:16px;justify-content:space-between;align-items:center;gap:30px;margin:36px clamp(22px,7vw,110px);padding:22px 25px;display:flex}.data-note b{font-size:13px}.data-note p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.7}.data-note a{color:var(--link-ink);white-space:nowrap;font-size:12px;font-weight:700}footer{background:var(--footer-bg);min-height:110px;color:var(--footer-ink);justify-content:space-between;align-items:center;gap:35px;padding:28px clamp(22px,7vw,110px);display:flex}footer span{font:800 16px var(--font-sans);color:var(--lemon)}footer p{color:var(--footer-muted);max-width:600px;font-size:11px}.toast{background:var(--toast-bg);color:var(--toast-ink);z-index:50;border-radius:100px;padding:11px 18px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0003}.loading{place-content:center;justify-items:center;gap:14px;min-height:100vh;display:grid}.loading p{color:var(--muted)}body,.topbar,.hero,.workspace,.catalog,.planner-panel,.course-group,.course-heading,.section-card,.calendar-shell,.calendar-corner,.day-head,.time-axis,.calendar-empty,.summary-strip,.data-note,footer,.ghost,.icon-button,.search-box,select,.segmented,.segmented button,.snapshot-note,.section-crn,.status,.crn-chip,.availability-warning,.conflict-banner,.toast,.gpa-page,.gpa-metric-card,.gpa-panel,.sidebar-card,.gpa-table-wrap,.gpa-table th,.gpa-table td,.gpa-input-text,.gpa-select,.gpa-num-input,.feasibility-box,.scenario-pill{transition:background-color .18s,color .18s,border-color .18s}@media (max-width:1024px){.catalog-primary-filters{grid-template-columns:1fr 1fr}}@media (max-width:980px){.theme-switcher .theme-label{display:none}.theme-switcher button{padding:7px 8px}.source-pill{display:none}.hero{flex-direction:column;align-items:flex-start;gap:20px}.hero-stats{width:100%}.section-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:620px;display:grid}}@media (max-width:640px){.catalog-primary-filters{grid-template-columns:1fr}.table-pagination-bar{flex-direction:column;align-items:stretch}.floating-schedule-anchor{bottom:calc(72px + env(safe-area-inset-bottom,0px));inset-inline:auto 16px}.floating-schedule-pill{padding:8px 12px;font-size:11.5px}.topbar{gap:12px;height:58px;padding:0 15px}.brand-tag,.source-pill,.print-label{display:none}.ghost.small{padding:10px}.theme-switcher button{padding:6px 7px}.hero{min-height:0;padding:24px 20px 22px}.hero h1{letter-spacing:-.04em;font-size:34px}.hero p{font-size:13px}.hero-stats div{padding:12px 10px}.hero-stats b{font-size:22px}.catalog,.planner-panel{padding:24px 15px 35px}.section-list{grid-template-columns:1fr}.course-heading{flex-direction:column;gap:8px}.course-heading-meta{justify-content:flex-start}.section-summary{flex-wrap:wrap}.section-summary-meta{justify-content:flex-start;width:100%;margin-left:0;padding-left:25px}.section-details{padding-left:15px}.section-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-toolbar{flex-direction:column;align-items:flex-start}.plan-actions{width:100%}.plan-actions select{flex:1;max-width:none}.conflict-banner{flex-direction:column;align-items:flex-start}.summary-strip{flex-direction:column;align-items:stretch}.copy-button{justify-content:center}.data-note,footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.account-pill{border:1px solid var(--line);background:var(--source-bg);border-radius:100px;align-items:center;gap:8px;padding:4px 8px 4px 12px;font-size:12px;display:flex}.user-email{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:160px;font-weight:500;display:flex;overflow:hidden}.user-email .icon{width:14px;height:14px;color:var(--muted)}.sync-pill{border:1px solid var(--line);border-radius:100px;padding:3px 7px;font-size:10px;font-weight:600}.sync-pill.synced{background:var(--eyebrow-bg);color:var(--eyebrow-ink);border-color:var(--eyebrow-border)}.sync-pill.syncing{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border)}.sync-pill.error{background:var(--conflict-bg);color:var(--conflict-ink);border-color:var(--conflict-border)}.guest-badge{color:var(--muted);border:1px solid var(--line);background:var(--source-bg);white-space:nowrap;border-radius:100px;padding:6px 11px;font-size:11px}.auth-trigger{cursor:pointer;gap:6px;font-weight:600}.auth-trigger .icon{width:15px;height:15px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-soft);overflow:hidden}.auth-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.auth-modal-header h2{letter-spacing:-.02em;margin:0 0 4px;font-size:19px}.auth-modal-header p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.close-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px}.close-button:hover{color:var(--ink)}.close-button .icon{width:18px;height:18px}.auth-form{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.auth-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--ink);border-radius:10px;padding:10px 12px;font-size:13.5px}.auth-input:focus{outline:3px solid var(--focus-ring);border-color:var(--lemon-deep)}.field-header{justify-content:space-between;align-items:baseline;display:flex}.link-button{color:var(--brand-accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.link-button:hover{opacity:.85}.auth-alert{border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.4}.auth-alert.error{background:var(--conflict-bg);color:var(--conflict-ink);border:1px solid var(--conflict-border)}.auth-alert.success{background:var(--eyebrow-bg);color:var(--eyebrow-ink);border:1px solid var(--eyebrow-border)}.oauth-button{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.oauth-button:hover:not(:disabled){background:var(--surface-muted);border-color:var(--line-strong);box-shadow:var(--shadow-hover)}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0;width:18px;height:18px}.auth-divider{text-align:center;color:var(--muted);align-items:center;margin:2px 0;font-size:11.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--line);flex:1}.auth-divider span{padding:0 10px}.profile-link-btn{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:2px 4px;font-size:12.5px;display:flex}.profile-link-btn:hover{background:var(--surface-muted)}.profile-display-name{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:5px;max-width:180px;display:flex;overflow:hidden}.profile-handle{color:var(--muted);font-size:11px;font-weight:500}.icon-only{padding:6px 8px}.verified-email-field{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted);border-radius:9px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;display:flex}.verified-badge{background:var(--eyebrow-bg);color:var(--eyebrow-ink);text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700}.field-hint{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.username-input-wrap{align-items:center;display:flex;position:relative}.username-at{color:var(--muted);pointer-events:none;font-size:13.5px;font-weight:600;position:absolute;left:11px}.username-input{padding-left:28px!important}.auth-submit{background:var(--lemon);width:100%;color:var(--on-lemon);cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-size:13.5px;font-weight:700;transition:background-color .15s}.auth-submit:hover:not(:disabled){background:var(--lemon-deep)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-modal-footer{border-top:1px solid var(--line);background:var(--surface-muted);color:var(--muted);text-align:center;padding:14px 24px 18px;font-size:12.5px}.auth-modal-footer p{margin:0}.admin-nav-link{background:var(--eyebrow-bg);color:var(--eyebrow-ink);border:1px solid var(--eyebrow-border);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-flex}.admin-nav-link:hover{opacity:.85}.admin-page{background:var(--cream);min-height:100vh;color:var(--ink);padding-bottom:60px}.admin-header{background:var(--topbar-bg);border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:12px;display:flex}.admin-portal-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--lemon);color:var(--on-lemon);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.admin-header-actions{align-items:center;gap:12px;display:flex}.admin-user-pill{color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:12px}.admin-btn{background:var(--lemon);color:var(--on-lemon);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-flex}.admin-btn:hover{opacity:.9}.admin-btn.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.admin-content{flex-direction:column;gap:32px;max-width:1140px;margin:32px auto;padding:0 24px;display:flex}.admin-section h2{letter-spacing:-.02em;margin-bottom:12px;font-size:18px;font-weight:800}.section-title-wrap{align-items:center;gap:10px;display:flex}.badge-count{background:var(--line);color:var(--ink);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.admin-hint{color:var(--muted);margin-bottom:12px;font-size:12.5px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.metric-label{color:var(--muted);font-size:12px;font-weight:600}.metric-value{letter-spacing:-.03em;color:var(--ink);font-size:24px;font-weight:800}.metric-value.status-ok{color:#570}.metric-sub{color:var(--muted);font-size:11.5px}.info-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.info-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:13px;display:flex}.info-row:last-child{border-bottom:0;padding-bottom:0}.info-card.warning-card{border-left:4px solid var(--stat-safe)}.unavailable-tag{color:var(--muted);background:var(--surface-muted);border-radius:6px;padding:3px 8px;font-size:11.5px;font-style:italic}.table-responsive{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-panel);border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.admin-table th{background:var(--surface-muted);color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--line);padding:12px 16px}.admin-table tr:last-child td{border-bottom:0}.role-tag{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.role-tag.admin{color:#537000;background:#edf7d4;border:1px solid #dbe99a}.role-tag.user{background:var(--surface-muted);color:var(--muted)}.empty-cell{text-align:center;color:var(--muted);padding:24px}.code-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;padding:20px}.code-card pre{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:14px;font-family:monospace;font-size:12.5px;overflow-x:auto}.admin-card{background:var(--surface);border:1px solid var(--line);max-width:480px;box-shadow:var(--shadow-soft);text-align:center;border-radius:20px;margin:80px auto;padding:32px}.admin-card h1{margin:12px 0 8px;font-size:20px;font-weight:800}.admin-card p{color:var(--muted);margin-bottom:24px;font-size:13.5px;line-height:1.5}.status-badge{text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.status-badge.danger{color:var(--danger);background:#fdf0ed;border:1px solid #f9cac5}.status-badge.warning{color:#a16207;background:#fefce8;border:1px solid #fde047}.admin-card.setup-required-card{text-align:start;max-width:640px}.setup-steps-box{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;margin:16px 0 24px;padding:16px}.setup-steps-box h3{margin-bottom:12px;font-size:13.5px;font-weight:700}.env-var-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.env-var-list li{flex-direction:column;gap:3px;font-size:12px;display:flex}.env-var-list li code{color:var(--lemon-deep);background:var(--surface);border:1px solid var(--line);border-radius:4px;align-self:flex-start;padding:2px 6px;font-family:monospace;font-weight:700}.setup-redirect-note{border-top:1px dashed var(--line);padding-top:12px;font-size:12px}.setup-redirect-note pre{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:6px;padding:8px 12px;overflow-x:auto}.admin-brand-header{justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-alert{text-align:start;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:12.5px}.admin-alert.danger{color:var(--danger);background:#fdf0ed;border:1px solid #f9cac5}.admin-alert.warning{color:#a16207;background:#fefce8;border:1px solid #fde047}.admin-alert p{color:inherit;margin:4px 0 0;font-size:12px}.google-oauth-btn{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:12px;align-items:center;gap:10px;padding:10px 20px;font-size:14px;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 3px #00000014}.google-oauth-btn:hover{background:#f9fafb;box-shadow:0 2px 6px #0000001f}.login-footer{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.admin-btn.text-link{color:var(--muted);background:0 0;padding:4px 8px;font-weight:600}.admin-btn.text-link:hover{color:var(--ink);text-decoration:underline}.owner-badge{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.owner-status-dot{background:#22c55e;border-radius:50%;width:7px;height:7px}.badge-pill{text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.badge-pill.active{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d}.badge-pill.pending{background:var(--surface-muted);color:var(--muted);border:1px solid var(--line)}.admin-link-action{color:var(--brand-accent);font-weight:700;text-decoration:none}.admin-link-action:hover{text-decoration:underline}.empty-notice{text-align:center;color:var(--muted);padding:20px;font-size:13px}.setup-inline-hint{color:var(--muted);margin-top:8px;font-size:11.5px}.notice-row{background:var(--surface-muted);border-radius:8px;margin-top:6px;padding:10px}.explorer-filters-panel{background:var(--surface-muted);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;margin-bottom:14px;padding:14px;display:flex}.filters-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.filters-toggle-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 4px;font-size:12px;font-weight:700;display:inline-flex}.filter-active-pill{background:var(--lemon);color:var(--on-lemon);border-radius:999px;padding:1px 6px;font-size:10px}.clear-all-link{color:var(--danger);cursor:pointer;background:0 0;border:0;font-size:11.5px;font-weight:600;text-decoration:underline}.clear-all-link:hover{opacity:.8}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.filter-field{flex-direction:column;gap:4px;display:flex}.filter-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.filter-select,.filter-text-input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:7px 10px;font-size:12px;transition:border-color .15s}.filter-select:focus,.filter-text-input:focus{border-color:var(--lemon-deep)}.filter-select:disabled{opacity:.65;background:var(--surface-muted)}.days-filter-block{border-top:1px dashed var(--line);flex-direction:column;gap:6px;padding-top:4px;display:flex}.days-header-line{justify-content:space-between;align-items:center;display:flex}.days-header-line span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.day-mode-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:10.5px;font-weight:700}.day-mode-btn.avoid-mode{color:#922f28;background:#fff0ee;border-color:#f1c2bd}.days-chips-row{flex-wrap:wrap;gap:6px;display:flex}.day-toggle-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:600;transition:all .12s}.day-toggle-chip.selected{background:var(--lemon);color:var(--on-lemon);border-color:var(--lemon-deep)}.day-toggle-chip.selected.avoid-selected{color:#8c251f;background:#fbd6d2;border-color:#f1a9a2}.guest-notice-banner{color:#63531b;background:#fcfbeb;border:1px solid #f4e8b5;border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:11.5px;line-height:1.45;display:flex}.guest-notice-actions{flex-wrap:wrap;max-width:100%}.guest-notice-banner code{font-weight:700}.service-status-pill{background:var(--source-bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:600;transition:opacity .15s;display:inline-flex}.service-status-pill:hover{opacity:.85}.status-modal{max-width:440px}.status-modal-body{flex-direction:column;gap:10px;padding:14px 20px;display:flex}.status-item{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.status-item:last-child{border-bottom:0;padding-bottom:0}.status-item-header{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.status-item p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.35}.status-badge-ok{color:#537000;background:#edf7d4;border:1px solid #dbe99a;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.status-badge-degraded{color:#8c5d17;background:#fff6e6;border:1px solid #f6deb6;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.status-badge-guest{background:var(--surface-muted);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.status-badge-snapshot{color:#1a629b;background:#f0f7ff;border:1px solid #c7e1f7;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.offline-resilience-card{background:var(--surface-muted);border:1px dashed var(--line);color:var(--ink);border-radius:8px;margin-top:2px;padding:8px 12px;font-size:11px;line-height:1.35}.offline-resilience-card strong{margin-bottom:2px;font-size:11.5px;display:block}.category-selector-wrap{flex-direction:column;gap:4px;display:flex}.dataset-warning-hint{color:var(--muted,#666);background:var(--surface-soft,#0000000a);border:1px solid var(--border-subtle,#00000014);border-radius:6px;align-items:center;gap:5px;margin-top:2px;padding:3px 8px;font-size:11.5px;line-height:1.4;display:inline-flex}.dataset-warning-hint:before{content:"ℹ️";font-size:11px}.section-time.tba-badge,.missing-value.tba-badge,.tba-badge{color:var(--muted,#777);background:var(--surface-soft,#0000000a);border:1px solid var(--border-subtle,#00000017);border-radius:4px;align-items:center;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.guest-privacy-btn{cursor:pointer;background:var(--surface-soft,#f4f4f0);border:1px solid var(--border-subtle,#0000001a);transition:opacity .15s,transform .15s}.guest-privacy-btn:hover{opacity:.85;transform:translateY(-1px)}.data-privacy-modal{border-radius:var(--radius,14px);background:var(--paper,#fff);width:min(92vw,440px);box-shadow:var(--shadow-soft,0 10px 30px #00000026);margin:auto;overflow:hidden;max-width:440px!important}.data-privacy-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.data-privacy-actions-grid{gap:10px;width:100%;display:flex}@media (max-width:480px){.data-privacy-actions-grid{flex-direction:column}}.data-privacy-action-btn{cursor:pointer;text-align:center;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.data-privacy-hint-note{color:var(--muted,#777);text-align:center;margin:0;font-size:11.5px;line-height:1.45}.data-privacy-danger-details{border-top:1px solid var(--border-subtle,#00000014);margin-top:2px;padding-top:10px}.data-privacy-danger-summary{cursor:pointer;color:var(--muted,#888);-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;list-style:none;display:inline-flex}.data-privacy-danger-summary::-webkit-details-marker{display:none}.data-privacy-danger-summary:hover{color:var(--danger,#dc2626)}.data-privacy-danger-body{background:#dc26260a;border:1px solid #dc26262e;border-radius:8px;margin-top:8px;padding:10px 12px}.data-privacy-danger-body p{color:var(--danger,#dc2626);margin:0 0 8px;font-size:12px;font-weight:500;line-height:1.4}.data-privacy-modal-footer{border-top:1px solid var(--border-subtle,#00000014);justify-content:flex-end;padding:10px 20px 14px;display:flex}[dir=rtl] .data-privacy-modal{text-align:right;direction:rtl}[dir=rtl] .data-privacy-modal .auth-modal-header{text-align:right}[dir=rtl] .data-privacy-modal-footer,[dir=rtl] .data-privacy-danger-summary{justify-content:flex-start}.explorer-view-bar{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;margin-bottom:10px;display:flex}.view-mode-toggle{background:var(--segmented-bg);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.view-mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.view-mode-btn.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 3px var(--segment-shadow)}.results-badge{color:var(--muted);font-size:12px;font-weight:600}.catalog-primary-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.primary-filter-item{flex-direction:column;display:flex}.primary-filter-item.term-filter-item{flex:none;min-width:290px;max-width:100%}.primary-filter-item.category-selector-wrap{flex:none;min-width:240px}.primary-filter-item.search-filter-item{flex:260px;min-width:220px}.primary-filter-item .term-select,.primary-filter-item .search-box{width:100%}.primary-filter-item .term-select.readonly-term{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:default;opacity:1;white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 1px 2px #0000000a}.primary-filter-item .term-select.readonly-term:focus{outline:none}.primary-filter-item .segmented{margin:0}.panel-heading-meta{align-items:center;gap:12px;display:flex}.jump-to-schedule-btn{color:var(--on-lemon);background:var(--lemon);border:1px solid var(--lemon-deep);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.jump-to-schedule-btn:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.jump-to-schedule-btn.subtle{background:var(--surface);border-color:var(--line);color:var(--ink)}.jump-to-schedule-btn.subtle:hover{background:var(--lemon);border-color:var(--lemon-deep);color:var(--on-lemon)}.shortcut-to-schedule-btn,.card-schedule-shortcut{color:var(--brand-accent);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:4px;padding:2px 0;font-size:10.5px;font-weight:600;text-decoration:underline;display:block}.shortcut-to-schedule-btn:hover,.card-schedule-shortcut:hover{color:var(--ink)}.card-action-bar{justify-content:space-between;align-items:center;gap:8px;padding:0 12px 8px;display:flex}.floating-schedule-anchor{bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:40;position:fixed;inset-inline:auto 24px}.floating-schedule-pill{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 30px #00000029}.floating-schedule-pill:hover{transform:translateY(-2px);box-shadow:0 14px 36px #00000038}.floating-count{background:var(--lemon);color:var(--on-lemon);border-radius:50%;place-items:center;width:19px;height:19px;font-size:10.5px;font-weight:800;display:inline-grid}.explorer-table-wrap{border:1px solid var(--line);background:var(--surface);width:100%;max-height:700px;box-shadow:var(--shadow-panel);-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto}.explorer-table{border-collapse:collapse;text-align:left;width:100%;min-width:980px;font-size:12.5px}.explorer-table thead th{background:var(--surface-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--line-strong);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700;position:sticky;top:0}.table-sort-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.table-sort-btn:hover{color:var(--ink)}.table-row{border-bottom:1px solid var(--line);transition:background .15s}.table-row:hover{background:var(--surface-muted)}.table-row.selected{background:var(--surface-active)}.table-row.conflict{background:var(--conflict-bg)}.explorer-table td{vertical-align:middle;border-bottom:1px solid var(--line);color:var(--ink);padding:9px 12px}.cell-section{min-width:90px}.cell-section strong{font-size:12px;display:block}.conflict-badge{color:#b45309;background:#fef3c7;border-radius:4px;margin-top:2px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.cell-type{min-width:90px;color:var(--muted)}.cell-crn{min-width:80px}.cell-crn code{background:var(--crn-bg);border:1px solid var(--crn-border);border-radius:4px;padding:2px 5px;font-family:monospace;font-weight:600}.cell-course{min-width:160px;max-width:280px}.course-code-tag{color:var(--ink);font-weight:700;display:block}.course-title-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.cell-instructor{text-overflow:ellipsis;white-space:nowrap;min-width:130px;max-width:220px;font-size:11.5px;overflow:hidden}.cell-days{min-width:110px}.cell-time{min-width:120px}.table-meeting-block{white-space:nowrap;font-size:11px;line-height:1.35}.cell-location{min-width:90px;color:var(--muted)}.cell-status{min-width:100px}.status-pill{border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-block}.status-pill.open{background:var(--status-open-bg);color:var(--status-open-ink)}.status-pill.closed{background:var(--status-closed-bg);color:var(--status-closed-ink)}.status-pill.unknown{background:var(--status-unknown-bg);color:var(--status-unknown-ink)}.cell-action{min-width:130px}.add-button.compact,.remove-button.compact{white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:11px}.table-pagination-bar{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-top:none;border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:12px;display:flex}.table-pagination-controls{align-items:center;gap:6px;display:flex}.pagination-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:600}.pagination-btn:hover:not(:disabled){border-color:var(--line-strong)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{align-items:center;gap:3px;display:flex}.pagination-num-btn{border:1px solid var(--line);background:var(--surface);min-width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:6px;padding:0 6px;font-size:11.5px;font-weight:600}.pagination-num-btn.active{background:var(--lemon);border-color:var(--lemon-deep);color:var(--on-lemon);font-weight:800}.pagination-ellipsis{color:var(--muted);padding:0 4px}.table-page-size-selector{align-items:center;gap:6px;display:flex}.page-size-select{border:1px solid var(--line);background:var(--field-bg);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:11.5px}.notifications-pill{background:var(--source-bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.notifications-pill:hover{background:var(--paper);border-color:var(--line-strong)}.notification-badge{color:#fff;background:#dc2626;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.2}.notification-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-bottom:8px;padding:10px 12px;transition:background .15s}.notification-item.unread{border-color:var(--lemon-deep);background:var(--surface-active)}.notification-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.notification-header strong{color:var(--ink);font-size:12px}.notification-time{color:var(--muted);font-size:11px}.notification-body{color:var(--ink);margin-bottom:4px;font-size:12px}.quiet-hours-box{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:12px}.quiet-hours-inputs{gap:12px;margin-top:8px;display:flex}.quiet-hours-inputs label{color:var(--muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.time-picker-input{border:1px solid var(--line-strong);background:var(--field-bg);color:var(--ink);border-radius:6px;padding:4px 8px;font-size:12px}.plan-stale-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;font-size:11.5px;display:flex}.plan-name-editor{flex-direction:column;gap:2px;display:flex}.plan-name-label{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.plan-name-hint{color:var(--lemon-deep);font-size:10px;font-weight:600}.plan-name-input-wrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;transition:all .15s;display:inline-flex}.plan-name-input-wrap:focus-within{border-color:var(--lemon-deep);box-shadow:0 0 0 3px var(--focus-ring)}.plan-name-input{color:var(--ink);background:0 0;border:none;outline:none;min-width:180px;max-width:280px;font-size:14px;font-weight:700}.plan-name-input-wrap .icon{width:14px;height:14px;color:var(--muted)}.download-dropdown-wrap{display:inline-block;position:relative}.download-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.download-btn:hover{background:var(--surface-muted);border-color:var(--line-strong)}.dropdown-caret{color:var(--muted);margin-left:2px;font-size:10px}.download-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-hover);z-index:50;border-radius:10px;flex-direction:column;min-width:250px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.download-menu button{text-align:left;width:100%;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.download-menu button:hover{background:var(--surface-active);color:var(--ink)}[data-theme=dark] .download-menu{background:var(--elevated);border-color:var(--line-strong);box-shadow:0 10px 30px #00000080}[data-theme=dark] .download-menu button{color:var(--ink)}[data-theme=dark] .download-menu button:hover{background:var(--surface-sunken);color:var(--lemon)}.gpa-page{background:var(--cream);min-height:100vh;color:var(--ink);padding-bottom:60px}.gpa-container{max-width:1360px;margin:0 auto;padding:24px 28px}.gpa-hero{margin-bottom:24px}.gpa-hero h1{letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:26px;font-weight:800}.gpa-hero p{color:var(--muted);max-width:760px;font-size:14px;line-height:1.5}.gpa-summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.gpa-metric-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.gpa-metric-card.highlight{border-color:var(--lemon-deep);background:var(--surface-active)}.gpa-metric-card.feasibility-impossible{border-color:var(--conflict-border);background:var(--conflict-bg)}.gpa-metric-card.feasibility-impossible .gpa-metric-val{color:var(--conflict-ink)}.gpa-metric-card.feasibility-impossible .gpa-standing-pill{background:var(--conflict-border);color:var(--conflict-ink);border-color:var(--conflict-border)}.gpa-metric-card.feasibility-impossible small{color:var(--conflict-muted)}.gpa-metric-card.feasibility-demanding{border-color:var(--warning-border);background:var(--warning-bg)}.gpa-metric-card.feasibility-demanding .gpa-metric-val{color:var(--warning-ink)}.gpa-metric-card.feasibility-demanding .gpa-standing-pill{background:var(--warning-border);color:var(--warning-ink);border-color:var(--warning-border)}.gpa-metric-card.feasibility-demanding small{color:var(--warning-ink)}.gpa-metric-card.feasibility-achievable .gpa-standing-pill,.gpa-metric-card.feasibility-already_met .gpa-standing-pill{background:var(--status-open-bg);color:var(--status-open-ink);border-color:var(--line)}.gpa-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11.5px;font-weight:700}.gpa-metric-val{letter-spacing:-.03em;color:var(--ink);font-size:34px;font-weight:900;line-height:1.1}.gpa-standing-pill{background:var(--segmented-bg);color:var(--ink);border:1px solid var(--line);border-radius:999px;align-self:flex-start;align-items:center;margin-top:2px;margin-bottom:2px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.gpa-standing-pill.neutral{background:var(--surface);color:var(--muted);border:1px dashed var(--line)}.empty-courses-cell{text-align:center;padding:24px 16px!important}.empty-courses-content{color:var(--muted);flex-direction:column;align-items:center;gap:8px;display:flex}.empty-courses-content span{font-size:24px}.empty-courses-content p{max-width:380px;margin:0;font-size:13px;line-height:1.45}.reset-calc-btn{color:var(--conflict-ink)!important;border-color:var(--conflict-border)!important}.reset-calc-btn:hover{background:var(--conflict-bg)!important}.gpa-metric-card small{color:var(--muted);font-size:11.5px;line-height:1.4}.gpa-main-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:24px;display:grid}@media (min-width:1400px){.gpa-main-layout{grid-template-columns:minmax(0,1.4fr) 360px;gap:28px}}.gpa-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;padding:20px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-header h2{letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:800}.panel-header-actions{gap:8px;display:flex}.gpa-table-wrap{border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch;border-radius:12px;margin-bottom:16px;overflow-x:auto}.gpa-table{border-collapse:collapse;width:100%;font-size:13px}.gpa-table th{background:var(--surface-soft);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);text-align:left;padding:10px 12px;font-size:11px;font-weight:700}.gpa-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 12px}.gpa-table tbody tr:last-child td{border-bottom:none}.gpa-table tbody tr:hover{background:var(--surface-soft)}.gpa-input-text{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.gpa-input-text:focus{border-color:var(--lemon-deep);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.gpa-input-text::placeholder{color:var(--muted);opacity:.8}.gpa-select{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 10px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.gpa-select:focus{border-color:var(--lemon-deep);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.gpa-select option{background:var(--surface);color:var(--ink)}.pts-badge{background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.delete-row-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:14px;transition:background-color .15s,color .15s,border-color .15s}.delete-row-btn:hover:not(:disabled){color:var(--danger);background:var(--conflict-bg);border-color:var(--conflict-border)}.delete-row-btn:disabled{opacity:.3;cursor:not-allowed}.scale-legend{color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:8px;padding:12px 14px;font-size:11px;display:flex}.legend-title{color:var(--ink);align-items:center;font-weight:700;display:flex}.legend-item{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600}.gpa-sidebar{flex-direction:column;gap:16px;display:flex}.sidebar-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:16px;padding:18px}.sidebar-card h3{letter-spacing:-.01em;color:var(--ink);margin-bottom:4px;font-size:15px;font-weight:800}.sidebar-card p{color:var(--muted);margin-bottom:12px;font-size:12px;line-height:1.45}.input-field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.input-field label{color:var(--ink);font-size:11.5px;font-weight:700}.gpa-num-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px;font-weight:700;transition:border-color .15s,box-shadow .15s}.gpa-num-input:focus{border-color:var(--lemon-deep);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.feasibility-box{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.45}.feasibility-box.feasibility-impossible{background:var(--conflict-bg);border-color:var(--conflict-border);color:var(--conflict-ink)}.feasibility-box.feasibility-demanding{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}.feasibility-box.feasibility-achievable,.feasibility-box.feasibility-already_met{background:var(--status-open-bg);border-color:var(--line);color:var(--status-open-ink)}.scenario-save-row{gap:8px;margin-bottom:10px;display:flex}.saved-scenarios-list{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.saved-scenarios-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.scenario-pill{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;display:flex}.scenario-load-btn{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;font-size:12px;font-weight:600}.scenario-load-btn:hover{color:var(--brand-accent)}.scenario-del-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px}.scenario-del-btn:hover{color:var(--danger);background:var(--conflict-bg)}@media (max-width:900px){.gpa-main-layout{grid-template-columns:minmax(0,1fr)}.gpa-panel,.gpa-sidebar{min-width:0}}@media (max-width:600px){.gpa-container{padding:16px 12px}.gpa-hero h1{font-size:22px}.gpa-summary-grid{grid-template-columns:1fr;gap:12px}.gpa-metric-card{padding:14px 16px}.gpa-metric-val{font-size:28px}.gpa-panel{padding:16px 12px}.panel-header{flex-wrap:wrap;gap:10px}.sidebar-card{padding:16px 14px}.scenario-save-row{flex-direction:column}}@media (max-width:1500px){.topbar{flex-wrap:wrap;justify-content:flex-start;gap:8px 12px;height:auto;min-height:64px;padding-block:8px}.topbar .brand{margin-inline-end:0}}@media (max-width:360px){.plan-title,.plan-name-editor{min-width:0;max-width:100%}.plan-title input{max-width:100%}.gpa-container{padding:12px 8px}.gpa-hero h1{font-size:20px}.gpa-metric-card{padding:12px 14px}.gpa-metric-val{font-size:26px}}@media (max-width:768px){.explorer-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:scroll}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.topbar,.hero-copy,.catalog,.plan-toolbar,.data-note,footer,.copy-button{display:none!important}body{color:#162017;background:#fff}.hero{color:#000;background:#fff;border-bottom:1px solid #ddd;min-height:auto;padding:18px}.hero:after{display:none}.hero-stats{width:100%;box-shadow:none;background:#fff;border-color:#ddd}.hero-stats b{color:#000}.hero-stats .safe-stat b{color:#5a6d00}.hero-stats span{color:#555}.workspace{background:#fff;display:block}.planner-panel{background:#fff;padding:0}.print-title{border-bottom:2px solid #18221b;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:12px;display:flex}.print-title div{flex-direction:column;gap:2px;display:flex}.print-title b{letter-spacing:-.03em;font-size:18px}.print-title span,.print-title small{color:#555;font-size:10px}.print-title strong{font-size:18px}.calendar-shell{box-shadow:none;background:#fff;overflow:visible}.calendar-grid{min-width:0}.class-block{color:#223228}.class-block.lime{background:#e4f46c}.class-block.mint{background:#bfe9d2}.class-block.sky{background:#c9e8f3}.class-block.sand{background:#f1deb2}.class-block.violet{background:#ddd2f4}.class-block.coral{background:#f4c7bd}.class-block.has-conflict{background:#ffc5bd}.summary-strip{break-inside:avoid}}.language-switcher{border:1px solid var(--line);background:var(--segmented-bg);border-radius:10px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:flex}.language-switcher button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:4px;padding:6px 9px;font-size:11px;font-weight:600;line-height:1;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.language-switcher button:hover{color:var(--ink)}.language-switcher button.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 4px var(--segment-shadow)}.language-switcher.flag-selector .flag-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:5px 8px;line-height:1;transition:all .15s;display:inline-flex}.language-switcher.flag-selector .flag-btn:hover{background:#0000000d}.language-switcher.flag-selector .flag-btn.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 4px var(--segment-shadow);border-color:var(--line-strong)}.language-switcher.flag-selector .flag-btn:focus-visible{outline:2px solid var(--lemon-deep);outline-offset:1px}.flag-icon{font-size:15px;line-height:1;display:inline-block}.category-segmented{background:var(--segmented-bg);border:1px solid var(--line);border-radius:12px;flex-shrink:0;align-items:center;gap:4px;width:fit-content;padding:3px;display:inline-flex}.category-segmented .segmented-option{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:all .16s;display:inline-flex}.category-segmented .segmented-option:hover{color:var(--ink)}.category-segmented .segmented-option.active{background:var(--segment-active-bg);color:var(--segment-active-ink);border-color:var(--line-strong);box-shadow:0 2px 6px var(--segment-shadow);font-weight:600}.category-segmented .segmented-option:focus-visible{outline:2px solid var(--lemon-deep);outline-offset:1px}.category-glyph{flex-shrink:0;font-size:15px;line-height:1}.category-text{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.category-title{font-weight:600;line-height:1}.category-badge{background:var(--surface-sunken);color:var(--muted);border:1px solid var(--line);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.category-segmented .segmented-option.active .category-badge{background:var(--lemon);color:var(--on-lemon);border-color:var(--lemon-deep)}[dir=rtl]{text-align:right}[dir=rtl] .calendar-grid{direction:rtl}[dir=rtl] .hero h1{letter-spacing:0;text-align:right;margin-bottom:8px;font-size:clamp(44px,5.6vw,68px);font-weight:800;line-height:1.24}[dir=rtl] .hero p{text-align:right;max-width:600px;font-size:15.5px;line-height:1.75}[dir=rtl] .class-block{text-align:right;box-shadow:inset -3px 0 var(--block-edge)}[dir=rtl] .hero h1,[dir=rtl] .hero p,[dir=rtl] .course-heading,[dir=rtl] .plan-tab,[dir=rtl] .summary-copy,[dir=rtl] .explorer-filters-panel,[dir=rtl] .section-details,[dir=rtl] .explorer-table,[dir=rtl] .explorer-table thead th,[dir=rtl] .explorer-table td{text-align:right}[dir=rtl] .explorer-table th:last-child,[dir=rtl] .explorer-table td:last-child{text-align:center}[dir=rtl] .sections-table th,[dir=rtl] .sections-table td{text-align:right}[dir=rtl] .sections-table th.col-action,[dir=rtl] .sections-table td.cell-action{text-align:center}[dir=rtl] .gpa-table th,[dir=rtl] .gpa-table td{text-align:right}[dir=rtl] .gpa-table th.action-col,[dir=rtl] .gpa-table td.cell-action{text-align:center}[dir=rtl] .floating-schedule-anchor{left:24px;right:auto}@media (max-width:600px){[dir=rtl] .floating-schedule-anchor{left:16px;right:auto}}[dir=rtl] .download-menu{left:0;right:auto}[dir=rtl] .plan-name-input{text-align:right}[dir=rtl] .chevron{transform:rotate(180deg)}[dir=rtl] details[open] .chevron{transform:rotate(90deg)}@media (max-width:480px){.category-segmented{grid-template-columns:1fr 1fr;width:100%;display:grid}.category-segmented .segmented-option{justify-content:center;padding:8px 6px;font-size:12px}.language-switcher button{padding:6px 7px}.onboarding-cards-grid,.reg-guide-cards{grid-template-columns:1fr}}.welcome-setup-topbar-btn{background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.welcome-setup-topbar-btn:hover{background:var(--surface-active);border-color:var(--brand-accent)}.onboarding-modal{width:90vw;max-width:520px}.onboarding-body{flex-direction:column;gap:20px;padding:16px 0;display:flex}.onboarding-step{flex-direction:column;gap:10px;display:flex}.onboarding-step-header{align-items:center;gap:8px;display:flex}.onboarding-step-num{background:var(--lemon);width:22px;height:22px;color:var(--on-lemon);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.onboarding-step-title{color:var(--ink);font-size:14px;font-weight:700}.onboarding-required-badge{color:var(--danger);background:#c8453b1f;border-radius:9999px;padding:2px 7px;font-size:11px;font-weight:700}.onboarding-pills-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding-lang-btn{background:var(--surface);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.onboarding-lang-btn:hover{border-color:var(--brand-accent);background:var(--surface-muted)}.onboarding-lang-btn.active{border-color:var(--brand-accent);background:var(--surface-active);box-shadow:0 0 0 1px var(--brand-accent)}.onboarding-cards-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.onboarding-cat-card{background:var(--surface);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;transition:all .15s;display:flex}[dir=rtl] .onboarding-cat-card{text-align:right;align-items:flex-start}.onboarding-cat-card:hover{border-color:var(--brand-accent);background:var(--surface-muted)}.onboarding-cat-card.active{border-color:var(--brand-accent);background:var(--surface-active);box-shadow:0 0 0 2px var(--brand-accent)}.cat-card-top{align-items:center;gap:8px;display:flex}.cat-card-icon{font-size:20px}.cat-card-title{color:var(--ink);font-size:14px;font-weight:700}.cat-card-sub{color:var(--muted);font-size:12px;line-height:1.35}.onboarding-required-hint{color:var(--muted);margin:4px 0 0;font-size:12px}.onboarding-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:12px;display:flex}.onboarding-finish-btn{width:100%;padding:12px;font-size:14px;font-weight:700}.onboarding-finish-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.reg-guide-trigger-btn{background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.reg-guide-trigger-btn:hover{background:var(--surface-active);border-color:var(--brand-accent)}.panel-heading-title-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reg-guide-modal{width:92vw;max-width:640px;max-height:85vh;overflow-y:auto}.reg-guide-body{flex-direction:column;gap:22px;padding:14px 0;display:flex}.reg-guide-section{flex-direction:column;gap:10px;display:flex}.reg-guide-heading{color:var(--ink);margin:0;font-size:14.5px;font-weight:700}.reg-guide-subtext{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.reg-guide-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guide-status-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;padding:12px}.guide-status-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.guide-dot{border-radius:50%;width:8px;height:8px}.guide-dot.open{background:var(--live-dot)}.guide-dot.closed{background:var(--danger)}.guide-status-title{color:var(--ink);font-size:13px}.guide-status-desc{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.guide-letters-list{flex-direction:column;gap:8px;display:flex}.guide-letter-item{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.guide-letter-badge{background:var(--lemon);color:var(--on-lemon);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:800}.guide-letter-desc{color:var(--ink);font-size:12.5px}.guide-days-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.guide-day-card{background:var(--surface-muted);border:1px solid var(--line);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.guide-day-code{color:var(--brand-accent);font-size:16px;font-weight:800}.guide-day-name{color:var(--ink);font-size:11.5px;font-weight:600}.guide-day-en{color:var(--muted);font-size:10px}.reg-guide-details{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;transition:border-color .15s;overflow:hidden}.reg-guide-summary{cursor:pointer;color:var(--ink);background:var(--surface);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;list-style:none;display:flex}.reg-guide-summary::-webkit-details-marker{display:none}.reg-guide-details-content{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.cohort-filter-pills{flex-wrap:wrap;gap:6px;display:flex}.cohort-pill{background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:9999px;padding:4px 11px;font-size:11.5px;font-weight:600;transition:all .15s}.cohort-pill:hover{border-color:var(--line-strong);color:var(--ink)}.cohort-pill.active{background:var(--lemon);color:var(--on-lemon);border-color:var(--brand-accent)}.cohort-codes-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cohort-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.cohort-card-header{color:var(--ink);align-items:center;gap:6px;font-size:12.5px;display:flex}.cohort-tag{border-radius:4px;padding:1px 5px;font-size:10px;font-weight:800}.cohort-tag.en{color:#1a73e8;background:#1e90ff1f}.cohort-tag.ar{color:#1e7e45;background:#2ecc7124}.cohort-card-badge{color:var(--brand-accent);font-size:14px;font-weight:800;font-family:monospace, var(--font-sans)}.cohort-card-badge.muted{color:var(--muted);font-family:inherit;font-size:11.5px;font-weight:500}.guide-advisory-note{color:var(--ink);background:#e3f24b1f;border:1px solid #b7d2194d;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:11.5px;line-height:1.45;display:flex}.guide-advisory-note p{margin:0}.electives-list{flex-direction:column;gap:8px;display:flex}.elective-rule-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.elective-rule-text{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.guide-scope-note{color:var(--muted);opacity:.85;font-size:11px}.final-exam-alert-card{color:var(--ink);background:#ff9b901f;border:1px solid #c8453b40;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.final-exam-text{margin:0;font-size:12px;line-height:1.45}.official-links-list{flex-direction:column;gap:8px;display:flex}.official-link-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:10px 14px;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}.official-link-card:hover{border-color:var(--brand-accent);background:var(--surface-active)}.official-link-title{color:var(--brand-accent);font-size:13px;font-weight:700}.official-link-desc{color:var(--muted);margin:0;font-size:11.5px}@media (max-width:600px){.cohort-codes-grid{grid-template-columns:1fr}}.academic-deadline-banner{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;font-size:12.5px;transition:border-color .15s;display:flex}.academic-deadline-banner:hover{border-color:var(--brand-accent)}.deadline-content{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deadline-badge-icon{font-size:14px}.deadline-status-tag{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d;border-radius:9999px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}[data-theme=dark] .deadline-status-tag{color:#4ade80;background:#22c55e33;border-color:#22c55e66}.deadline-title{font-weight:700}.deadline-dates{color:var(--muted);font-size:12px}.deadline-official-link{color:var(--brand-accent);white-space:nowrap;font-size:12px;font-weight:700;text-decoration:none}.deadline-official-link:hover{text-decoration:underline}.academic-events-list{flex-direction:column;gap:8px;display:flex}.academic-event-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .15s;display:flex}.academic-event-card.status-active{background:#22c55e0a;border-color:#22c55e66}.academic-event-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.academic-event-title{color:var(--ink);font-size:13px;font-weight:700}.academic-status-pill{white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:10.5px;font-weight:700}.academic-status-pill.status-active{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d}[data-theme=dark] .academic-status-pill.status-active{color:#4ade80;background:#22c55e33;border-color:#22c55e66}.academic-status-pill.status-upcoming{background:var(--surface-active);color:var(--muted);border:1px solid var(--line)}.academic-status-pill.status-finished{background:var(--surface-muted);color:var(--muted);opacity:.6}.academic-event-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:11.5px;display:flex}.academic-dates-footer{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.academic-official-link{color:var(--brand-accent);font-size:12px;font-weight:700;text-decoration:none}.academic-official-link:hover{text-decoration:underline}@media (max-width:600px){.academic-deadline-banner{flex-direction:column;align-items:flex-start}}footer{border-top:1px solid var(--line);background:var(--cream);text-align:center;margin-top:48px;padding:32px 20px 48px}.footer-content{flex-direction:column;align-items:center;gap:8px;max-width:680px;margin:0 auto;display:flex}.footer-tagline{color:var(--ink);font-size:15px;font-weight:700}.footer-disclaimer{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;margin-top:6px;display:flex}.footer-link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;text-decoration:underline;transition:color .15s;display:inline-flex}.footer-link-btn:hover{color:var(--ink)}.footer-link-btn:focus-visible{outline:2px solid var(--lemon-dark);outline-offset:2px}.footer-link-icon{fill:currentColor;flex:none;width:14px;height:14px}.settings-extra-actions{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.settings-extra-actions button{width:100%}.course-details-modal{width:92vw;max-width:580px;max-height:88vh;overflow-y:auto}.course-details-subtitle{color:var(--muted);margin-top:2px;font-size:13px}.course-details-body{flex-direction:column;gap:16px;padding:18px 24px;display:flex}.course-details-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.detail-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.detail-value{color:var(--ink);font-size:13.5px;font-weight:600}.detail-value.crn-accent{color:var(--brand-accent);font-family:var(--font-mono,monospace);font-size:14px}.detail-disclaimer{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:8px;margin:0;padding:8px 12px;font-size:11.5px;line-height:1.4}.course-details-schedule{flex-direction:column;gap:8px;display:flex}.schedule-section-heading{color:var(--ink);margin:0;font-size:13px;font-weight:700}.schedule-meetings-list{flex-direction:column;gap:8px;display:flex}.meeting-row-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 14px;font-size:12.5px;display:flex}.meeting-days{color:var(--ink);align-items:center;gap:6px;display:flex}.meeting-calendar-icon{font-size:14px}.meeting-time{color:var(--brand-accent);font-weight:600}.meeting-loc{color:var(--muted);font-size:12px}.remove-confirm-box{background:var(--conflict-bg);border:1px solid var(--conflict-border);color:var(--conflict-ink);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;font-size:12.5px;display:flex}.remove-confirm-box p{margin:0}.remove-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.course-details-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-details-actions{align-items:center;gap:8px;display:flex}.admin-btn.danger-outline{border:1px solid var(--conflict-border);color:var(--conflict-ink);background:0 0}.admin-btn.danger-outline:hover{background:var(--conflict-bg)}@media (max-width:600px){.primary-filter-item.term-filter-item,.primary-filter-item.category-selector-wrap,.primary-filter-item.search-filter-item{flex:100%;min-width:0}.primary-filter-item .term-select.readonly-term{white-space:normal;min-width:0}}.filters-toggle-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auto-schedule-toggle-btn{background:var(--surface);border:1.5px solid var(--lemon-deep);color:var(--ink);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.auto-schedule-toggle-btn:hover{background:var(--surface-soft);transform:translateY(-1px)}.auto-schedule-toggle-btn.active{background:var(--lemon);color:var(--on-lemon);border-color:var(--lemon-deep);box-shadow:0 2px 8px #b7d21940}.auto-schedule-toggle-btn .icon{width:14px;height:14px}.auto-schedule-collapsible-wrapper{border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:20px;margin:18px 0 24px;overflow:hidden}.auto-schedule-collapsible-wrapper .auto-schedule-panel{border-bottom:0}.auto-schedule-panel{background:var(--surface);border-bottom:1px solid var(--line);padding:36px clamp(20px,4.5vw,64px) 44px;position:relative}.auto-schedule-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.auto-schedule-title-wrap{max-width:680px}.auto-schedule-eyebrow{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.auto-schedule-badge{background:var(--eyebrow-bg);color:var(--eyebrow-ink);border:1px solid var(--eyebrow-border);letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.auto-schedule-badge .icon{width:13px;height:13px}.auto-schedule-source-pill{color:var(--muted);font-size:11.5px;font-weight:500}.auto-schedule-main-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.18}.auto-schedule-subtitle{color:var(--muted);margin:0;font-size:13.5px;line-height:1.6}.auto-schedule-disclaimer-card{background:var(--snapshot-bg);border:1px solid var(--snapshot-border);color:var(--snapshot-ink);border-radius:12px;align-items:center;gap:8px;max-width:420px;padding:9px 14px;font-size:11.5px;font-weight:500;display:flex}.auto-schedule-flow{flex-direction:column;gap:24px;display:flex}.auto-schedule-card{background:var(--surface-muted);border:1px solid var(--line);border-radius:20px;padding:24px clamp(16px,3vw,28px);transition:border-color .18s,box-shadow .18s;position:relative}.auto-schedule-step-heading{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.auto-schedule-step-num{background:var(--lemon);width:32px;height:32px;color:var(--on-lemon);font:800 13px var(--font-sans);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.auto-schedule-step-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:17px;font-weight:700}.auto-schedule-step-hint{color:var(--muted);margin:2px 0 0;font-size:12px}.auto-schedule-step-count-badge{color:var(--code-ink);background:var(--field-bg);border:1px solid var(--line);border-radius:999px;margin-inline-start:auto;padding:4px 10px;font-size:12px;font-weight:700}.auto-schedule-search-area{margin-bottom:16px}.auto-schedule-filter-controls-row{flex-wrap:wrap;gap:14px;margin-bottom:10px;display:flex}.auto-schedule-search-field{flex:300px}.auto-schedule-dept-field{flex:0 260px;min-width:200px}.auto-schedule-search-label{color:var(--ink);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.auto-schedule-search-label .icon{width:14px;height:14px;color:var(--muted)}.auto-schedule-search-box{background:var(--field-bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;height:46px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.auto-schedule-search-box:focus-within{border-color:var(--lemon-deep);outline:3px solid var(--focus-ring)}.auto-schedule-search-input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.auto-schedule-search-input::placeholder{color:var(--muted)}.auto-schedule-clear-search-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;display:grid}.auto-schedule-clear-search-btn:hover{color:var(--ink)}.auto-schedule-dept-select{background:var(--field-bg);border:1px solid var(--line);width:100%;height:46px;color:var(--ink);border-radius:12px;outline:0;padding:0 12px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.auto-schedule-dept-select:focus{border-color:var(--lemon-deep);outline:3px solid var(--focus-ring)}.auto-schedule-courses-meta-bar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:11.5px;display:flex}.auto-schedule-courses-count-text{font-weight:600}.auto-schedule-reset-filters-btn{color:var(--link-ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:11.5px;font-weight:700}.auto-schedule-reset-filters-btn:hover{background:var(--surface-soft)}.auto-schedule-courses-container{margin-bottom:20px}.auto-schedule-courses-scroll{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;max-height:280px;padding:4px;display:grid;overflow-y:auto}.auto-schedule-course-pill{background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:start;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 12px;transition:all .15s;display:flex}.auto-schedule-course-pill:hover{border-color:var(--line-strong);background:var(--surface-soft)}.auto-schedule-course-pill.is-selected{background:var(--selected-pill-bg);border-color:var(--selected-pill-border);color:var(--selected-pill-ink);font-weight:600}.course-pill-code{letter-spacing:.02em;background:var(--crn-bg);color:var(--crn-ink);border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:800}.course-pill-badges{flex-shrink:0;align-items:center;gap:4px;display:flex}.eligibility-tag{white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.eligibility-tag.eligible{background:var(--surface-sunken);color:var(--muted);border:1px solid var(--line)}.eligibility-tag.snapshot-closed{background:var(--status-closed-bg);color:var(--status-closed-ink)}.eligibility-tag.no-times,.eligibility-tag.no-sections{background:var(--warning-bg);color:var(--warning-ink)}.course-pill-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;line-height:1.35;overflow:hidden}.course-pill-sections{color:var(--muted);white-space:nowrap;font-size:10.5px}.course-pill-check{width:20px;height:20px;color:inherit;flex-shrink:0;place-items:center;display:grid}.course-pill-check .icon{width:14px;height:14px}.auto-schedule-selected-tray{background:var(--surface);border:1px dashed var(--line-strong);border-radius:14px;padding:14px 16px}.auto-schedule-tray-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.auto-schedule-tray-title{color:var(--ink);font-size:12px;font-weight:700}.auto-schedule-tray-clear-btn{color:var(--danger);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.auto-schedule-tray-clear-btn:hover{background:var(--conflict-bg)}.auto-schedule-empty-tray{color:var(--muted);margin:0;font-size:12px;font-style:italic}.auto-schedule-selected-chips{flex-wrap:wrap;gap:8px;display:flex}.auto-schedule-chip{background:var(--field-bg);border:1px solid var(--line-strong);border-radius:8px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;display:inline-flex;box-shadow:0 1px 3px #0000000a}.auto-schedule-chip .chip-code{color:var(--code-ink);font-size:11px;font-weight:800}.auto-schedule-chip .chip-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:500;overflow:hidden}.chip-remove-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 2px;font-size:11px}.chip-remove-btn:hover{color:var(--danger)}.auto-schedule-reset-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin-inline-start:auto;padding:5px 12px;font-size:11.5px;font-weight:600;transition:all .15s}.auto-schedule-reset-btn:hover{color:var(--ink);border-color:var(--line-strong)}.auto-schedule-preferences-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.preference-group{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:16px;padding:18px 20px;display:flex}.preference-group-header{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding-bottom:12px;display:flex}.preference-group-header .icon{width:18px;height:18px;color:var(--lemon-deep);flex-shrink:0;margin-top:2px}.preference-group-header h4{color:var(--ink);margin:0;font-size:14.5px;font-weight:700}.preference-group-header p{color:var(--muted);margin:2px 0 0;font-size:11px}.preference-control{flex-direction:column;gap:6px;display:flex}.control-label{color:var(--ink);font-size:12px;font-weight:700}.days-off-chips-row{flex-wrap:wrap;gap:6px;display:flex}.day-chip{background:var(--surface-sunken);border:1px solid var(--line);min-width:48px;height:38px;color:var(--ink);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.day-chip:hover{border-color:var(--line-strong)}.day-chip.is-off{background:var(--conflict-bg);border-color:var(--conflict-border);color:var(--conflict-ink);font-weight:700}.day-off-indicator{font-size:10px}.preference-select{background:var(--field-bg);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:10px;outline:0;padding:9px 12px;font-size:12.5px;transition:border-color .15s}.preference-select:focus{border-color:var(--lemon-deep);outline:3px solid var(--focus-ring)}.toggle-label-card{background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.toggle-label-card:hover{background:var(--surface-sunken)}.preference-checkbox{width:17px;height:17px;accent-color:var(--lemon-deep);cursor:pointer;margin-top:2px}.toggle-card-text{flex-direction:column;gap:2px;display:flex}.toggle-main-title{color:var(--ink);font-size:12.5px;font-weight:600}.toggle-sub-desc{color:var(--muted);font-size:11px;line-height:1.35}.instructors-chip-row{flex-wrap:wrap;gap:6px;max-height:110px;padding:2px;display:flex;overflow-y:auto}.instructor-chip{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;transition:all .15s;display:inline-flex}.instructor-chip.is-picked{background:var(--selected-pill-bg);border-color:var(--selected-pill-border);color:var(--selected-pill-ink);font-weight:700}.instructor-chip .icon{width:12px;height:12px}.results-count-segmented{background:var(--segmented-bg);border-radius:9px;grid-template-columns:repeat(4,1fr);padding:3px;display:grid}.segmented-opt{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px;font-size:12px;font-weight:600;transition:all .15s}.segmented-opt.active{background:var(--segment-active-bg);color:var(--segment-active-ink);box-shadow:0 1px 3px var(--segment-shadow);font-weight:800}.auto-schedule-action-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.auto-schedule-primary-btn{background:var(--lemon);color:var(--on-lemon);letter-spacing:-.01em;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:14.5px;font-weight:800;transition:transform .12s,filter .15s,background-color .15s;display:inline-flex;box-shadow:0 4px 14px #b7d21947}.auto-schedule-primary-btn:hover:not(:disabled){background:var(--lemon-deep);transform:translateY(-1px)}.auto-schedule-primary-btn:active:not(:disabled){transform:translateY(0)}.auto-schedule-primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auto-schedule-primary-btn .icon{width:18px;height:18px}.auto-schedule-action-hint{color:var(--muted);font-size:12.5px}.auto-schedule-alert-banner{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;font-size:12.5px;line-height:1.5;display:flex}.auto-schedule-alert-banner .icon{flex-shrink:0;width:18px;height:18px}.auto-schedule-truncated-banner{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:11.5px}.auto-schedule-toast{background:var(--toast-bg);color:var(--toast-ink);border-radius:10px;margin-bottom:16px;padding:10px 16px;font-size:12.5px;font-weight:700;display:inline-block;box-shadow:0 4px 16px #00000024}.auto-schedule-empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line);color:var(--muted);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.auto-schedule-empty-icon{background:var(--surface-sunken);width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.auto-schedule-empty-icon .icon{width:22px;height:22px}.auto-schedule-empty-state h4{color:var(--ink);margin:0;font-size:16px;font-weight:700}.auto-schedule-empty-state p{max-width:440px;margin:0;font-size:12.5px;line-height:1.5}.auto-schedule-results-area{flex-direction:column;gap:16px;display:flex}.auto-schedule-results-meta{justify-content:space-between;align-items:center;display:flex}.results-count-title{color:var(--ink);font-size:14px;font-weight:800}.auto-schedule-results-grid{grid-template-columns:1fr;gap:20px;display:grid}.auto-schedule-result-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:18px;flex-direction:column;gap:16px;padding:20px clamp(16px,2.5vw,24px);transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.auto-schedule-result-card:hover{border-color:var(--line-strong)}.result-card-header{flex-direction:column;gap:10px;display:flex}.result-card-title-group{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.result-rank-badge{color:var(--ink);letter-spacing:-.01em;font-size:13.5px;font-weight:800}.result-rank-badge.top-rank{color:var(--lemon-deep)}.result-metrics-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.result-metric-pill{background:var(--surface-sunken);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.result-metric-pill .icon{width:13px;height:13px}.result-reasons-wrap{flex-wrap:wrap;gap:6px;display:flex}.result-reason-tag{color:var(--selected-pill-ink);background:var(--selected-pill-bg);border:1px solid var(--selected-pill-border);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600}.result-timetable-section{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.result-timetable-label{color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:11.5px;font-weight:700;display:flex}.result-timetable-label .icon{width:13px;height:13px}.mini-timetable-container{width:100%}.mini-timetable-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.mini-timetable-col{flex-direction:column;gap:4px;display:flex}.mini-col-header{text-align:center;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px 0;font-size:10.5px;font-weight:700}.mini-col-track{background:var(--calendar-axis);border:1px solid var(--calendar-line);border-radius:6px;height:140px;position:relative;overflow:hidden}.mini-block{border:1px solid #00000014;border-radius:5px;flex-direction:column;justify-content:center;padding:2px 4px;line-height:1.15;display:flex;position:absolute;left:2px;right:2px;overflow:hidden;box-shadow:0 1px 2px #00000014}.mini-block-code{white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:800;overflow:hidden}.mini-block-time{opacity:.85;font-size:8.5px;font-weight:500}.mini-lime{background:var(--block-lime);color:#1e2500}.mini-mint{background:var(--block-mint);color:#0d2a1b}.mini-sky{background:var(--block-sky);color:#0c2b38}.mini-sand{background:var(--block-sand);color:#36290c}.mini-violet{background:var(--block-violet);color:#22123f}.mini-coral{background:var(--block-coral);color:#3d1410}.result-sections-toggle-row{justify-content:flex-start;display:flex}.result-details-toggle-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.result-details-toggle-btn:hover{color:var(--ink);background:var(--surface-soft)}.result-details-toggle-btn .icon{width:14px;height:14px}.result-sections-list{flex-direction:column;gap:8px;padding-top:4px;display:flex}.result-section-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.result-sec-info{flex:240px;align-items:center;gap:8px;min-width:0;display:flex}.result-sec-code{background:var(--crn-bg);color:var(--crn-ink);border-radius:5px;padding:2px 6px;font-size:11px;font-weight:800}.result-sec-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.result-sec-crn{color:var(--muted);font-size:11px}.result-sec-meetings{color:var(--muted);flex-direction:column;gap:2px;font-size:11.5px;display:flex}.result-sec-instructor{color:var(--muted);font-size:11px}.result-sec-status .status-pill{border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:600}.result-save-card-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;display:flex}.result-save-input-wrap{flex:200px}.result-plan-name-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--ink);border-radius:10px;outline:0;padding:9px 12px;font-size:12.5px}.result-plan-name-input:focus{border-color:var(--lemon-deep);outline:3px solid var(--focus-ring)}.result-save-plan-btn{background:var(--copy-bg);color:var(--copy-ink);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.result-save-plan-btn:hover{filter:brightness(1.1)}.result-save-plan-btn.is-saved{background:var(--status-open-bg);color:var(--status-open-ink);border:1px solid var(--selected-pill-border)}.result-save-plan-btn .icon{width:14px;height:14px}.auto-schedule-more-row{justify-content:center;padding:12px 0 6px;display:flex}.auto-schedule-more-btn{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;border-radius:10px;padding:10px 24px;font-size:13px;font-weight:700;transition:all .15s}.auto-schedule-more-btn:hover{background:var(--surface-soft);border-color:var(--lemon-deep)}@media (max-width:900px){.auto-schedule-preferences-grid{grid-template-columns:1fr}}@media (max-width:600px){.auto-schedule-panel{padding:24px 14px 32px}.auto-schedule-card{border-radius:16px;padding:16px 12px}.auto-schedule-courses-scroll{grid-template-columns:1fr}.result-save-card-bar{flex-direction:column;align-items:stretch}.result-save-plan-btn{justify-content:center;width:100%}.mini-col-track{height:110px}.mini-block{padding:1px 2px}.mini-block-code{font-size:8.5px}.mini-block-time{display:none}}@media (min-width:768px) and (max-width:1180px){html,body{max-width:100vw;overflow-x:clip}.admin-btn,.btn,.ghost,.download-btn,.welcome-setup-topbar-btn,.profile-link-btn,.service-status-pill,.notifications-pill,.jump-to-schedule-btn,.floating-schedule-pill,.theme-switcher button,.flag-btn,.segmented-option,.auto-schedule-day-chip,.day-pill,.close-button{-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.primary-filter-item select,.term-select,.gpa-select,.auth-input,.gpa-input-text{min-height:44px;font-size:16px}.timetable-track{min-width:640px}.timetable-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.auto-schedule-preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auto-schedule-courses-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}.gpa-main-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.gpa-table-wrap,.explorer-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}.catalog-status-strip{background:var(--card-bg,#fff);border:1px solid var(--line,#00000014);color:var(--ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:16px;padding:8px 14px;font-size:13px;transition:background .2s,border-color .2s;display:flex}[data-theme=dark] .catalog-status-strip{background:var(--card-bg,#1a241d);border-color:#ffffff14}.catalog-status-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-status-heading{color:var(--ink);font-size:13px;font-weight:600}.status-pill-freshness{letter-spacing:-.01em;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill-freshness.updated{color:#1e7e45;background:#26a65b1f;border:1px solid #26a65b40}[data-theme=dark] .status-pill-freshness.updated{color:#2ecc71;background:#2ecc7126;border-color:#2ecc714d}.status-pill-freshness.outdated{color:#b86200;background:#eb8c001f;border:1px solid #eb8c004d}[data-theme=dark] .status-pill-freshness.outdated{color:#f39c12;background:#f39c1226;border-color:#f39c124d}.status-pill-freshness .status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.catalog-status-meta-item{color:var(--muted);font-size:12.5px;font-weight:500}.catalog-status-divider{color:var(--line);opacity:.6}.catalog-status-portal-note{color:var(--muted);cursor:help;opacity:.85;align-items:center;gap:6px;font-size:12px;display:inline-flex}.catalog-status-portal-note:hover{opacity:1}.student-community-card{background:var(--surface-soft);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px 20px;display:flex}.community-card-content{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.community-card-icon{flex-shrink:0;padding-top:2px;font-size:24px;line-height:1}.community-card-text{flex-direction:column;gap:4px;min-width:0;display:flex}.community-card-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.community-card-desc{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.community-card-disclaimer{color:var(--muted);opacity:.8;margin-top:2px;font-size:11px}.community-card-btn{white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.community-card-btn:hover{opacity:.92;transform:translateY(-1px)}.community-btn-arrow{font-size:14px;transition:transform .15s;display:inline-block}[dir=rtl] .community-card-btn:hover .community-btn-arrow{transform:translate(-3px)}[dir=ltr] .community-card-btn:hover .community-btn-arrow{transform:translate(3px)}.instructor-community-link{color:var(--brand-accent);vertical-align:middle;background:#8da70014;border:1px solid #8da70033;border-radius:6px;align-items:center;gap:4px;margin-inline-start:8px;padding:2px 7px;font-size:11.5px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.instructor-community-link:hover{background:#8da7002e;border-color:#8da70066}[data-theme=dark] .instructor-community-link{color:var(--lemon);background:#e2f34a1a;border-color:#e2f34a40}[data-theme=dark] .instructor-community-link:hover{background:#e2f34a33;border-color:#e2f34a73}.instructor-with-link{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}@media (max-width:640px){.student-community-card{flex-direction:column;align-items:stretch;gap:14px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
