.social-notification-root{--sn-primary: var(--ap-primary, var(--brand));--sn-primary-soft: var(--ap-primary-soft, rgba(53, 172, 201, .13));--sn-surface: var(--ap-surface, var(--surface));--sn-surface-low: var(--ap-surface-low, var(--surface-muted));--sn-outline: var(--ap-outline, var(--line));--sn-text: var(--ap-text, var(--text));--sn-muted: var(--ap-text-muted, var(--text-muted));--sn-danger: var(--ap-danger, var(--danger));color:var(--sn-text)}.social-notification-bell{position:fixed;top:max(12px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));z-index:2200;display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--sn-outline);border-radius:50%;background:color-mix(in srgb,var(--sn-surface) 94%,transparent);color:var(--sn-muted);cursor:pointer;box-shadow:0 8px 24px #010a1538;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.social-notification-bell:hover,.social-notification-bell.is-open{border-color:var(--sn-primary);background:var(--sn-primary-soft);color:var(--sn-primary)}.social-notification-bell>svg{width:21px;height:21px}.social-notification-bell>span{position:absolute;top:-4px;right:-4px;display:inline-flex;min-width:21px;height:21px;align-items:center;justify-content:center;border:2px solid var(--sn-surface);border-radius:999px;padding:0 .28rem;background:#ef4444;color:#fff;font-size:.58rem;font-weight:850;line-height:1}.social-notification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2190;background:transparent}.social-notification-panel{position:fixed;top:max(66px,calc(env(safe-area-inset-top,0px) + 62px));right:max(14px,env(safe-area-inset-right,0px));display:grid;width:min(410px,calc(100vw - 28px));max-height:min(650px,calc(100dvh - 82px));grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--sn-outline);border-radius:13px;background:var(--sn-surface);color:var(--sn-text);box-shadow:0 22px 60px #00071161}.social-notification-alerts{display:grid;min-height:0}.social-notification-panel>header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:.3rem;border-bottom:1px solid var(--sn-outline);padding:.72rem .72rem .72rem .9rem}.social-notification-panel>header span{display:block;color:var(--sn-primary);font-size:.58rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.social-notification-panel h2{margin:.05rem 0 0;color:var(--sn-text);font-size:1rem}.social-notification-panel>header button{display:grid;width:44px;height:44px;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sn-muted);cursor:pointer}.social-notification-panel>header button:hover{border-color:var(--sn-outline);background:var(--sn-surface-low);color:var(--sn-primary)}.social-notification-panel>header button:disabled{cursor:not-allowed;opacity:.5}.social-notification-panel>header svg{width:18px;height:18px}.social-notification-warning,.social-notification-error,.social-notification-tutorial{display:flex;align-items:center;gap:.4rem;margin:.55rem .7rem 0;border:1px solid var(--sn-outline);border-radius:7px;padding:.48rem .55rem;font-size:.63rem;line-height:1.4}.social-notification-tutorial{border-color:color-mix(in srgb,var(--sn-primary) 44%,var(--sn-outline));background:var(--sn-primary-soft);color:var(--sn-primary)}.social-notification-tutorial svg{width:17px;height:17px;flex:0 0 auto}.social-notification-warning{border-color:color-mix(in srgb,#f59e0b 45%,var(--sn-outline));background:color-mix(in srgb,#f59e0b 8%,var(--sn-surface));color:color-mix(in srgb,#f59e0b 66%,var(--sn-text))}.social-notification-warning svg{width:16px;height:16px;flex:0 0 auto}.social-notification-error{border-color:color-mix(in srgb,var(--sn-danger) 43%,var(--sn-outline));background:color-mix(in srgb,var(--sn-danger) 8%,var(--sn-surface));color:var(--sn-danger)}.social-notification-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.45rem;scrollbar-width:thin}.social-notification-empty{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:.38rem;padding:1rem;color:var(--sn-muted);font-size:.69rem;text-align:center}.social-notification-empty>span{display:grid;width:50px;height:50px;place-items:center;margin-bottom:.25rem;border-radius:50%;background:var(--sn-primary-soft);color:var(--sn-primary)}.social-notification-empty>span svg{width:23px;height:23px}.social-notification-empty>svg{width:19px;height:19px;color:var(--sn-primary)}.social-notification-empty strong{color:var(--sn-text);font-size:.83rem}.social-notification-empty p{max-width:280px;margin:0;line-height:1.5}.social-notification-item{position:relative;overflow:hidden;border:1px solid transparent;border-radius:9px}.social-notification-item+.social-notification-item{margin-top:.28rem}.social-notification-item.is-unread{border-color:color-mix(in srgb,var(--sn-primary) 26%,var(--sn-outline));background:color-mix(in srgb,var(--sn-primary) 6%,var(--sn-surface))}.social-notification-main{display:grid;width:100%;min-height:72px;grid-template-columns:40px minmax(0,1fr) 10px;align-items:start;gap:.6rem;border:0;padding:.68rem;background:transparent;color:inherit;cursor:pointer;text-align:left}.social-notification-main:hover{background:var(--sn-surface-low)}.social-notification-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:9px;background:var(--sn-primary-soft);color:var(--sn-primary)}.social-notification-icon svg{width:18px;height:18px}.social-notification-main>span:nth-child(2){display:grid;min-width:0;gap:.12rem}.social-notification-main strong{overflow:hidden;color:var(--sn-text);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.social-notification-main small{display:-webkit-box;overflow:hidden;color:var(--sn-muted);font-size:.63rem;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.social-notification-main time{margin-top:.12rem;color:var(--sn-muted);font-size:.55rem}.social-notification-main i{width:8px;height:8px;margin-top:.25rem;border-radius:50%;background:var(--sn-primary);box-shadow:0 0 0 3px var(--sn-primary-soft)}.social-notification-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;border-top:1px solid var(--sn-outline);padding:.48rem .65rem .62rem}.social-notification-actions button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.3rem;border:1px solid var(--sn-outline);border-radius:7px;background:var(--sn-surface-low);color:var(--sn-muted);cursor:pointer;font-size:.65rem;font-weight:780}.social-notification-actions button.is-accept{border-color:var(--sn-primary);background:var(--sn-primary);color:#fff}.social-notification-actions button:disabled{cursor:not-allowed;opacity:.52}.social-notification-actions svg{width:15px;height:15px}.social-notification-more{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:.4rem;border:0;background:transparent;color:var(--sn-primary);cursor:pointer;font-size:.67rem;font-weight:760}.social-notification-more svg{width:16px;height:16px}.social-notification-panel>footer{border-top:1px solid var(--sn-outline);padding:.55rem;background:var(--sn-surface)}.social-notification-panel>footer button{width:100%;min-height:44px;border:1px solid var(--sn-outline);border-radius:8px;background:var(--sn-surface-low);color:var(--sn-primary);cursor:pointer;font-size:.69rem;font-weight:800}.social-notification-spin{animation:social-notification-spin .8s linear infinite}@keyframes social-notification-spin{to{transform:rotate(360deg)}}@media(min-width:1180px){body:has(.sidebar) .social-notification-bell{top:16px}}@media(max-width:640px){.social-notification-bell{display:none;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));width:44px;height:44px}.social-notification-bell.has-notifications,body.onboarding-active[data-onboarding-step=friends-notifications] .social-notification-bell{display:grid}.social-notification-backdrop{display:grid;align-items:end;background:#010a159e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.social-notification-panel{position:static;width:100%;max-height:min(86dvh,760px);border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0;box-shadow:0 -18px 50px #00071159}.social-notification-panel>header{padding-top:.9rem}.social-notification-panel>header:before{content:"";position:absolute;top:7px;left:50%;width:38px;height:4px;border-radius:999px;background:var(--sn-outline);transform:translate(-50%)}.social-notification-panel>footer{padding-bottom:calc(.55rem + env(safe-area-inset-bottom,0px))}}@media(min-width:641px)and (max-width:1040px){body:has(.social-notification-bell) .mobile-header-back{margin-right:52px}}@media(max-width:640px){body:has(.social-notification-bell.has-notifications) .mobile-header-back,body.onboarding-active[data-onboarding-step=friends-notifications] .mobile-header-back{margin-right:52px}}body.onboarding-active[data-onboarding-step=friends-notifications] .social-notification-backdrop,body.onboarding-active[data-onboarding-step=friends-notifications] .social-notification-bell{z-index:3005}@media(max-width:430px){body:has(.social-notification-bell.has-notifications) .mobile-header-back,body.onboarding-active[data-onboarding-step=friends-notifications] .mobile-header-back{width:44px;min-width:44px;padding:0}body:has(.social-notification-bell.has-notifications) .mobile-header-back>span,body.onboarding-active[data-onboarding-step=friends-notifications] .mobile-header-back>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media(prefers-reduced-motion:reduce){.social-notification-spin{animation-duration:1.8s}}:root[data-theme=light] .social-notification-root{--sn-surface: #ffffff;--sn-surface-low: #f4f8fa;--sn-outline: #cfdae0;--sn-text: #102a3a;--sn-muted: #4c6573}:root{--page: #071522;--sticky-content-top: 0px;--page-deep: #04101b;--surface: rgba(14, 32, 48, .94);--surface-strong: #102538;--surface-muted: #0d2132;--line: rgba(122, 157, 177, .18);--line-strong: rgba(53, 172, 201, .36);--text: #edf5f7;--text-muted: #99adb8;--text-soft: #6f8997;--brand: #35acc9;--brand-dark: #157791;--accent: #76d0c1;--danger: #f87171;--shadow-card: 0 4px 16px rgba(0, 8, 18, .18);--shadow-raised: 0 8px 24px rgba(0, 8, 18, .22);--sidebar-width: clamp(236px, 14vw, 260px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--page);width:100%;min-height:100%;overflow-x:clip}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--page);color:var(--text);min-height:100vh;min-height:100dvh;width:100%;overflow-x:clip;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-width:0;min-height:100vh;min-height:100dvh;overflow-x:clip}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button{transition:border-color .18s ease,background .18s ease,color .18s ease}.skip-link{position:absolute;top:-40px;left:12px;z-index:10000;background:var(--brand);color:#fff;padding:6px 12px;border-radius:6px;font-size:.82rem;font-weight:700;text-decoration:none;transition:top .15s}.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}.app-shell{min-height:100vh;min-height:100dvh;color:var(--text);display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:#06121df0;padding:0 1.25rem}.topbar-inner{max-width:1240px;min-height:70px;margin:0 auto;display:flex;align-items:center;gap:1.25rem}.brand{border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.8rem;text-align:left;flex-shrink:0}.brand-mark{width:43px;height:43px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 24px #15779159}.brand-name,.brand-subtitle{display:block}.brand-name{color:var(--text);font-size:1rem;font-weight:750;letter-spacing:-.02em;line-height:1.25}.brand-subtitle{color:var(--text-soft);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.app-nav{display:flex;align-items:center;gap:.25rem;padding:.27rem;border:1px solid var(--line);border-radius:13px;background:#0c1c2a8c}.nav-pill{border:0;border-radius:9px;padding:.52rem .74rem;background:transparent;color:var(--text-muted);font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap}.nav-pill-settings{display:inline-flex;align-items:center;gap:.55rem}.nav-pill-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.nav-pill-settings.is-active{color:#fff;background:#1f1f1f}.nav-pill-settings.is-active{box-shadow:none}.account-actions{margin-left:auto;display:flex;align-items:center;gap:.7rem;min-width:0}.account-email{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);font-size:.72rem}.account-action-row{display:flex;align-items:stretch;gap:.55rem;width:100%}.logout-button{flex:1;cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:.42rem .65rem;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:600}.logout-button:hover{border-color:#f8717159;color:#fda4af}.settings-icon-button{width:40px;min-height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer}.settings-icon-button:hover,.settings-icon-button.is-active{border-color:var(--line-strong);background:#35acc929;color:#fff}.settings-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.guest-access{margin-left:auto;display:flex;align-items:center;gap:.95rem;min-width:0}.guest-access-copy{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.guest-access-copy strong{color:var(--text);font-size:.76rem;font-weight:650}.guest-access-copy span{color:var(--text-soft);font-size:.68rem}.signin-button{cursor:pointer;white-space:nowrap;border:1px solid rgba(53,172,201,.42);border-radius:10px;padding:.56rem .84rem;background:#35acc921;color:#b6ebf3;font-size:.76rem;font-weight:700}.signin-button:hover{background:#35acc938;border-color:#35acc9a6;color:#fff}.stepper{margin-left:auto;display:flex;align-items:center;gap:.45rem;color:var(--text-soft);font-size:.72rem;font-weight:600}.step{display:flex;align-items:center;gap:.42rem}.step-number{width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem}.step.is-done{color:#a6deea}.step.is-done .step-number{border-color:#35acc97a;background:#35acc92e;color:#fff}.step-divider{margin-left:.2rem;color:#304452}.workspace{width:100%;min-width:0;max-width:1240px;margin:0 auto;padding:2rem 1.25rem 3rem;flex:1}.notice{border-radius:12px;padding:.72rem .85rem;margin-bottom:1rem;font-size:.8rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.notice button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.1rem}.notice-error{border:1px solid rgba(248,113,113,.35);background:#7f1d1d47;color:#fecaca}.notice-success{border:1px solid rgba(52,211,153,.3);background:#064e3b57;color:#a7f3d0}.notice-warning,.notice-offline{border:1px solid rgba(250,204,21,.38);background:#713f1238;color:#fde68a}.notice-update{border:1px solid var(--line-strong);background:var(--surface-strong);color:var(--text)}.notice-action,.notice .notice-action{border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#ffffff1f;color:inherit;cursor:pointer;font-size:.76rem;font-weight:800;padding:.42rem .7rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.route-skeleton,.module-error{width:min(760px,100%);margin:1.5rem auto;padding:1.25rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-card)}.route-skeleton{display:grid;gap:.75rem}.route-skeleton-line{display:block;width:100%;height:14px;border-radius:4px;background:var(--surface-muted);opacity:.6}.route-skeleton-line.is-title{width:min(320px,72%);height:24px}.route-skeleton-line.is-short{width:min(460px,84%)}.module-error h2{margin:0 0 .45rem;color:var(--text);font-size:1.15rem}.module-error p{color:var(--text-muted);font-size:.82rem;line-height:1.6}.module-error-actions{display:flex;gap:.65rem;margin-top:1rem}.module-error-actions .primary-button,.module-error-actions .secondary-button{width:auto;min-height:42px;margin:0}.activity-conflict-notice strong{color:#fef3c7}.info-help{position:relative;display:inline-flex;vertical-align:middle;margin-left:.45rem}.info-help-button{width:22px;height:22px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted);color:var(--brand);cursor:pointer;font-size:.78rem;font-weight:900;line-height:1;display:inline-grid;place-items:center;padding:0}.info-help-button:hover{border-color:var(--brand);background:var(--surface-muted)}.info-help-button:focus-visible,.info-help-close:focus-visible,.info-help-action:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.info-help-popover{position:fixed;z-index:2200;display:grid;gap:.5rem;width:min(280px,calc(100vw - 2rem));max-width:min(280px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-raised);color:var(--text);padding:.8rem;text-align:left;overflow-wrap:break-word;overflow-y:auto;overscroll-behavior:contain}.info-help-popover strong{font-size:.82rem}.info-help-content{color:var(--text-muted);font-size:.76rem;line-height:1.5}.info-help-action,.info-help-close{justify-self:start;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text);cursor:pointer;font-size:.73rem;font-weight:800;padding:.42rem .65rem}.info-help-action{border-color:var(--line-strong);background:var(--brand);color:#fff}.activity-conflict-notice ul{margin:.45rem 0 0;padding-left:1.1rem}.activity-conflict-notice{align-items:flex-start;color:#fef3c7}.activity-conflict-notice li{margin-top:.18rem}.eyebrow{display:inline-flex;border:1px solid rgba(53,172,201,.26);background:#35acc917;border-radius:99px;padding:.34rem .65rem;color:#8ad9e9;letter-spacing:.13em;font-size:.64rem;font-weight:750}.auth-layout{max-width:955px;margin:clamp(1.5rem,8vh,4.5rem) auto;display:grid;grid-template-columns:1.05fr .9fr;align-items:stretch;gap:1.2rem}.auth-pitch{padding:clamp(2rem,5vw,3.2rem);border-radius:25px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(53,172,201,.12),transparent 60%),#0b1b2ac2;box-shadow:var(--shadow-card)}.auth-pitch h1,.upload-intro h1{font-size:clamp(1.75rem,3vw,2.5rem);max-width:490px;line-height:1.14;letter-spacing:-.055em;margin:1.25rem 0 .85rem}.auth-pitch>p,.upload-intro p{color:var(--text-muted);max-width:470px;font-size:.94rem}.auth-feature-list{margin-top:2.45rem;display:grid;gap:.82rem}.auth-feature-list div{border-top:1px solid var(--line);padding-top:.82rem;display:grid;grid-template-columns:92px 1fr;font-size:.82rem}.auth-feature-list strong{color:#b8ecf2}.auth-feature-list span{color:var(--text-muted)}.auth-card{padding:clamp(1.45rem,4vw,2.15rem);border-radius:25px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-raised)}.auth-card-head{margin-bottom:1.6rem}.auth-mark{margin-bottom:1.25rem}.auth-card h2{font-size:1.35rem;letter-spacing:-.035em;margin-bottom:.35rem}.auth-card-head p{color:var(--text-muted);font-size:.8rem}.auth-form{display:flex;flex-direction:column}.auth-form label{color:var(--text-muted);margin-bottom:.36rem;font-size:.74rem;font-weight:600}.auth-form input{width:100%;padding:.76rem .82rem;margin-bottom:.95rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:11px;color:var(--text);font-size:.85rem}.auth-form input:focus{border-color:var(--line-strong)}.auth-password-field{position:relative;margin-bottom:.95rem}.auth-password-field input{margin-bottom:0;padding-right:3rem}.password-visibility-button{position:absolute;top:50%;right:.42rem;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%)}.password-visibility-button:hover{background:var(--surface);color:var(--text)}.password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem .7rem;padding:0;margin:0 0 .75rem;list-style:none}.password-requirements li{min-width:0;color:var(--text-muted);font-size:.7rem;display:flex;align-items:center;gap:.38rem}.password-requirements li svg{flex:0 0 auto}.password-requirements li.is-complete{color:var(--accent)}.password-suggestion-button,.gmail-open-link{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-muted);color:var(--brand);font-size:.77rem;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.password-suggestion-button{cursor:pointer}.password-suggestion-button:hover,.gmail-open-link:hover{border-color:var(--brand);background:var(--surface)}.password-manager-note{margin:.45rem 0 .7rem;color:var(--text-muted);font-size:.7rem;line-height:1.4;text-align:center}.gmail-open-link{margin-top:.75rem;text-decoration:none}@media(max-width:480px){.password-requirements{grid-template-columns:1fr}}.google-auth-button{width:100%;min-height:46px;border:1px solid rgba(226,232,240,.72);border-radius:11px;background:#fff;color:#1f2937;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.66rem;font-size:.84rem;font-weight:750;box-shadow:0 10px 26px #0008121f}.google-auth-button:hover:not(:disabled){border-color:#35acc98c;color:#0f5f73}.google-auth-button:disabled{opacity:.72;cursor:wait}.google-auth-mark{width:23px;height:23px;border-radius:50%;border:1px solid rgba(31,41,55,.14);display:inline-flex;align-items:center;justify-content:center;color:#2563eb;font-size:.78rem;font-weight:900;line-height:1}.auth-divider{margin:1rem 0;display:flex;align-items:center;gap:.75rem;color:var(--text-soft);font-size:.72rem;font-weight:650}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-identity-note{margin:-.2rem 0 .9rem;color:var(--text-soft);font-size:.76rem;line-height:1.45;text-align:center}.primary-button{margin-top:.3rem;width:100%;padding:.82rem 1rem;border-radius:11px;border:1px solid transparent;background:linear-gradient(135deg,#2aa4c2,#19788f);color:#fff;cursor:pointer;font-size:.84rem;font-weight:700}.primary-button:disabled{opacity:.65;cursor:wait}.auth-switch{margin-top:1.4rem;text-align:center;font-size:.78rem;color:var(--text-muted)}.auth-switch button,.skip-button{border:0;background:transparent;color:#82d4e6;cursor:pointer;font-weight:650}.auth-switch button{margin-left:.4rem}.skip-button{display:block;width:100%;color:var(--text-soft);font-size:.72rem;margin-top:1.1rem}.skip-button:hover{color:var(--text-muted)}.generator-entry,.generator-entry-status{width:min(920px,100%);margin:clamp(1.25rem,5vh,3rem) auto 0}.generator-entry-heading{max-width:680px;margin-bottom:1.5rem}.generator-entry-heading h1{margin:.75rem 0 .55rem;color:var(--text);font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.16;letter-spacing:0}.generator-entry-heading p{color:var(--text-muted);font-size:.9rem;line-height:1.65}.generator-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.generator-choice{min-height:265px;padding:1.35rem;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-card)}.generator-choice.is-recommended{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--brand),var(--shadow-card)}.generator-choice h2{margin:0 0 .5rem;color:var(--text);font-size:1.08rem;letter-spacing:0}.generator-choice p{color:var(--text-muted);font-size:.8rem;line-height:1.65}.generator-choice .primary-button,.generator-choice .secondary-button{width:100%;margin-top:auto}.generator-choice-tag{align-self:flex-start;padding:.25rem .55rem;border:1px solid rgba(53,172,201,.35);border-radius:999px;background:#35acc91a;color:#a9e1ec;font-size:.67rem;font-weight:700}.generator-choice-tag.is-neutral{border-color:var(--line);background:var(--surface-muted);color:var(--text-muted)}.generator-entry-status{min-height:190px;display:flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:.82rem}.generator-entry-loader{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .9s linear infinite}.generator-back-button,.guide-documents-button{border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text-muted);cursor:pointer;font-size:.75rem;font-weight:650}.generator-back-button{margin-bottom:1rem;padding:.48rem .7rem}.guide-documents-button{width:100%;margin:-.25rem 0 1rem;padding:.62rem .8rem;color:#b6ebf3}.generator-back-button:hover,.guide-documents-button:hover{border-color:var(--line-strong);background:#35acc91f;color:var(--text)}.upload-view{max-width:1380px;margin:clamp(1rem,5vh,3.2rem) auto 0;display:grid;grid-template-columns:.92fr minmax(420px,1fr);align-items:start;gap:clamp(1.5rem,5vw,4rem)}.upload-intro{padding-top:1.15rem}.trust-list{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.55rem}.trust-list span{color:var(--text-muted);font-size:.72rem;font-weight:550;padding:.45rem .68rem;border:1px solid var(--line);border-radius:99px;background:#0e20308a}.trust-list span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:.48rem;border-radius:50%;background:var(--accent)}.upload-panel{padding:clamp(1.1rem,3vw,1.45rem);border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-raised)}.upload-main-column{display:grid;gap:1rem;min-width:0}.upload-work-schedule-panel{grid-column:1 / -1;width:100%;overflow-x:auto;overflow-y:hidden}.work-schedule-embedded{width:100%;min-width:840px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.15rem}.panel-heading h2{color:var(--text);font-size:1.08rem;letter-spacing:-.03em}.panel-heading p{color:var(--text-soft);font-size:.73rem}.privacy-tag{padding:.3rem .58rem;border-radius:99px;background:#76d0c11a;border:1px solid rgba(118,208,193,.25);color:#94ded2;font-size:.68rem;font-weight:650}.import-tabs{display:flex;gap:.35rem;border-radius:12px;padding:.25rem;background:var(--surface-muted);border:1px solid var(--line);margin-bottom:1rem}.import-tabs button{flex:1;min-height:44px;border:0;background:transparent;border-radius:9px;color:var(--text-soft);padding:.55rem .7rem;font-size:.75rem;font-weight:650;cursor:pointer}.import-tabs button.is-active{background:#35acc921;color:#a9e1ec;box-shadow:inset 0 0 0 1px #35acc940}.dropzone{border:1px dashed rgba(53,172,201,.35);background:#0817248f;border-radius:15px;padding:2.5rem 1.1rem;cursor:pointer;text-align:center}.dropzone-icon{width:49px;height:49px;margin:0 auto 1rem;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#b9e8f0;font-size:.67rem;font-weight:800;letter-spacing:.1em;background:#35acc921;border:1px solid rgba(53,172,201,.23)}.dropzone-title{color:#d8eef2;font-size:.86rem;font-weight:650}.dropzone-copy{margin-top:.35rem;color:var(--text-soft);font-size:.7rem}.upload-panel .primary-button{margin-top:.65rem}.ematricula-import-note{margin-top:14px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.ematricula-import-note strong{color:var(--text);font-size:.76rem}.ematricula-import-note p{margin:5px 0 0;color:var(--text-soft);font-size:.7rem;line-height:1.55}.ematricula-import-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 14px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.ematricula-import-summary .ematricula-unavailable-courses{flex:1 0 100%;color:var(--ap-danger)}.ematricula-import-summary>div:first-child{min-width:0;display:grid;gap:4px}.ematricula-summary-kicker{color:var(--brand);font-size:.62rem;font-weight:850;letter-spacing:.08em}.ematricula-import-summary strong{color:var(--text);font-size:.78rem}.ematricula-import-summary p{margin:0;color:var(--text-soft);font-size:.68rem;line-height:1.5}.ematricula-summary-stats{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ematricula-summary-stats span,.results-seat-badge{border-radius:999px;padding:3px 7px;color:var(--ap-success);background:color-mix(in srgb,var(--ap-success) 12%,transparent);font-size:.62rem;font-weight:800;white-space:nowrap}.ematricula-summary-stats .is-low,.results-seat-badge.is-low{color:var(--ap-warning, #b45309);background:color-mix(in srgb,var(--ap-warning, #d97706) 13%,transparent)}.ematricula-summary-stats .is-full,.results-seat-badge.is-full{color:var(--ap-danger);background:var(--ap-danger-container, rgba(220, 38, 38, .1))}.ematricula-summary-stats .is-unknown{color:var(--text-muted);background:var(--surface-muted)}.secondary-button{border:1px solid var(--line-strong);border-radius:10px;padding:.62rem .9rem;background:#35acc90f;color:#b6ebf3;cursor:pointer;font-size:.76rem;font-weight:650}.secondary-button:hover{background:#35acc926}.group-course{border-top:1px solid var(--line)}.group-course.is-empty{border-left:2px solid var(--danger)}.group-course-summary{display:flex;align-items:center;gap:.45rem;padding:.42rem 0}.group-expand{flex:1;min-width:0;border:0;background:transparent;cursor:pointer;color:var(--text);text-align:left;display:flex;align-items:center;gap:.42rem}.group-caret{width:20px;height:20px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ap-primary);background:var(--ap-surface-low);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.group-course-code{color:var(--ap-primary);font-size:.73rem;font-weight:750}.group-course-name{min-width:0;color:var(--text);font-size:.72rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.group-badge{white-space:nowrap;border-radius:5px;padding:.12rem .4rem;font-size:.63rem;font-weight:650}.group-badge.coreq{background:#ede9fe;color:#5b21b6}.group-badge.credits{background:#0b3f70;color:#fff}.group-badge.count{background:#e7f7f1;color:#11634d}.group-badge.count.is-zero{background:#f8717121;color:#fca5a5}.group-remove{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:1rem}.group-course-unavailable{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border:1px solid color-mix(in srgb,var(--ap-warning, #d97706) 52%,var(--line));border-radius:8px;padding:.35rem .55rem;background:color-mix(in srgb,var(--ap-warning, #d97706) 8%,var(--surface));color:var(--ap-warning, #b45309);cursor:pointer;font-size:.65rem;font-weight:750;white-space:nowrap}.group-course-unavailable:hover{background:color-mix(in srgb,var(--ap-warning, #d97706) 16%,var(--surface))}.group-course-unavailable svg{width:15px;height:15px}.group-options{border:1px solid var(--line);border-radius:12px;margin:.25rem 0 .7rem 1.65rem;padding:.62rem;background:var(--ap-surface-low)}.group-options-header{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.55rem}.group-options-header strong{font-size:.72rem}.group-options-header p{color:var(--text-soft);margin-top:.14rem;font-size:.65rem}.group-options-actions{display:flex;gap:.35rem;flex-shrink:0}.group-options-actions button{border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;padding:.3rem .44rem;font-size:.64rem}.group-option{margin-top:.35rem;border:1px solid var(--line);border-radius:9px;padding:.5rem .55rem;display:grid;grid-template-columns:18px 62px minmax(130px,1fr) auto 36px;align-items:center;gap:.55rem;cursor:pointer;opacity:.64}.group-option.is-selected{opacity:1;border-color:var(--ap-primary);background:var(--ap-primary-soft)}.group-option.is-full{opacity:.56;border-style:dashed}.group-option input{accent-color:var(--brand)}.group-option-number,.group-option-detail{display:flex;flex-direction:column;min-width:0}.group-option-number strong{color:var(--ap-primary);font-size:.72rem}.group-option-number span,.group-option-detail span{color:var(--text-soft);font-size:.64rem}.group-option-detail strong{color:var(--text);font-size:.7rem}.group-schedule-adjusted{width:fit-content;margin-top:3px;border-radius:4px;padding:2px 5px;color:var(--ap-primary)!important;background:var(--ap-primary-soft);font-weight:750}.group-seat-badge{width:fit-content;margin-top:4px;border-radius:999px;padding:2px 7px;font-size:.61rem!important;font-weight:800}.group-seat-badge.is-available{color:var(--ap-success)!important;background:color-mix(in srgb,var(--ap-success) 12%,transparent)}.group-seat-badge.is-low{color:var(--ap-warning, #b45309)!important;background:color-mix(in srgb,var(--ap-warning, #d97706) 13%,transparent)}.group-seat-badge.is-full{color:var(--ap-danger)!important;background:var(--ap-danger-container, rgba(220, 38, 38, .1))}.group-schedule-edit{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--ap-primary);border-radius:7px;color:var(--ap-primary);background:var(--ap-surface-lowest);cursor:pointer}.group-schedule-edit:hover{color:var(--ap-primary-ink);background:var(--ap-primary)}.group-schedule-edit svg{width:18px;height:18px}.manual-schedule-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:grid;place-items:center;padding:16px;background:#010f1fad}.manual-schedule-dialog{width:min(680px,100%);max-height:min(88dvh,760px);overflow-y:auto;border:1px solid var(--ap-outline);border-radius:8px;padding:20px;color:var(--ap-text);background:var(--ap-surface);box-shadow:var(--ap-overlay-shadow)}.manual-schedule-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 38px;align-items:center;gap:12px}.manual-schedule-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:var(--ap-primary);background:var(--ap-primary-soft)}.manual-schedule-icon svg,.manual-schedule-close svg{width:21px;height:21px}.manual-schedule-heading span{color:var(--ap-primary);font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.manual-schedule-heading h2{margin:2px 0 0;font-size:1.15rem}.manual-schedule-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--ap-outline);border-radius:7px;color:var(--ap-text-muted);background:transparent;cursor:pointer}.manual-schedule-note{margin:14px 0;color:var(--ap-text-muted);font-size:.8rem;line-height:1.55}.manual-schedule-rows{display:grid;gap:10px}.manual-schedule-row{min-width:0;border:1px solid var(--ap-outline);border-radius:8px;padding:12px;background:var(--ap-surface-low)}.manual-schedule-row legend{padding:0 5px;color:var(--ap-text);font-size:.73rem;font-weight:800}.manual-schedule-days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.manual-schedule-days button{min-height:34px;border:1px solid var(--ap-outline);border-radius:6px;color:var(--ap-text-muted);background:var(--ap-surface-lowest);cursor:pointer;font-size:.7rem;font-weight:700}.manual-schedule-days button.is-selected{border-color:var(--ap-primary);color:var(--ap-primary-ink);background:var(--ap-primary)}.manual-schedule-fields{display:grid;grid-template-columns:120px 120px minmax(160px,1fr) 38px;align-items:end;gap:8px;margin-top:10px}.manual-schedule-fields label{display:grid;gap:4px;color:var(--ap-text-muted);font-size:.67rem;font-weight:700}.manual-schedule-fields input{width:100%;min-height:38px;border:1px solid var(--ap-outline);border-radius:6px;padding:7px 8px;color:var(--ap-text);background:var(--ap-surface-lowest)}.manual-schedule-remove-row{display:grid;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--ap-danger) 45%,var(--ap-outline));border-radius:6px;color:var(--ap-danger);background:transparent;cursor:pointer}.manual-schedule-remove-row svg{width:17px;height:17px}.manual-schedule-add,.manual-schedule-restore{display:inline-flex;min-height:38px;align-items:center;gap:7px;margin-top:10px;border:1px solid var(--ap-outline);border-radius:7px;padding:7px 10px;color:var(--ap-primary);background:transparent;cursor:pointer;font-size:.73rem;font-weight:750}.manual-schedule-add svg,.manual-schedule-restore svg{width:16px;height:16px}.manual-schedule-error{margin:10px 0 0;color:var(--ap-danger);font-size:.76rem;font-weight:700}.manual-schedule-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--ap-outline)}.manual-schedule-actions .manual-schedule-restore{margin:0 auto 0 0}.academic-dependency-chip{border-radius:999px;padding:3px 7px;color:#fff;cursor:pointer;font-size:9px;font-weight:800}.academic-dependency-chip.is-requisite{border:1px solid #2682bf;background:#0b66ad}.academic-dependency-chip.is-corequisite{border:1px solid #0a4c80;background:#063b68}.academic-plan-delete-footer{display:flex;justify-content:flex-end;margin-top:20px;padding-top:14px;border-top:1px solid var(--ap-outline)}.academic-plan-delete-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid color-mix(in srgb,var(--ap-danger) 55%,var(--ap-outline));border-radius:7px;color:var(--ap-danger);background:transparent;cursor:pointer}.academic-plan-delete-button:hover{background:var(--ap-danger-container)}.academic-plan-delete-button:disabled{cursor:not-allowed;opacity:.5}.academic-plan-delete-button svg{width:17px;height:17px}.academic-plan-slot-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-width:620px;margin:-.5rem 0 1.25rem;padding:.3rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.academic-plan-slot-tabs button{display:flex;min-width:0;min-height:56px;align-items:flex-start;justify-content:center;flex-direction:column;gap:.15rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;padding:.6rem .8rem;text-align:left}.academic-plan-slot-tabs button span{color:inherit;font-size:.82rem;font-weight:850}.academic-plan-slot-tabs button small{overflow:hidden;max-width:100%;color:var(--text-soft);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.academic-plan-slot-tabs button.is-active{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));background:var(--surface);color:var(--brand);box-shadow:var(--shadow-card)}.academic-plan-slot-tabs button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.academic-plan-import-target,.academic-plan-empty-note{margin:0 0 .85rem;color:var(--text-muted);font-size:.76rem;line-height:1.5}.academic-plan-name-row{display:flex;min-width:0;align-items:center;gap:.55rem;flex-wrap:wrap}.academic-plan-slot-badge,.academic-shared-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--brand) 38%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand);font-size:.62rem;font-weight:850;line-height:1;white-space:nowrap}.academic-plan-slot-badge{padding:.3rem .5rem;text-transform:uppercase}.academic-shared-badge{padding:.23rem .4rem}@media(max-width:700px){.ematricula-import-summary{align-items:stretch;flex-direction:column}.ematricula-summary-stats{justify-content:flex-start}.group-course-summary{flex-wrap:wrap}.group-course-summary .group-expand{flex-basis:100%}.group-course-unavailable{min-height:44px;flex:1 1 calc(100% - 52px);order:10}.group-course-summary .group-remove{order:11}.group-option{grid-template-columns:18px 48px minmax(0,1fr) 44px}.group-expand,.group-options-actions button,.group-remove{min-height:44px}.group-remove,.group-schedule-edit{width:44px;height:44px}.group-option .group-modality{display:none}.group-options{margin-left:0}.group-options-header,.manual-schedule-actions{align-items:stretch;flex-direction:column}.group-options-actions{width:100%}.group-options-actions button{flex:1}.manual-schedule-dialog{padding:16px}.manual-schedule-days{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-schedule-fields label:nth-of-type(3){grid-column:1 / -1}.manual-schedule-remove-row{grid-column:2;justify-self:end}.manual-schedule-actions .manual-schedule-restore{width:100%;margin:0;justify-content:center}}.group-modality{border-radius:20px;padding:.18rem .45rem;border:1px solid color-mix(in srgb,var(--ap-primary) 35%,var(--ap-outline));color:var(--ap-primary);background:var(--ap-primary-soft);font-size:.61rem;font-weight:650}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}.course-layout>*{min-width:0;max-width:100%}.course-dropdown-backdrop,.course-dropdown-mobile-heading{display:none}.course-dropdown-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.course-panel-kicker{display:block;color:var(--ap-primary);font-size:.62rem;font-weight:850;letter-spacing:.06em}.course-blocking-section,.generator-filter-card{border-radius:8px!important;background:var(--ap-surface)!important;border-color:var(--ap-outline)!important}.course-blocking-section{padding:1rem!important}.course-blocking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.course-blocking-header h3,.generator-filter-heading h3{margin:.18rem 0 0;color:var(--ap-text);font-size:.9rem;letter-spacing:0}.course-blocking-header p{margin:.2rem 0 0;color:var(--ap-text-muted);font-size:.72rem}.course-blocking-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.course-edit-blocks,.course-clear-blocks{min-height:34px;border:1px solid var(--ap-outline);border-radius:7px;background:var(--ap-surface-low);color:var(--ap-text-muted);padding:.4rem .65rem;cursor:pointer;font-size:.7rem;font-weight:750}.course-edit-blocks{display:inline-flex;align-items:center;gap:.35rem;border-color:var(--ap-primary);color:var(--ap-primary)}.course-edit-blocks.is-editing{background:var(--ap-primary);color:#fff}.course-clear-blocks{color:var(--ap-danger)}.course-blocking-help{margin:.65rem 0 0;color:var(--ap-text-muted);font-size:.7rem;line-height:1.45}.course-blocking-grid{margin-top:.8rem;overflow:auto;border:1px solid var(--ap-outline);border-radius:8px;background:var(--ap-surface-low)}.generator-filter-sidebar{display:flex;flex-direction:column;gap:.7rem;position:sticky;top:1rem}.generator-filter-card{padding:1rem!important}.generator-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.generator-filter-heading .info-help-button{width:24px;height:24px}.generator-filter-options{display:grid;gap:.38rem}.generator-filter-option{position:relative;display:flex;align-items:center;gap:.5rem;min-height:38px;border:1px solid var(--ap-outline);border-radius:7px;background:var(--ap-surface-low);color:var(--ap-text-muted);padding:.42rem .55rem;cursor:pointer;font-size:.72rem;font-weight:700;transition:border-color .15s ease,background .15s ease,color .15s ease}.generator-filter-option>input{position:absolute;opacity:0;pointer-events:none}.generator-filter-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border:1px solid var(--ap-outline);border-radius:4px;background:var(--ap-surface)}.generator-filter-option.is-selected{border-color:#7c3aed;background:#f1eafe;color:#5b21b6}.generator-filter-option.is-selected .generator-filter-check{border-color:#7c3aed;background:#7c3aed;color:#fff}:root[data-theme=dark] .generator-filter-option.is-selected{background:#7c3aed3d;color:#ede9fe}.generator-primary-action,.generator-secondary-action{min-height:44px;border-radius:8px;padding:.7rem .8rem;cursor:pointer;font-size:.76rem;font-weight:800}.generator-primary-action{border:1px solid var(--ap-primary);background:var(--ap-primary);color:#fff}.generator-secondary-action{border:1px solid var(--ap-outline);background:var(--ap-surface);color:var(--ap-text-muted)}.generator-primary-action:disabled,.generator-secondary-action:disabled{border-color:var(--ap-outline);background:var(--ap-surface-low);color:var(--ap-text-soft);cursor:not-allowed}@media(max-width:980px){.course-layout{grid-template-columns:1fr}.generator-filter-sidebar{position:static}}@media(max-width:600px),(max-height:520px)and (pointer:coarse){body:has(.course-dropdown-menu) .page-transition-wrapper{transform:none!important}.course-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:69;display:block;width:100%;height:100%;border:0;background:#010f1f8f}.course-dropdown-menu{position:fixed!important;inset:auto 12px calc(84px + env(safe-area-inset-bottom,0px))!important;z-index:70!important;max-height:min(68dvh,560px)!important}.course-dropdown-mobile-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .85rem .65rem;border-bottom:1px solid var(--ap-outline)}.course-dropdown-mobile-heading>div{display:grid;gap:.1rem}.course-dropdown-mobile-heading strong{color:var(--ap-text);font-size:.88rem}.course-dropdown-mobile-heading span{color:var(--ap-text-muted);font-size:.7rem}.course-dropdown-mobile-heading button{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid var(--ap-outline);border-radius:7px;color:var(--ap-text);background:var(--ap-surface-low)}.course-dropdown-list button{min-height:44px}.course-blocking-header{flex-direction:column}.course-blocking-actions{width:100%;justify-content:stretch}.course-blocking-actions button{flex:1}}.semester-hub{display:flex;flex-direction:column;gap:1.15rem}.semester-hero{border:1px solid var(--line);border-radius:22px;padding:1.55rem 1.65rem;background:linear-gradient(118deg,#122d3fe6,#081926f2);display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.semester-hero h1{margin:.55rem 0 .35rem;font-size:clamp(1.45rem,2.4vw,1.8rem);letter-spacing:-.04em}.semester-hero p{color:var(--text-muted);max-width:560px;font-size:.84rem}.semester-actions{max-width:310px;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.semester-actions .primary-button{width:100%}.semester-notice{margin-bottom:0}.semester-metrics{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:.65rem}.metric-field,.week-card{padding:.7rem .75rem;border-radius:13px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:.35rem}.metric-field span,.week-card span{color:var(--text-soft);font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.metric-field input{width:100%;border:0;background:transparent;color:var(--text);font-size:.88rem}.metric-field small{color:var(--text-soft);font-size:.7rem;line-height:1.35;margin-top:.15rem}.week-card{border-color:#35acc957;justify-content:center}.week-card strong{color:#b6ebf3;font-size:1.02rem}.storage-disclaimer{color:var(--text-soft);font-size:.72rem}.semester-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.semester-column{display:flex;flex-direction:column;gap:1rem}.semester-card{padding:1.05rem;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.semester-card h2{color:var(--text);font-size:.98rem;margin:0}.dashboard-view{display:flex;flex-direction:column;gap:1rem;max-width:1240px;margin:0 auto}.dashboard-hero h1{max-width:760px}.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.dashboard-metric-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:.82rem;min-width:0}.dashboard-metric-card.is-primary{border-color:#35acc957;background:#14536829}.dashboard-metric-card span,.dashboard-grade-pair span,.dashboard-exit-grid span{color:var(--text-soft);display:block;font-size:.66rem;font-weight:750;text-transform:uppercase}.dashboard-metric-card strong{color:#e3f8fb;display:block;font-size:1.22rem;line-height:1.1;margin-top:.32rem;overflow-wrap:anywhere}.dashboard-metric-card small{color:var(--text-muted);display:block;font-size:.68rem;line-height:1.35;margin-top:.35rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem}.dashboard-metrics-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-detailed-card,.dashboard-exit-card{min-width:0}.dashboard-single-section{display:block}.dashboard-mini-alert{display:flex;align-items:flex-start;gap:7px;border:1px solid color-mix(in srgb,var(--ap-warning) 42%,var(--ap-outline));border-radius:8px;padding:8px 10px;color:var(--ap-text-muted);background:color-mix(in srgb,var(--ap-warning) 8%,var(--ap-surface));font-size:.72rem;line-height:1.45}.dashboard-mini-alert strong{flex:0 0 auto;color:var(--ap-warning)}.dashboard-important-dates{display:grid;gap:.85rem}.dashboard-important-dates .section-heading{align-items:flex-start}.dashboard-important-dates .section-heading h2{margin-top:.45rem}.dashboard-important-dates .section-heading p{max-width:820px}.important-date-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.important-date-row{display:grid;grid-template-columns:minmax(175px,.36fr) minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.72rem .8rem;background:var(--surface-muted)}.important-date-row+.important-date-row{border-top:1px solid var(--line)}.important-date-row time{color:var(--brand);font-size:.73rem;font-weight:800;line-height:1.45}.important-date-row strong{display:block;color:var(--text);font-size:.8rem;line-height:1.4}.important-date-row p{color:var(--text-muted);font-size:.7rem;line-height:1.45;margin:.2rem 0 0}.important-date-row a,.important-date-support a{color:var(--brand);font-size:.72rem;font-weight:750}.important-dates-details summary{color:var(--text);cursor:pointer;font-size:.76rem;font-weight:800}.important-dates-details .important-date-list{margin-top:.7rem}.important-date-support{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;color:var(--text-muted);font-size:.72rem}.dashboard-forecast-body{color:var(--text-muted);display:grid;gap:.55rem;font-size:.82rem;line-height:1.55}.dashboard-forecast-body p{margin:0}.dashboard-forecast-body strong{color:#d9f99d}.dashboard-exit-grid{display:grid;gap:.55rem}.dashboard-exit-grid>div{border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0715223d;padding:.65rem}.dashboard-exit-grid strong{color:#e3f8fb;display:block;font-size:.95rem;margin-top:.2rem}.dashboard-ranking-head select{border:1px solid var(--line);border-radius:9px;background:var(--surface-muted);color:var(--text);padding:.52rem .6rem;font-size:.74rem}.dashboard-course-list,.dashboard-suggestion-list,.dashboard-alert-list{display:grid;gap:.55rem}.dashboard-course-row{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(92px,.38fr)) 108px;gap:.55rem;align-items:center;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0715223d;padding:.65rem}.dashboard-course-row.is-bajo-meta{border-color:#f871715c}.dashboard-course-row.is-cerca-meta{border-color:#facc1557}.dashboard-course-row.is-sobre-meta{border-color:#4ade8042}.dashboard-course-row strong,.dashboard-course-row span,.dashboard-course-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-course-row>div:first-child strong{color:var(--text);font-size:.78rem}.dashboard-course-row>div:first-child span{color:var(--text-soft);font-size:.7rem;margin-top:.14rem}.dashboard-course-row>div:first-child small{color:var(--text-muted);font-size:.66rem;margin-top:.16rem}.dashboard-grade-pair strong{color:#e3f8fb;font-size:.86rem;margin-top:.16rem}.dashboard-status{border:1px solid rgba(148,163,184,.2);border-radius:999px;color:var(--text-muted);font-size:.67rem;font-weight:800;justify-self:end;padding:.28rem .55rem;white-space:nowrap}.dashboard-status.is-bajo-meta{border-color:#f871716b;color:#fecaca}.dashboard-status.is-cerca-meta{border-color:#facc156b;color:#fde68a}.dashboard-status.is-sobre-meta{border-color:#4ade8057;color:#bbf7d0}.dashboard-suggestion{border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0715223d;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:.65rem;padding:.65rem}.dashboard-suggestion strong,.dashboard-suggestion span,.dashboard-suggestion small{display:block}.dashboard-suggestion strong{color:#b6ebf3;font-size:.78rem}.dashboard-suggestion span{color:var(--text);font-size:.72rem;margin-top:.12rem}.dashboard-suggestion small,.dashboard-suggestion p{color:var(--text-muted);font-size:.68rem;line-height:1.4}.dashboard-suggestion p{margin:0}.dashboard-alert-list span{border:1px solid rgba(250,204,21,.22);border-radius:8px;background:#713f121f;color:#fde68a;font-size:.7rem;line-height:1.4;padding:.5rem .58rem}.dashboard-credit-list{display:grid;gap:.55rem}.dashboard-credit-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 100px auto;gap:.55rem;align-items:center;border:1px solid rgba(250,204,21,.22);border-radius:10px;background:#713f121a;padding:.65rem}.dashboard-credit-row strong,.dashboard-credit-row span,.dashboard-credit-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-credit-row strong{color:var(--text);font-size:.78rem}.dashboard-credit-row span{color:var(--text-soft);font-size:.7rem;margin-top:.14rem}.dashboard-credit-row small{color:#fde68a;font-size:.66rem;margin-top:.16rem}.dashboard-credit-row select,.dashboard-credit-row input{min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.52rem .58rem;font-size:.74rem}.dashboard-empty{max-width:760px;margin:1rem auto}.section-heading{display:flex;gap:.8rem;justify-content:space-between;align-items:flex-start;margin-bottom:.85rem}.section-heading p,.empty-copy{margin:.18rem 0 0;color:var(--text-soft);font-size:.71rem}.semester-textarea{display:block;width:100%;min-height:74px;resize:vertical;margin-bottom:.65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);padding:.62rem;color:var(--text);font-size:.76rem}.import-mode{display:inline-flex;max-width:100%;margin:-.2rem 0 .65rem;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0715224d}.import-mode button{min-width:76px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;padding:.45rem .72rem;font-size:.72rem;font-weight:750}.import-mode button:last-child{border-right:0}.import-mode button.is-active{color:#e3f8fb;background:#35acc92e}.import-mode button:disabled{cursor:not-allowed;opacity:.65}.ai-import-note{margin:-.28rem 0 .65rem;color:var(--text-soft);font-size:.7rem}.settings-view{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.settings-card{padding:1.15rem}.settings-status{color:var(--text-soft);font-size:.7rem;font-weight:700}.settings-notice{margin-bottom:.85rem}.settings-theme-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);padding:.75rem;margin-bottom:.9rem}.settings-theme-panel span{display:block;color:var(--text-soft);font-size:.67rem;font-weight:800;text-transform:uppercase}.settings-theme-panel strong{display:block;color:var(--text);font-size:.86rem;margin-top:.16rem}.settings-theme-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.22rem}.settings-theme-toggle button{border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.73rem;font-weight:750;padding:.48rem .72rem}.settings-theme-toggle button.is-active{background:#1f1f1f;color:#fff}.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.settings-form label{display:flex;min-width:0;flex-direction:column;gap:.34rem}.settings-form label span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.settings-form input,.settings-form select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.62rem .68rem;font-size:.78rem}.settings-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:.2rem}.settings-checkbox-row{display:flex;align-items:center;gap:.65rem;cursor:pointer;margin-top:.5rem;color:var(--text);font-size:.8rem}.settings-checkbox-row input{accent-color:var(--brand)}.settings-preference-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:.85rem;padding-top:.85rem}.settings-preference-row>div{min-width:0}.settings-preference-row strong{display:flex;align-items:center;color:var(--text);font-size:.82rem}.settings-preference-row p{color:var(--text-muted);font-size:.73rem;line-height:1.45;margin:.25rem 0 0}.settings-switch{position:relative;flex:0 0 46px;width:46px;height:26px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted);cursor:pointer;padding:2px;transition:background .16s ease,border-color .16s ease}.settings-switch>span{display:block;width:20px;height:20px;border-radius:50%;background:var(--text-muted);transform:translate(0);transition:transform .16s ease,background .16s ease}.settings-switch.is-on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 28%,var(--surface))}.settings-switch.is-on>span{background:var(--brand);transform:translate(19px)}.settings-switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.settings-switch:disabled{cursor:wait;opacity:.65}.settings-dual-career-card .settings-dual-career-row{border-top:0;margin-top:0;padding-top:0}.settings-dual-career-row .settings-switch{flex-basis:54px;width:54px;height:44px;padding:4px}.settings-dual-career-row .settings-switch>span{width:34px;height:34px}.settings-dual-career-row .settings-switch.is-on>span{transform:translate(10px)}.settings-dual-career-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,var(--surface-muted));padding:.85rem}.settings-dual-career-status>div{min-width:0}.settings-dual-career-status span,.settings-dual-career-status strong{display:block}.settings-dual-career-status span{color:var(--text-soft);font-size:.65rem;font-weight:800;text-transform:uppercase}.settings-dual-career-status strong{margin-top:.2rem;color:var(--text);font-size:.85rem;overflow-wrap:anywhere}.settings-dual-career-status p{margin:.25rem 0 0;color:var(--text-muted);font-size:.72rem;line-height:1.45}.settings-dual-career-status .secondary-button{flex:0 0 auto;min-height:44px}.settings-dual-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:145;display:grid;place-items:center;overflow-y:auto;padding:1rem;background:#030c18c2}.settings-dual-guide-dialog{width:min(560px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-raised);padding:clamp(1rem,4vw,1.5rem)}.settings-dual-guide-kicker{color:var(--brand);font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.settings-dual-guide-dialog h2{margin:.35rem 0 .8rem;font-size:clamp(1.15rem,4vw,1.4rem);line-height:1.3}.settings-dual-guide-dialog ol{display:grid;gap:.65rem;margin:0;padding-left:1.25rem;color:var(--text-muted);font-size:.82rem;line-height:1.5}.settings-dual-guide-dialog>p{margin:.9rem 0 0;border-radius:8px;background:var(--surface-muted);color:var(--text-muted);padding:.75rem;font-size:.76rem;line-height:1.5}.settings-dual-guide-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.settings-dual-guide-actions button{min-height:44px}.ai-helper-card{background:linear-gradient(145deg,#35acc914,#0e2030f0)}.ai-helper-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.72rem;align-items:end}.ai-helper-form label{display:flex;min-width:0;flex-direction:column;gap:.34rem}.ai-helper-form label span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.ai-helper-form textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.62rem .68rem;font-size:.78rem}.ai-helper-answer{margin:.85rem 0 0;white-space:pre-wrap;border:1px solid rgba(130,220,234,.22);border-radius:10px;background:#07152273;color:var(--text);padding:.8rem;font:inherit;font-size:.78rem;line-height:1.55}.suggestion-form{display:grid;gap:.8rem}.suggestion-form label{display:grid;gap:.34rem}.suggestion-form label>span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.suggestion-form input,.suggestion-form select,.suggestion-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text);padding:.66rem .72rem;font-size:.8rem}.suggestion-form textarea{min-height:120px;resize:vertical;line-height:1.5}.suggestion-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.suggestion-actions small{color:var(--text-muted);font-size:.72rem}@media(max-width:640px){.suggestion-actions{align-items:stretch;flex-direction:column}.suggestion-actions .primary-button{width:100%}}.format-help{border:1px solid rgba(130,220,234,.24);border-radius:10px;background:#35acc912;padding:.62rem;margin-bottom:.65rem;color:var(--text-muted);font-size:.72rem}.format-help summary{color:#b6ebf3;cursor:pointer;font-weight:750}.format-help ol{margin:.55rem 0;padding-left:1.15rem}.format-help pre{margin:.55rem 0 0;white-space:pre-wrap;border-radius:8px;background:#0715228f;color:#d4eff4;padding:.65rem;font-size:.68rem;line-height:1.45}.course-form,.activity-form,.schedule-fields,.schedule-row{display:grid;gap:.46rem}.course-form{grid-template-columns:.85fr 2fr 1.05fr auto;margin-bottom:.85rem}.activity-form{grid-template-columns:1.05fr 1.6fr 1.1fr .85fr 1fr auto}.course-form input,.course-form select,.activity-form input,.activity-form select,.schedule-fields input,.schedule-fields select,.schedule-row input,.schedule-row select,.assessment-row input{min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.55rem .58rem;font-size:.75rem}.course-editor{border-top:1px solid var(--line);padding:.8rem 0 .25rem;margin-top:.4rem}.course-editor-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.6rem;font-size:.8rem}.course-editor-head strong{flex:1}.priority-chip{color:#fecaca;border:1px solid rgba(248,113,113,.35);border-radius:20px;padding:.2rem .48rem;font-size:.65rem;font-weight:650}.option-chip{color:#b6ebf3;border:1px solid rgba(130,220,234,.32);border-radius:20px;padding:.2rem .48rem;font-size:.65rem;font-weight:650}.option-select-button{border:1px solid rgba(34,211,238,.55);background:linear-gradient(135deg,#22d3ee40,#35acc973);color:#e3f8fb;cursor:pointer;border-radius:10px;padding:.55rem .72rem;font-size:.72rem;font-weight:850;box-shadow:0 0 0 2px #22d3ee14}.notes-link,.day-event-actions button{border:1px solid rgba(130,220,234,.24);border-radius:8px;background:transparent;color:#b6ebf3;cursor:pointer;font-size:.66rem;padding:.34rem .48rem;white-space:nowrap}.schedule-remove{border:1px solid var(--line);background:transparent;cursor:pointer;border-radius:8px;padding:.45rem .58rem;font-size:.68rem}.schedule-remove{color:var(--danger)}.text-danger{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:.7rem}.schedule-fields{grid-template-columns:.8fr 1.7fr 1.05fr auto}.class-actions{display:flex;gap:.42rem;align-items:center}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.schedule-list{margin-top:.55rem}.schedule-row{grid-template-columns:1fr .9fr .9fr auto;margin-bottom:.4rem}.semester-tabs{display:flex;width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1rem 0;background:var(--surface)}.semester-tabs button{white-space:nowrap;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;padding:.62rem .8rem;font-size:.75rem;font-weight:700}.semester-tabs button:last-child{border-right:0}.semester-tabs button.is-active{color:#e3f8fb;background:#35acc92e}.semester-tabs span,.pending-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;margin-left:.4rem;border-radius:999px;background:#f8717129;color:#fecaca;font-size:.63rem;padding:.05rem .36rem}.grades-panel{padding:1.15rem}.grades-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.grade-course{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;padding:.72rem;margin-top:.75rem}.grade-course.is-alert{border-color:#f8717170;background:#7f1d1d21}.grade-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.58rem;font-size:.76rem}.grade-summary>div{display:flex;min-width:0;flex-direction:column;gap:.32rem}.grade-summary>span{color:#b6ebf3;font-size:.7rem;text-align:right}.rubric-total{width:fit-content;border:1px solid rgba(74,222,128,.3);border-radius:999px;color:#bbf7d0;padding:.16rem .42rem;font-size:.62rem;font-weight:700}.rubric-total.is-invalid{border-color:#f8717161;color:#fecaca}.rubric-warning{border:1px solid rgba(248,113,113,.28);background:#7f1d1d1f;border-radius:8px;color:#fecaca;margin:0 0 .55rem;padding:.48rem .55rem;font-size:.68rem}.concept-grade-warning{border:1px solid rgba(250,204,21,.32);background:#713f1224;border-radius:10px;color:#fde68a;margin:0 0 .72rem;padding:.62rem .68rem;font-size:.72rem}.concept-grade-warning summary{cursor:pointer;color:#fef3c7;font-weight:850}.concept-grade-warning p{color:#fde68a;margin:.55rem 0}.concept-grade-warning span{color:#fef3c7;display:block;font-size:.67rem;font-weight:850;margin-bottom:.3rem;text-transform:uppercase}.concept-grade-warning blockquote{border-left:3px solid rgba(250,204,21,.48);color:#fff7cc;margin:0;padding-left:.62rem}.rights-details{border:1px solid rgba(53,172,201,.28);background:#1453681f;border-radius:10px;color:#d4eff4;margin:0 0 .72rem;padding:.62rem .68rem;font-size:.72rem}.rights-details.is-warning{border-color:#facc1557;background:#713f1224;color:#fde68a}.rights-details.is-info{border-color:#76d0c14d;background:#14536829}.rights-details summary{cursor:pointer;color:#e3f8fb;font-weight:850}.rights-details.is-warning summary{color:#fef3c7}.rights-details p,.rights-details li{color:inherit;margin-top:.5rem}.rights-details ul{margin:.45rem 0 .55rem 1rem}.rights-details span{color:#f0fbfd;display:block;font-size:.66rem;font-weight:850;margin:.55rem 0 .25rem;text-transform:uppercase}.rights-details blockquote{border-left:3px solid rgba(53,172,201,.46);color:#eefcff;margin:.28rem 0 0;padding-left:.62rem}.rights-details.is-warning blockquote{border-left-color:#facc157a;color:#fff7cc}.rights-note{color:var(--text-muted)!important;font-size:.68rem}.grade-course.is-alert .grade-summary>span{color:#fda4af}.assessment-row{display:grid;grid-template-columns:1fr 58px 66px 24px;gap:.35rem;margin-bottom:.4rem}.assessment-row button{border:0;background:transparent;color:var(--danger);cursor:pointer}.add-link{border:0;background:transparent;cursor:pointer;color:#82dcea;font-size:.7rem;margin-top:.25rem}.grade-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.grade-detail{color:var(--text-soft);margin:.48rem 0 0;font-size:.68rem}.grade-analysis{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(170px,.45fr) minmax(260px,.9fr);gap:.75rem;align-items:stretch;border:1px solid rgba(53,172,201,.24);border-radius:10px;background:#1453682e;padding:.85rem;margin-bottom:.9rem}.analysis-copy{display:flex;min-width:0;flex-direction:column;gap:.22rem}.analysis-copy span,.future-grade-field span{color:var(--text-soft);font-size:.68rem;font-weight:700;text-transform:uppercase}.analysis-copy strong{color:#e3f8fb;font-size:1.55rem;line-height:1}.analysis-copy p{color:var(--text-muted);font-size:.72rem;margin:.1rem 0 0}.future-grade-field,.final-grade-field{display:flex;flex-direction:column;gap:.35rem}.future-grade-field select,.final-grade-field select,.plan-grade-row select{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:.62rem .7rem;font:inherit;font-size:.78rem}.analysis-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.analysis-stats span{border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a33;color:var(--text-muted);padding:.5rem .55rem;font-size:.68rem}.analysis-stats strong{display:block;color:#d9f99d;font-size:.95rem}.plan-grade-editor{border:1px solid var(--line);border-radius:10px;background:#061a2b5c;margin-bottom:.9rem;padding:.7rem}.plan-grade-editor summary{cursor:pointer;color:#b6ebf3;font-size:.78rem;font-weight:800}.plan-grade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.7rem;max-height:360px;overflow:auto;padding-right:.2rem}.plan-grade-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:.55rem;align-items:center;border:1px solid rgba(148,163,184,.12);border-radius:8px;padding:.48rem}.plan-grade-row span{min-width:0}.plan-grade-row strong,.plan-grade-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-grade-row strong{color:var(--text);font-size:.74rem}.plan-grade-row small{color:var(--text-soft);font-size:.65rem;margin-top:.12rem}.final-grade-field{border:1px solid rgba(148,163,184,.14);border-radius:8px;padding:.55rem;margin-bottom:.58rem}.final-grade-field span{color:var(--text-soft);font-size:.67rem;font-weight:700}.notes-page{max-width:1240px;margin:0 auto}.notes-hero h1{max-width:720px}.notes-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:.9rem;align-items:center;margin-bottom:1rem}.notes-overview>div:first-child{display:flex;min-width:0;flex-direction:column;gap:.26rem}.notes-overview span,.notes-course-picker label span,.notes-fields span,.notes-summary-grid span,.notes-course-head span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.target-grade-note{color:var(--text-soft);font-size:.66rem;line-height:1.35;text-transform:none}.notes-overview strong{color:#e3f8fb;font-size:1.8rem;line-height:1}.notes-overview p{color:var(--text-muted);font-size:.74rem;margin:0}.notes-alert-settings{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:1rem}.notes-alert-settings label{display:flex;flex-direction:column;gap:.36rem;min-width:190px}.notes-alert-settings span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.notes-alert-settings input{min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.55rem .58rem;font-size:.75rem}.notes-alert-settings input:disabled{cursor:not-allowed;opacity:.58}.notes-alert-settings p{color:var(--text-muted);font-size:.72rem;margin:0}.notes-save-state{border:1px solid rgba(148,163,184,.2);border-radius:999px;color:var(--text-muted);font-size:.68rem;font-weight:750;padding:.42rem .65rem;white-space:nowrap}.notes-save-state.is-pending{border-color:#facc155c;color:#fde68a}.notes-save-state.is-saved{border-color:#4ade8047;color:#bbf7d0}.notes-save-state.is-error{border-color:#f8717161;color:#fecaca}.notes-bottom-save{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-top:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);padding:.8rem}.notes-bottom-save.has-unsaved{border-color:#facc1561;box-shadow:0 0 0 1px #facc151f}.career-projection-card{display:grid;gap:.85rem;margin-bottom:1rem}.career-projection-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.career-projection-head span,.career-input-grid span,.career-result-grid span{color:var(--text-soft);font-size:.68rem;font-weight:750;text-transform:uppercase}.career-projection-head h2{font-size:1rem;margin:.18rem 0 0}.metric-label-with-info{display:inline-flex!important;align-items:center;flex-wrap:wrap;gap:.32rem}.metric-label-with-info .info-help{margin-left:0}.metric-label-with-info .info-help-button{width:19px;height:19px;font-size:.68rem}.career-projection-head>strong{color:#d9f99d;font-size:1.8rem;line-height:1;text-align:right}.career-input-grid,.career-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.career-input-grid label,.career-result-grid>div{border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0715223d;padding:.65rem}.career-input-grid label{display:flex;flex-direction:column;gap:.36rem}.career-input-grid input{min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.55rem .58rem;font-size:.75rem}.career-input-grid small,.career-projection-note{color:var(--text-soft);font-size:.68rem;line-height:1.45}.career-result-grid strong{display:block;color:#e3f8fb;font-size:.95rem;margin-top:.22rem;overflow-wrap:anywhere}.career-projection-note{margin:0}.intelligent-plan-view{max-width:1000px;margin:2rem auto}.intelligent-plan-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;align-items:start}.intelligent-plan-settings-panel{position:sticky;top:2rem}.intelligent-plan-mobile-settings-button,.intelligent-plan-settings-backdrop,.intelligent-plan-settings-mobile-head{display:none}@media(max-width:720px){.intelligent-plan-view{max-width:none;margin:0;padding:0 .85rem 6rem}.intelligent-plan-layout{display:block}.intelligent-plan-summary-grid{grid-template-columns:1fr!important}.intelligent-plan-mobile-settings-button{position:fixed;right:1rem;bottom:calc(5.75rem + env(safe-area-inset-bottom,0px));z-index:1202;display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--dense-brand) 55%,var(--dense-border));border-radius:999px;background:var(--dense-brand);color:#fff;box-shadow:0 14px 32px #0066b347;cursor:pointer;font-size:1.15rem;font-weight:900}.intelligent-plan-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1203;display:block;border:0;background:#020c188f;cursor:pointer}.intelligent-plan-settings-panel{display:none;position:fixed!important;inset:max(.75rem,env(safe-area-inset-top,0px)) .75rem calc(5rem + env(safe-area-inset-bottom,0px));z-index:1204;max-height:calc(100dvh - 6rem - env(safe-area-inset-bottom,0px));overflow:auto;-webkit-overflow-scrolling:touch}.intelligent-plan-settings-panel.is-mobile-open{display:block}.intelligent-plan-settings-mobile-head{position:sticky;top:-1.5rem;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-1.5rem -1.5rem 1rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--dense-border);border-radius:12px 12px 0 0;background:color-mix(in srgb,var(--dense-panel) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intelligent-plan-settings-mobile-head strong{color:var(--dense-text);font-size:.95rem}.intelligent-plan-settings-mobile-head button{border:1px solid color-mix(in srgb,var(--dense-brand) 46%,var(--dense-border));border-radius:999px;background:color-mix(in srgb,var(--dense-brand) 10%,var(--dense-panel));color:var(--dense-brand);cursor:pointer;font-size:.72rem;font-weight:900;padding:.45rem .7rem}}.notes-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:1rem;align-items:start}.notes-course-picker{position:sticky;top:92px}.notes-course-picker label,.notes-fields label{display:flex;flex-direction:column;gap:.36rem}.notes-course-picker select,.notes-fields select,.notes-fields input,.notes-assessment-row input,.assessment-subrow input{min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface-muted);padding:.55rem .58rem;font-size:.75rem}.notes-course-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.8rem;max-height:500px;overflow:auto}.notes-course-list button{border:1px solid var(--line);border-radius:9px;background:#07152240;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:.18rem;padding:.58rem;text-align:left}.notes-course-list button.is-active{border-color:#35acc99e;background:#35acc924}.notes-course-list span,.notes-course-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-course-list span{color:var(--text-soft);font-size:.68rem}.notes-course-list small{color:#b6ebf3;font-size:.64rem;font-weight:750}.notes-course-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:.8rem;margin-bottom:.85rem}.notes-course-head h2{margin-top:.18rem;font-size:1rem}.notes-entry-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0;padding:.3rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}.notes-entry-mode button{min-height:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.74rem;font-weight:750}.notes-entry-mode button.is-active{border-color:var(--line-strong);background:var(--surface-strong);color:var(--brand)}.notes-direct-grade{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--brand) 38%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.notes-direct-grade p{max-width:620px;margin:.25rem 0 0;color:var(--text-muted);font-size:.72rem}.notes-direct-grade label{display:grid;gap:.3rem;min-width:160px;color:var(--text-muted);font-size:.7rem;font-weight:700}.notes-direct-grade select{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--text);padding:.5rem .65rem}@media(max-width:620px){.notes-entry-mode{grid-template-columns:1fr}.notes-direct-grade{align-items:stretch;flex-direction:column}}.notes-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.notes-status{border:1px solid rgba(148,163,184,.22);border-radius:999px;color:var(--text-muted);padding:.24rem .58rem;white-space:nowrap}.screenshot-note-button{border:1px solid var(--line-strong);border-radius:999px;background:#35acc91a;color:var(--brand);cursor:pointer;font-size:.95rem;font-weight:750;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}.screenshot-note-button:hover:not(:disabled){background:#35acc92e}.screenshot-note-button:disabled{cursor:wait;opacity:.7}.grade-export-summary{position:fixed;left:-10000px;top:0;width:760px;padding:28px;border:1px solid #d6e3ea;border-radius:14px;background:#fff;color:#132633;box-shadow:none;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.grade-export-head{border-bottom:1px solid #d6e3ea;padding-bottom:16px;margin-bottom:18px}.grade-export-head span{color:#197b94;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.grade-export-head h2{margin:6px 0;color:#132633;font-size:24px;line-height:1.2}.grade-export-head p{margin:0;color:#536b79;font-size:14px}.grade-export-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.grade-export-grid div{border:1px solid #d6e3ea;border-radius:10px;background:#f4f8fb;padding:12px}.grade-export-grid span{display:block;color:#607987;font-size:11px;font-weight:800;text-transform:uppercase}.grade-export-grid strong{display:block;margin-top:4px;color:#132633;font-size:18px;line-height:1.2}.grade-export-table{width:100%;border-collapse:collapse;font-size:13px}.grade-export-table th,.grade-export-table td{border-bottom:1px solid #d6e3ea;padding:10px 8px;text-align:left}.grade-export-table th{color:#607987;font-size:11px;font-weight:800;text-transform:uppercase}.grade-export-table td:nth-child(2),.grade-export-table td:nth-child(3){width:110px;font-weight:700}.grade-export-table .is-subrow td:first-child{color:#536b79;padding-left:24px}.notes-status.is-success{border-color:#4ade8057;color:#bbf7d0}.notes-status.is-warning{border-color:#facc1561;color:#fde68a}.notes-status.is-danger{border-color:#f8717161;color:#fecaca}.notes-fields,.notes-summary-grid{display:grid;gap:.55rem}.notes-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.8rem}.notes-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.8rem}.notes-summary-grid>div{border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#07152247;padding:.65rem}.notes-summary-grid>div>span{display:inline-flex;align-items:center;gap:.35rem}.notes-summary-grid .info-help{margin-left:0}.notes-summary-grid .info-help-button{width:18px;height:18px;font-size:.66rem}.notes-summary-grid strong{display:block;color:#e3f8fb;font-size:.9rem;margin-top:.2rem;overflow-wrap:anywhere}.notes-rubric-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}.notes-rubric-head h3{font-size:.86rem;margin:0}.notes-assessment-table{margin-top:.65rem}.notes-assessment-header,.notes-assessment-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 110px 92px 30px;gap:.42rem;align-items:center}.notes-assessment-header{color:var(--text-soft);font-size:.66rem;font-weight:800;margin-bottom:.35rem;text-transform:uppercase}.notes-assessment-row{margin-bottom:.42rem}.rubric-helper{color:var(--text-soft);font-size:.72rem;margin:.35rem 0 0}.notes-assessment-row button{border:0;background:transparent;color:var(--danger);cursor:pointer}.notes-assessment-row .subassessment-toggle-button{border:1px solid var(--line-strong);border-radius:8px;background:#35acc91a;color:var(--brand);font-size:.72rem;font-weight:750;padding:.56rem .5rem}.notes-assessment-row .subassessment-toggle-button:hover{background:#35acc92e}.assessment-subsection{margin:-.15rem 0 .7rem 1rem;padding:.65rem;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;background:var(--surface-muted)}.assessment-subsection-head{color:var(--text-soft);font-size:.68rem;font-weight:750;margin-bottom:.45rem}.assessment-subrow{display:grid;grid-template-columns:24px minmax(0,1fr) 110px 30px;gap:.38rem;align-items:center;margin-top:.35rem}.assessment-subrow>span{color:var(--text-soft);font-size:.72rem;font-weight:800;text-align:center}.assessment-subrow button{border:0;background:transparent;color:var(--danger);cursor:pointer}.calendar-panel{padding:1.15rem}.calendar-toolbar{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.calendar-toolbar p,.timeline-heading p{color:var(--text-soft);margin-top:.18rem;font-size:.71rem}.calendar-navigation,.calendar-views,.calendar-downloads{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-navigation{margin-left:auto}.calendar-navigation button,.calendar-views button,.calendar-downloads button{border:0;border-right:1px solid var(--line);background:var(--surface-muted);color:var(--text-muted);cursor:pointer;padding:.5rem .68rem;font-size:.72rem;font-weight:650}.calendar-navigation button:last-child,.calendar-views button:last-child,.calendar-downloads button:last-child{border-right:0}.calendar-views button.is-active{color:#e3f8fb;background:#35acc933}.calendar-downloads button{color:#b6ebf3}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{color:var(--text-soft);text-align:center;font-size:.68rem;font-weight:650;text-transform:uppercase;padding:.4rem}.month-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-day,.empty-day{min-height:104px;padding:.42rem;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#07152247}.calendar-day{cursor:pointer;text-align:left;color:var(--text);display:flex;flex-direction:column;gap:.22rem}.calendar-day:hover,.calendar-day.is-selected{background:#35acc917}.calendar-day>strong{align-self:flex-end;font-size:.72rem;color:var(--text-muted);margin-bottom:.15rem}.calendar-day span,.week-day span{background:#35acc921;border-left:2px solid var(--brand);border-radius:4px;color:#d4eff4;display:block;padding:.18rem .25rem;font-size:.61rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-day span.is-alert,.week-day span.is-alert{background:#f8717121;border-left-color:var(--danger);color:#fecaca}.calendar-day span.is-institutional,.week-day span.is-institutional{background:#005ba124;border-left-color:#00c8df;color:var(--text)}.calendar-day span.is-conflict,.week-day span.is-conflict{background:#facc1529;border-left-color:#f59e0b;color:#fde68a}.calendar-day em{color:var(--text-soft);font-size:.61rem;font-style:normal}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden}.week-day{min-height:270px;border:0;border-right:1px solid var(--line);background:#07152247;color:var(--text);cursor:pointer;text-align:left;padding:.55rem .4rem;display:flex;flex-direction:column;gap:.35rem}.week-day:last-child{border-right:0}.week-day.is-selected{background:#35acc917}.week-day>strong{font-size:.73rem;text-transform:capitalize}.week-day small{color:var(--text-soft);font-size:.62rem;margin-bottom:.3rem}.day-calendar{border:1px solid var(--line);border-radius:12px;background:#07152247;padding:.85rem}.day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.day-heading h3{font-size:.95rem;text-transform:capitalize}.day-heading span{color:#a6deea;font-size:.7rem}.day-event{display:grid;grid-template-columns:115px 1fr auto;gap:.8rem;align-items:center;border-top:1px solid var(--line);padding:.7rem .45rem}.day-event.is-alert{border-left:2px solid var(--danger);padding-left:.65rem}.day-event.is-institutional{border-left:3px solid #00c8df;background:#005ba10f;padding-left:.65rem}.day-event.is-conflict{border-left:2px solid #f59e0b;padding-left:.65rem;background:#facc150f}.day-event strong,.day-event div{font-size:.75rem}.day-event span{color:var(--text-soft);font-size:.68rem}.calendar-event-copy{min-width:0}.calendar-event-detail{margin:.28rem 0 0;color:var(--text-soft);font-size:.68rem;line-height:1.45;white-space:pre-line}.calendar-official-link{display:inline-flex;width:fit-content;margin-top:.35rem;color:var(--brand);font-size:.68rem;font-weight:800}.timeline-copy .calendar-event-detail{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:pre-line}.day-event-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.timeline-heading{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1rem}.timeline-heading h3{font-size:.84rem}.timeline{max-height:380px;overflow:auto}.timeline-item{display:flex;gap:.62rem;align-items:center;border-top:1px solid var(--line);padding:.62rem 0}.timeline-item.is-alert{border-left:2px solid var(--danger);padding-left:.5rem}.timeline-item.is-institutional{border-left:3px solid #00c8df;background:#005ba10d;padding-left:.5rem}.timeline-item.is-institutional .timeline-date{width:145px}.timeline-item.is-conflict{border-left:2px solid #f59e0b;padding-left:.5rem;background:#facc150d}.timeline-date{width:77px;flex-shrink:0;display:flex;flex-direction:column}.timeline-date strong{font-size:.69rem;color:#c7eaf0}.timeline-date span,.timeline-copy span{color:var(--text-soft);font-size:.63rem}.timeline-copy{flex:1;min-width:0;display:flex;flex-direction:column}.timeline-copy strong{font-size:.71rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.timeline-item .timeline-remove{color:var(--danger);background:transparent;border:0;cursor:pointer}.site-footer{max-width:1240px;width:100%;margin:auto auto 0;padding:1rem 1.25rem 1.35rem;border-top:1px solid rgba(122,157,177,.1);color:var(--text-soft);font-size:.7rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface-muted)}::-webkit-scrollbar-thumb{background:#264354;border:2px solid var(--surface-muted);border-radius:999px}.projection-course-review{display:grid;gap:.25rem;margin-top:.75rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.projection-course-review strong{color:var(--text);font-size:.78rem}.projection-course-review p{margin:0;color:var(--text-muted);font-size:.7rem;line-height:1.5}::-webkit-scrollbar-thumb:hover{background:#335a6d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::selection{background:#35acc94d;color:var(--text)}@media(max-width:1040px){.topbar-inner{flex-wrap:wrap;padding:.75rem 0}.app-nav{order:3;width:100%;overflow-x:auto}.semester-grid{grid-template-columns:1fr}.semester-metrics{grid-template-columns:repeat(3,minmax(130px,1fr))}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-course-row{grid-template-columns:minmax(0,1fr) repeat(3,minmax(82px,.34fr))}.dashboard-credit-row{grid-template-columns:minmax(0,1fr) 150px 92px}.dashboard-status{justify-self:start}.notes-layout,.notes-overview{grid-template-columns:1fr}.notes-course-picker{position:static}}@media(max-width:820px){.workspace{padding:1.2rem .85rem 2rem}.auth-layout,.upload-view{grid-template-columns:1fr;max-width:560px}.auth-pitch{padding:1.6rem}.auth-feature-list{margin-top:1.5rem}.upload-intro{padding-top:0}.stepper{width:100%;order:3}.guest-access{order:2}.semester-hero{flex-direction:column}.semester-actions{max-width:none;justify-content:flex-start}.calendar-toolbar{flex-wrap:wrap}.calendar-navigation{margin-left:0}.week-calendar{overflow-x:auto}.month-calendar{overflow-x:visible;width:100%}.week-day{min-width:122px}.grades-grid,.grade-analysis,.plan-grade-list{grid-template-columns:1fr}.notes-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-input-grid,.career-result-grid{grid-template-columns:1fr}.course-form,.activity-form,.schedule-fields,.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){body{font-size:13px}.course-layout{grid-template-columns:1fr!important}.account-email,.guest-access-copy{display:none}.group-options{margin-left:0}.group-options-header{flex-direction:column;align-items:flex-start}.group-option{grid-template-columns:18px 56px minmax(0,1fr) 44px}.group-option .group-modality{display:none}}@media(max-width:520px){.topbar{padding:0 .85rem}.brand-subtitle{display:none}.nav-pill{padding:.5rem .62rem}.auth-card,.upload-panel{border-radius:18px}.semester-metrics,.dashboard-metrics,.course-form,.activity-form,.schedule-fields,.schedule-row{grid-template-columns:1fr}.semester-card,.semester-hero{padding:.9rem}.semester-tabs{display:flex}.semester-tabs button{flex:1}.analysis-stats,.plan-grade-row,.notes-fields,.notes-summary-grid,.dashboard-course-row,.dashboard-suggestion,.dashboard-credit-row,.notes-assessment-header,.notes-assessment-row,.assessment-subrow,.settings-form,.ai-helper-form{grid-template-columns:1fr}.day-event-actions{align-items:flex-start;flex-direction:column}.calendar-weekdays,.month-grid{min-width:0}.day-event{grid-template-columns:1fr;gap:.22rem}.settings-dual-career-status,.settings-dual-guide-actions,.academic-plan-summary-head{align-items:stretch!important;flex-direction:column}.settings-dual-career-status .secondary-button,.settings-dual-guide-actions button{width:100%}.academic-plan-credit-summary{width:fit-content;max-width:100%}.academic-plan-slot-tabs{max-width:none}.academic-plan-slot-tabs button{padding-inline:.6rem}}body{background:var(--page);color:var(--text)}.app-shell{min-height:100vh;color:var(--text);display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.app-shell.no-sidebar{display:block}.app-shell.no-sidebar .topbar,.app-shell.no-sidebar .sidebar-toggle,.app-shell.no-sidebar .sidebar-backdrop{display:none}.app-shell.no-sidebar .workspace,.app-shell.no-sidebar .site-footer{grid-column:auto}.topbar{position:sticky;top:0;z-index:30;height:100vh;width:var(--sidebar-width);overflow:hidden auto;border-right:1px solid var(--line);border-bottom:0;background:#06121ded;padding:1rem;transition:transform .22s ease,opacity .22s ease}.topbar.is-collapsed{transform:translate(calc(-1 * var(--sidebar-width)));opacity:0;pointer-events:none}.topbar-inner{max-width:none;min-height:calc(100vh - 2rem);margin:0;display:flex;flex-direction:column;align-items:stretch;gap:1rem}.brand{border:1px solid var(--line);border-radius:12px;background:#0e2030b3;padding:.75rem}.brand-mark{width:43px;height:43px;border-radius:12px;background:linear-gradient(145deg,var(--brand),var(--brand-dark));box-shadow:0 10px 24px #15779159}.brand-name{color:var(--text)}.brand-subtitle{color:var(--text-soft)}.app-nav{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:0;border:0;border-radius:0;background:transparent}.nav-pill{width:100%;border-radius:10px;padding:.72rem .85rem;color:var(--text-muted);text-align:left}.nav-pill:hover,.nav-pill.is-active{color:#fff;background:#35acc929}.nav-pill.is-active{box-shadow:inset 0 0 0 1px #35acc94d}.account-actions,.guest-access{margin-left:0;margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:.7rem;padding-top:1rem;border-top:1px solid var(--line)}.account-email{max-width:100%;color:var(--text-soft)}.guest-access-copy{align-items:flex-start}.stepper{margin-left:0;width:100%;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:.85rem}.workspace,.site-footer{grid-column:2;max-width:1240px}.workspace{width:100%;margin:0 auto;padding:2rem 1.25rem 3rem;flex:1}.site-footer{width:100%;margin:auto auto 0;border-top:1px solid rgba(122,157,177,.1);color:var(--text-soft)}.sidebar-backdrop{display:none}.sidebar-toggle{position:fixed;top:.75rem;left:calc(var(--sidebar-width) - 20px);z-index:100;width:36px;height:36px;border:2px solid var(--line-strong);border-radius:12px;background:#0e2030fa;color:#b6ebf3;cursor:pointer;font-size:1.2rem;font-weight:800;box-shadow:0 4px 12px #00000059,0 0 0 2px #1587a126;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .2s ease,left .22s ease}.sidebar-toggle:hover{transform:scale(1.1);background:#0e2030}.sidebar-closed .sidebar-toggle{left:.75rem}.auth-layout{max-width:955px;margin:clamp(1.5rem,8vh,4.5rem) auto}.auth-pitch,.auth-card{border-radius:25px;background:var(--surface)}.auth-pitch{background:linear-gradient(145deg,rgba(53,172,201,.12),transparent 60%),#0b1b2ac2}.auth-pitch h1,.upload-intro h1{letter-spacing:-.055em}.auth-feature-list strong,.group-course-code,.group-option-number strong{color:#b8ecf2}.upload-view{max-width:1100px;margin:clamp(1rem,5vh,3.2rem) auto 0;grid-template-columns:.92fr minmax(420px,1fr);gap:clamp(1.5rem,5vw,4rem)}.upload-intro{padding:1.15rem 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}.upload-panel{border-radius:22px;background:var(--surface);box-shadow:var(--shadow-raised)}.dropzone{border-color:#35acc959;background:#0817248f;border-radius:15px}.dropzone:hover{border-color:var(--brand);background:#35acc90f}.dropzone-icon{border-radius:13px;background:#35acc921;border-color:#35acc93b;color:#b9e8f0}.dropzone-title,.semester-card h2,.panel-heading h2,.auth-card h2,.calendar-day>strong,.week-day>strong,.day-heading h3,.timeline-copy strong,.notes-overview strong,.notes-summary-grid strong,.analysis-copy strong{color:var(--text)}.semester-hero{border-radius:22px;background:linear-gradient(118deg,#122d3fe6,#081926f2)}.semester-card{border-radius:17px;background:var(--surface);box-shadow:none}.metric-field,.week-card{border-radius:13px;background:var(--surface)}.semester-tabs{border-radius:12px}.semester-tabs button.is-active,.calendar-views button.is-active{color:#e3f8fb;background:#35acc92e}.calendar-day,.week-day,.day-calendar,.group-options,.notes-course-list button,.grade-course,.notes-summary-grid>div,.analysis-stats span{background:#07152247}.calendar-navigation button,.calendar-views button,.calendar-downloads button{background:var(--surface-muted);color:var(--text-muted)}@media(max-width:1040px){:root{--sticky-content-top: 4.25rem}.app-shell,.app-shell.sidebar-closed{display:block}.topbar{position:fixed;width:min(var(--sidebar-width),calc(100vw - 58px));z-index:40;box-shadow:var(--shadow-raised)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;width:100%;height:100%;border:0;background:transparent;cursor:default;padding:0}.topbar.is-collapsed{transform:translate(-110%)}.topbar-inner{min-height:calc(100vh - 2rem);flex-direction:column;align-items:stretch;flex-wrap:nowrap;padding:0}.app-nav{order:1;flex-direction:column;overflow-x:visible}.nav-pill{width:100%;text-align:left}.stepper{order:2}.account-actions,.guest-access{order:3;margin-left:0;margin-top:auto;flex-direction:column;align-items:stretch;padding-top:1rem;border-top:1px solid var(--line)}.workspace,.site-footer{grid-column:auto}.sidebar-toggle{left:.9rem}.workspace{padding-top:4.25rem}.app-shell.no-sidebar .workspace{padding-top:2rem}}@media(max-width:820px){.auth-layout,.upload-view{grid-template-columns:1fr;max-width:560px}.generator-choice-grid{grid-template-columns:1fr}.generator-choice{min-height:0}}:root{--dense-panel: #1e2d3d;--dense-panel-strong: #0f172a;--dense-panel-muted: #0f1c2e;--dense-panel-header: #1e3a5f;--dense-border: #2a3a4a;--dense-border-strong: #1e3a5f;--dense-text: #f0f9ff;--dense-muted: #94a3b8;--dense-brand: #7dd3fc;--schedule-surface: #0f172a;--schedule-header-bg: #1e2d3d;--schedule-header-text: #f0f9ff;--schedule-hour-bg: #111f31;--schedule-hour-text: #7dd3fc;--schedule-cell-even: #111c2e;--schedule-cell-odd: #0f1a2b;--schedule-border: #1e3a5f;--success-panel-bg: #0f2944;--success-panel-border: #10b981;--success-panel-text: #bbf7d0;--success-panel-muted: #a8c8d9;--progress-panel: #2e1065;--progress-header: #4c1d95;--progress-card: #1e1b4b;--progress-border: #4c1d95;--progress-text: #f5f3ff;--progress-muted: #ddd6fe;--plan-progress-bg: rgba(7, 21, 34, .96);--plan-progress-border: rgba(122, 157, 177, .2);--plan-progress-track: rgba(15, 23, 42, .58);--plan-progress-shadow: 0 14px 34px rgba(0, 8, 18, .28);--matriculated-badge-bg: rgba(139, 92, 246, .28);--matriculated-badge-border: #a78bfa;--matriculated-badge-text: #f5f3ff;--matriculated-card-bg: rgba(124, 58, 237, .18);--matriculated-card-border: #a78bfa;--idle-badge-bg: rgba(15, 23, 42, .42);--idle-badge-border: rgba(148, 163, 184, .24);--idle-badge-text: #94a3b8}.theme-toggle-button{width:100%;padding:.58rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);color:var(--text);cursor:pointer;font-size:.78rem;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease}.theme-toggle-button:hover{border-color:var(--line-strong);background:#35acc91f}:root[data-theme=light]{--page: #f4f8fb;--page-deep: #eaf2f6;--surface: rgba(255, 255, 255, .96);--surface-strong: #f8fbfd;--surface-muted: #edf5f7;--line: rgba(25, 84, 101, .16);--line-strong: rgba(21, 119, 145, .36);--text: #132633;--text-muted: #536b79;--text-soft: #738896;--brand: #1587a1;--brand-dark: #0f667a;--accent: #2f9f91;--danger: #dc2626;--shadow-card: 0 14px 35px rgba(15, 35, 48, .08);--shadow-raised: 0 22px 60px rgba(15, 35, 48, .14);--dense-panel: #f7fbfc;--dense-panel-strong: #eef6f8;--dense-panel-muted: #f1f7f9;--dense-panel-header: #e3eef3;--dense-border: #cadde5;--dense-border-strong: #b9d1dc;--dense-text: #1c3442;--dense-muted: #607987;--dense-brand: #197b94;--schedule-surface: #f2f8fa;--schedule-header-bg: #dce9ef;--schedule-header-text: #203844;--schedule-hour-bg: #e8f2f6;--schedule-hour-text: #446777;--schedule-cell-even: #f8fbfc;--schedule-cell-odd: #f2f7f9;--schedule-border: #c4d8e1;--success-panel-bg: #eefaf5;--success-panel-border: #7ccbb1;--success-panel-text: #14664f;--success-panel-muted: #527568;--progress-panel: #f5f0fb;--progress-header: #ded0ef;--progress-card: #fbf8ff;--progress-border: #cab8e3;--progress-text: #2f2441;--progress-muted: #6f6083;--plan-progress-bg: rgba(255, 255, 255, .95);--plan-progress-border: rgba(21, 119, 145, .2);--plan-progress-track: rgba(203, 222, 230, .72);--plan-progress-shadow: 0 14px 34px rgba(15, 35, 48, .12);--matriculated-badge-bg: #7c3aed;--matriculated-badge-border: #6d28d9;--matriculated-badge-text: #ffffff;--matriculated-card-bg: #f1eafe;--matriculated-card-border: #7c3aed;--idle-badge-bg: #e8f2f6;--idle-badge-border: #b9d1dc;--idle-badge-text: #406272}:root[data-theme=light] body{background:radial-gradient(circle at 10% 0%,rgba(21,135,161,.1),transparent 34rem),radial-gradient(circle at 94% 20%,rgba(47,159,145,.08),transparent 30rem),linear-gradient(155deg,var(--page) 0%,var(--page-deep) 100%)}:root[data-theme=light] .topbar{background:#ffffffed}:root[data-theme=light] .brand{background:#ffffffc7}:root[data-theme=light] .brand-mark{box-shadow:0 10px 24px #15779133}:root[data-theme=light] .nav-pill:hover,:root[data-theme=light] .nav-pill.is-active{color:#075569;background:#1587a11a}:root[data-theme=light] .nav-pill.is-active{box-shadow:inset 0 0 0 1px #1587a13d}:root[data-theme=light] .sidebar-toggle{background:#fffffff7;color:#0f667a}:root[data-theme=light] .auth-pitch{background:linear-gradient(145deg,rgba(21,135,161,.1),transparent 60%),#ffffffd1}:root[data-theme=light] .dropzone{background:#ffffff9e}:root[data-theme=light] .dropzone-icon{color:#0f667a}:root[data-theme=light] .trust-list span{background:#ffffff8f;border-color:#19546524;color:#607987}:root[data-theme=light] .semester-hero{background:linear-gradient(118deg,#fffffff0,#ebf6f8eb)}:root[data-theme=light] .calendar-day,:root[data-theme=light] .week-day,:root[data-theme=light] .day-calendar,:root[data-theme=light] .group-options,:root[data-theme=light] .notes-course-list button,:root[data-theme=light] .grade-course,:root[data-theme=light] .notes-summary-grid>div,:root[data-theme=light] .dashboard-course-row,:root[data-theme=light] .dashboard-exit-grid>div,:root[data-theme=light] .dashboard-suggestion,:root[data-theme=light] .analysis-stats span{background:#ffffffb8}:root[data-theme=light] .dashboard-suggestion strong{color:#004379}:root[data-theme=light] .dashboard-suggestion span{color:var(--text-strong)}:root[data-theme=light] .dashboard-suggestion small,:root[data-theme=light] .dashboard-suggestion p{color:var(--text-muted)}:root[data-theme=light] .primary-button{color:#fff}:root[data-theme=light] .secondary-button,:root[data-theme=light] .calendar-downloads button,:root[data-theme=light] .guide-documents-button{color:#0f667a;background:#1587a114}:root[data-theme=light] .generator-choice-tag{color:#fff;background:var(--ucr-blue, #005ba1);border-color:var(--ucr-blue, #005ba1)}:root[data-theme=light] .secondary-button:hover{background:#1587a126}:root[data-theme=light] .import-tabs button.is-active,:root[data-theme=light] .calendar-views button.is-active{color:#075569;background:#1587a121}:root[data-theme=light] .dashboard-metric-card strong,:root[data-theme=light] .dashboard-exit-grid strong,:root[data-theme=light] .dashboard-grade-pair strong,:root[data-theme=light] .notes-summary-grid strong,:root[data-theme=light] .week-card strong{color:#132633}:root[data-theme=light] .dashboard-forecast-body strong{color:#3f7b13}:root[data-theme=light] .dashboard-status.is-bajo-meta{color:#b91c1c}:root[data-theme=light] .dashboard-status.is-cerca-meta,:root[data-theme=light] .dashboard-credit-row small,:root[data-theme=light] .dashboard-alert-list span{color:#92400e}:root[data-theme=light] .dashboard-status.is-sobre-meta{color:#047857}:root[data-theme=light] .dashboard-alert-list span,:root[data-theme=light] .dashboard-credit-row{background:#fffbebdb}:root[data-theme=light] .notice-warning,:root[data-theme=light] .activity-conflict-notice{border-color:#d6a21d;background:#fff8db;color:#5f4100}:root[data-theme=light] .activity-conflict-notice li{color:#6b4a00}:root[data-theme=light] .rubric-warning{border-color:#dc6b6b;background:#fff0f0;color:#8f1f1f}:root[data-theme=light] .semester-tabs{border-color:#b9d5df;background:#f8fcfd}:root[data-theme=light] .semester-tabs button{color:#2f4d5c;background:transparent}:root[data-theme=light] .semester-tabs button.is-active{color:#0f3f52;background:#d8f0f4;box-shadow:inset 0 0 0 1px #9bd0dc}:root[data-theme=light] .semester-tabs button:not(.is-active):hover{color:#123f52;background:#eef7f9}.nav-pill-settings.is-active,:root[data-theme=light] .nav-pill-settings.is-active{color:#fff;background:#1f1f1f;box-shadow:none}.settings-theme-toggle button.is-active,:root[data-theme=light] .settings-theme-toggle button.is-active{color:#fff;background:#1f1f1f}:root[data-theme=light] .notice-error{border-color:#f87171;background:#fef2f2;color:#991b1b}:root[data-theme=light] .notice-success{border-color:#34d399;background:#ecfdf5;color:#065f46}:root[data-theme=light] .notice-warning,:root[data-theme=light] .notice-offline{border-color:#f59e0b;background:#fffbeb;color:#92400e}:root[data-theme=light] .rights-details{border-color:#1587a147;background:#1577910f;color:#0f3f52}:root[data-theme=light] .rights-details.is-warning{border-color:#d9770657;background:#d977060f;color:#78350f}:root[data-theme=light] .rights-details.is-info{border-color:#1587a147;background:#1587a10f}:root[data-theme=light] .rights-details summary{color:#0c4a5e}:root[data-theme=light] .rights-details.is-warning summary{color:#78350f}:root[data-theme=light] .rights-details span{color:#0f667a}:root[data-theme=light] .rights-details blockquote{border-left-color:#1587a175;color:#1a3a4a}:root[data-theme=light] .rights-details.is-warning blockquote{border-left-color:#d977067a;color:#78350f}:root[data-theme=light] .analysis-copy strong{color:#0f3f52}:root[data-theme=light] .analysis-stats span{border-color:#19546529;background:#ffffffb8;color:#536b79}:root[data-theme=light] .analysis-stats strong{color:#166534}:root[data-theme=light] .concept-grade-warning{border-color:#d9770657;background:#d977060f;color:#78350f}:root[data-theme=light] .concept-grade-warning span{color:#92400e}:root[data-theme=light] .concept-grade-warning blockquote{border-left-color:#d977067a;color:#78350f}:root[data-theme=light] .target-grade-note{color:#4b5f6b}:root[data-theme=light] .activity-conflict-notice{border-color:#d6a21d;background:#fff8db;color:#5f4100}:root[data-theme=light] .activity-conflict-notice strong{color:#3f2b00}:root[data-theme=light] .activity-conflict-notice li{color:#5f4100}.documents-view{display:grid;gap:1rem}.documents-hero{align-items:center}.documents-upload-card{display:grid;gap:1rem}.documents-upload-card.is-attention,.semester-card.is-attention{animation:attention-ring 1.8s ease}.page-transition-wrapper{animation:pageFadeIn .35s ease-out both}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes attention-ring{0%,to{box-shadow:var(--shadow-card)}28%,72%{box-shadow:0 0 0 3px #35acc952,var(--shadow-raised)}}.documents-upload-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.9rem;align-items:end}.documents-upload-row label{display:grid;gap:.4rem;color:var(--text-muted);font-size:.78rem;font-weight:700}.documents-upload-row select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);color:var(--text);padding:.65rem .75rem}.documents-helper{margin:-.35rem 0 0;color:var(--text-muted);font-size:.74rem;line-height:1.45}.guide-download-card{display:grid;gap:1rem;border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),transparent 52%),var(--surface)}.guide-download-heading{align-items:center}.guide-download-heading h2{margin-top:.2rem}.guide-download-eyebrow{color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.1em}.guide-official-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;white-space:nowrap}.guide-download-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.guide-download-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.6rem;align-items:start;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);padding:.8rem}.guide-step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--primary);color:var(--ap-primary-ink);font-size:.78rem;font-weight:800}.guide-download-steps li>div{display:grid;gap:.3rem}.guide-download-steps strong{color:var(--text);font-size:.8rem;line-height:1.35}.guide-download-steps li span:not(.guide-step-number){color:var(--text-muted);font-size:.73rem;line-height:1.45}.guide-video-details{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.guide-video-details summary{display:flex;align-items:center;gap:.55rem;padding:.85rem 1rem;color:var(--text);font-size:.8rem;font-weight:800;cursor:pointer;list-style:none}.guide-video-details summary::-webkit-details-marker{display:none}.guide-video-details[open] summary{border-bottom:1px solid var(--line)}.guide-video-content{display:grid;gap:.75rem;padding:1rem}.guide-video-content video{width:100%;max-height:620px;border-radius:10px;background:#05070a}.guide-video-content p{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.5}.guide-download-tip{display:flex;align-items:center;gap:.55rem;color:var(--text-muted);font-size:.74rem;line-height:1.4}.guide-download-tip svg{flex:0 0 auto;color:var(--primary)}@media(max-width:980px){.guide-download-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.guide-download-heading{align-items:stretch}.guide-official-link{width:100%}.guide-download-steps{grid-template-columns:1fr}}.documents-active-strip{display:flex;gap:.6rem;flex-wrap:wrap}.documents-active-strip span{border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--text-muted);padding:.35rem .7rem;font-size:.76rem;font-weight:700}.documents-list{display:grid;gap:.75rem}.document-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.9rem;align-items:start;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);padding:.9rem}.document-main{display:grid;gap:.25rem;min-width:0}.document-main strong,.document-main span,.document-main small{overflow-wrap:anywhere}.document-main strong{color:var(--text);font-size:.92rem}.document-main span{color:var(--text-muted);font-size:.78rem}.document-main small{color:var(--brand);font-size:.74rem;font-weight:700}.document-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.document-actions button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.74rem;font-weight:800;padding:.48rem .62rem}.document-actions button:hover{border-color:var(--line-strong)}.document-actions button:disabled{cursor:not-allowed;opacity:.55}.document-actions .is-danger{border-color:#dc262659;color:var(--danger)}.document-plan-actions{display:inline-flex;align-items:stretch;gap:.45rem;flex-wrap:wrap}.document-plan-actions button{min-height:44px}.document-json{grid-column:1 / -1;max-height:360px;overflow:auto;margin:0;border:1px solid var(--line);border-radius:8px;background:#02081759;color:var(--text-muted);padding:.85rem;font-size:.72rem;line-height:1.45}.document-guide-picker{grid-column:1 / -1;display:grid;gap:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:.8rem}.document-guide-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.document-guide-head strong{color:var(--text);font-size:.86rem}.document-guide-head button{border:1px solid var(--line-strong);border-radius:8px;background:var(--brand);color:#fff;cursor:pointer;font-size:.74rem;font-weight:800;padding:.5rem .7rem}.document-guide-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem;max-height:420px;overflow:auto}.document-guide-course{display:grid;gap:.35rem;min-width:0}.document-guide-course span{color:var(--text-muted);font-size:.74rem;font-weight:800;overflow-wrap:anywhere}.document-guide-course select{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text);padding:.5rem .6rem;font-size:.75rem}.academic-course-card{position:relative;cursor:pointer}.academic-course-card.is-matriculated{border-width:2px!important;box-shadow:inset 4px 0 #7c3aed,0 6px 18px #7c3aed1f!important}.academic-course-status{display:inline-flex;align-items:center;gap:.25rem;margin-top:.38rem;font-size:.64rem;font-weight:800}.academic-course-status.is-matriculated{padding:.2rem .45rem;border-radius:999px;background:#7c3aed;color:#fff;letter-spacing:.02em}.academic-course-grade{margin-left:.2rem;padding-left:.45rem;border-left:1px solid currentColor;font-weight:900}.academic-course-card.is-tapped{background:#35acc914;transition:background .2s ease}@media(max-width:780px){.info-help-popover{max-width:calc(100vw - 1.5rem)}.documents-upload-row,.document-row{grid-template-columns:1fr}.document-actions{justify-content:flex-start}.document-actions button,.academic-plan-back,.academic-plan-delete-button{min-height:44px}.academic-plan-delete-button{width:44px;height:44px}}:root{--ucr-blue: #0047AB;--ucr-blue-light: #0056d6;--ucr-blue-dark: #003380}.nav-pill.is-active{box-shadow:inset 0 0 0 1px #0047ab66}.nav-pill:hover,.nav-pill.is-active{background:#0047ab24}.primary-button{background:linear-gradient(135deg,var(--ucr-blue),var(--ucr-blue-dark));border-color:transparent}.primary-button:hover{background:linear-gradient(135deg,var(--ucr-blue-light),var(--ucr-blue))}.empty-state{text-align:center;padding:2.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-state-illustration{font-size:2.5rem;line-height:1;margin-bottom:.25rem}.empty-state-title{color:var(--text);font-size:1rem;font-weight:700;margin:0}.empty-state-description{color:var(--text-muted);font-size:.82rem;max-width:420px;line-height:1.55;margin:0}.quality-bar-container{display:flex;align-items:center;gap:.4rem;margin-top:.35rem}.quality-bar-track{width:100%;height:6px;background:#7a9db11f;border-radius:3px;overflow:hidden}.quality-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.quality-labels{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-soft);margin-top:.15rem}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:transparent;pointer-events:none}.onboarding-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3002;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none}.onboarding-layer.is-centered{justify-content:center}body.onboarding-active .workspace{pointer-events:none}body.onboarding-active .topbar{position:sticky;z-index:3001;pointer-events:none}body.onboarding-active .sidebar-toggle,body.onboarding-active .mobile-bottom-nav{z-index:3001}body.onboarding-active .nav-pill.is-active,body.onboarding-active .settings-icon-button.is-active{position:relative;z-index:3002;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface));box-shadow:inset 4px 0 0 var(--brand),0 0 0 3px color-mix(in srgb,var(--brand) 36%,transparent),0 0 0 10px color-mix(in srgb,var(--brand) 14%,transparent),0 0 32px color-mix(in srgb,var(--brand) 42%,transparent),0 14px 30px #0066b32e}body.onboarding-active .nav-pill.is-active:after,body.onboarding-active .settings-icon-button.is-active:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;z-index:-1;border-radius:inherit;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent) 0%,transparent 68%);pointer-events:none}body.onboarding-active[data-onboarding-step=plan-courses] .workspace,body.onboarding-active[data-onboarding-step=plan-flow] .workspace,body.onboarding-active[data-onboarding-step=generate-choice] .workspace,body.onboarding-active[data-onboarding-step=generate-manual] .workspace{pointer-events:auto}body.onboarding-active[data-onboarding-step=plan-courses] .academic-cycle-grid .academic-course-card:first-child,body.onboarding-active[data-onboarding-step=plan-flow] .academic-plan-smart-button,body.onboarding-active[data-onboarding-step=generate-choice] .generator-choice.is-recommended,body.onboarding-active[data-onboarding-step=generate-manual] .generator-choice:not(.is-recommended){position:relative;z-index:3001;pointer-events:auto;animation:onboarding-real-target-pulse 1.35s ease-in-out infinite alternate;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 38%,transparent),0 0 0 12px color-mix(in srgb,var(--brand) 14%,transparent),0 18px 44px #0066b33d!important}body.onboarding-active[data-onboarding-step=plan-courses] .academic-cycle-grid .academic-course-card:first-child:after,body.onboarding-active[data-onboarding-step=plan-flow] .academic-plan-smart-button:after,body.onboarding-active[data-onboarding-step=generate-choice] .generator-choice.is-recommended:after,body.onboarding-active[data-onboarding-step=generate-manual] .generator-choice:not(.is-recommended):after{content:"Toca aquí";position:absolute;top:-13px;right:16px;z-index:1;border:1px solid color-mix(in srgb,var(--brand) 52%,white);border-radius:999px;background:var(--brand);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.02em;padding:.22rem .55rem;box-shadow:0 8px 20px #0066b338;pointer-events:none}@keyframes onboarding-real-target-pulse{0%{outline:0 solid color-mix(in srgb,var(--brand) 0%,transparent)}to{outline:3px solid color-mix(in srgb,var(--brand) 46%,transparent);outline-offset:4px}}.onboarding-skip-corner{position:absolute;top:1rem;right:1rem;pointer-events:auto;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted);box-shadow:var(--shadow-soft);cursor:pointer;font-size:.76rem;font-weight:700;padding:.55rem .85rem}.onboarding-card{width:min(560px,100%);max-height:min(72vh,520px);overflow:auto;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:20px;background:var(--surface);box-shadow:var(--shadow-raised);padding:1.55rem;text-align:left;pointer-events:auto;position:relative;z-index:3003}.onboarding-card.is-custom-layout{position:fixed;max-height:none;min-width:320px;min-height:260px;max-width:none}.onboarding-layer .onboarding-card.is-custom-layout{margin:0}.onboarding-drag-handle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-.35rem -.35rem .75rem;padding:.35rem;border-radius:12px;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.onboarding-drag-handle:hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}.onboarding-reset-layout{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--text-muted);cursor:pointer;font-size:.68rem;font-weight:700;padding:.25rem .55rem}.onboarding-reset-layout:hover{border-color:var(--brand);color:var(--brand)}.onboarding-resize-handle{position:absolute;right:7px;bottom:7px;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.onboarding-resize-handle:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-right:2px solid color-mix(in srgb,var(--brand) 55%,var(--line));border-bottom:2px solid color-mix(in srgb,var(--brand) 55%,var(--line));border-radius:2px}.onboarding-kicker{color:var(--brand);font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase}.onboarding-card h2{font-size:1.35rem;margin:.7rem 0 .35rem}.onboarding-card>p{color:var(--text-muted);font-size:.88rem;line-height:1.55;margin:0 0 1rem}.onboarding-helper{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.65rem;align-items:start;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--brand) 8%,var(--surface));padding:.75rem}.onboarding-helper>span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:.82rem;font-weight:900;font-family:Georgia,serif}.onboarding-helper p{color:var(--text-muted);font-size:.78rem;line-height:1.45;margin:0}.onboarding-demo{display:grid;gap:.7rem;margin:.95rem 0;padding:.85rem;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));border-radius:16px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand) 10%,transparent),transparent 36%),color-mix(in srgb,var(--brand) 4%,var(--surface))}.onboarding-demo-dashboard,.onboarding-demo-choice,.onboarding-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.onboarding-demo-dashboard>div,.onboarding-demo-choice>div,.onboarding-demo-doc,.onboarding-demo-group,.onboarding-demo-term,.onboarding-demo-grade,.onboarding-demo-upload,.onboarding-demo-info{display:grid;gap:.25rem;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,white);padding:.7rem;box-shadow:0 10px 24px #0f172a14}.onboarding-demo-dashboard strong,.onboarding-demo-choice b,.onboarding-demo-doc strong,.onboarding-demo-group strong,.onboarding-demo-term strong,.onboarding-demo-grade strong{color:var(--text);font-size:.82rem}.onboarding-demo-dashboard span,.onboarding-demo-choice span,.onboarding-demo-doc span,.onboarding-demo-group span,.onboarding-demo-term span,.onboarding-demo-grade span,.onboarding-demo-info,.onboarding-demo-upload{color:var(--text-muted);font-size:.74rem;line-height:1.35}.onboarding-demo-buttons{display:flex;flex-wrap:wrap;gap:.45rem}.onboarding-demo-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand) 6%,var(--surface));color:var(--brand);font-size:.68rem;font-weight:850;padding:.24rem .6rem}.onboarding-demo-chip.is-primary{background:var(--brand);border-color:var(--brand);color:#fff}.onboarding-demo-course{display:grid;gap:.35rem;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--brand) 48%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:inherit;font:inherit;padding:.7rem}.onboarding-demo-course.is-interactive{cursor:pointer;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 10%,transparent);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.onboarding-demo-course.is-interactive:hover,.onboarding-demo-course.is-interactive:focus-visible{border-color:color-mix(in srgb,var(--brand) 70%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent),0 12px 24px #0f172a1a;transform:translateY(-1px)}.onboarding-demo-course.is-approved{border-color:#10b981;background:#10b98126}.onboarding-demo-course.is-matriculated{border-color:var(--matriculated-card-border);background:var(--matriculated-card-bg)}.onboarding-demo-course-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem}.onboarding-demo-checkbox{width:18px;height:18px;border-radius:5px;background:#0f172a;border:2px solid color-mix(in srgb,var(--line) 70%,white);box-shadow:inset 0 0 0 1px #ffffff1f}.onboarding-demo-checkbox.is-checked{background:#059669}.onboarding-demo-checkbox.is-checked:after{content:"✓";display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:900}.onboarding-demo-matriculated{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text-muted);font-size:.75rem;font-weight:900}.onboarding-demo-matriculated.is-on{border-color:color-mix(in srgb,#7c3aed 42%,var(--line));background:color-mix(in srgb,#7c3aed 12%,var(--surface));color:#7c3aed}.onboarding-demo-course strong{color:var(--brand);font-size:.86rem}.onboarding-demo-course>span,.onboarding-demo-course small{color:var(--text);font-size:.74rem}.onboarding-demo-course em{color:var(--brand);font-size:.72rem;font-style:normal;font-weight:800}.onboarding-demo-callouts{display:grid;gap:.35rem}.onboarding-demo-callouts span{color:var(--text-muted);font-size:.75rem}.onboarding-demo-progress{height:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand) 8%,var(--surface-muted))}.onboarding-demo-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ap-ucr-blue),var(--brand))}.onboarding-demo-mini-grid,.onboarding-demo-schedule{display:grid;gap:1px;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand) 20%,var(--line))}.onboarding-demo-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-demo-mini-grid span{min-height:34px;background:var(--surface)}.onboarding-demo-mini-grid .is-blocked{display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 18%,var(--surface));color:var(--brand);font-size:.68rem;font-weight:800}.onboarding-demo-schedule{grid-template-columns:54px repeat(3,minmax(0,1fr))}.onboarding-demo-schedule>*{min-height:32px;display:grid;place-items:center;background:var(--surface);color:var(--text-muted);font-size:.68rem;font-weight:800}.onboarding-demo-schedule .course-a,.onboarding-demo-schedule .course-b,.onboarding-demo-schedule .course-c{color:#064e8a;border-left:3px solid var(--brand)}.onboarding-demo-schedule .course-a{background:#dbeafe}.onboarding-demo-schedule .course-b{background:#dcfce7}.onboarding-demo-schedule .course-c{background:#fef3c7}.onboarding-demo-timeline,.onboarding-demo-settings{display:grid;gap:.45rem}.onboarding-demo-timeline span,.onboarding-demo-settings span{border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));border-radius:10px;background:var(--surface);color:var(--text-muted);font-size:.74rem;padding:.55rem .65rem}.onboarding-steps{display:flex;flex-wrap:wrap;gap:.45rem}.onboarding-dot{width:10px;height:10px;border-radius:50%;background:var(--surface-muted);border:1px solid var(--line);cursor:pointer;padding:0}.onboarding-dot.is-done{background:color-mix(in srgb,var(--brand) 40%,var(--surface-muted));border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.onboarding-dot.is-active{width:28px;border-radius:999px;background:var(--brand);border-color:var(--brand)}.onboarding-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.25rem}.settings-tutorial-button{white-space:nowrap}@media(max-width:640px){.onboarding-layer{align-items:center;justify-content:center;padding:1rem}.onboarding-card{padding:1.15rem}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions .primary-button,.onboarding-actions .secondary-button{width:100%;justify-content:center}}.onboarding-backdrop{background:#05102094;pointer-events:none}.onboarding-layer{z-index:3004;display:block;padding:0;pointer-events:none}.onboarding-skip-corner{position:fixed;z-index:3006}.onboarding-card{position:fixed;z-index:3006;box-sizing:border-box;margin:0;max-height:min(72vh,520px);overflow:auto;pointer-events:auto}.onboarding-target-ring{position:fixed;z-index:3004;box-sizing:border-box;border:2px solid color-mix(in srgb,var(--brand) 82%,white);border-radius:14px;box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 34%,transparent),0 0 0 14px color-mix(in srgb,var(--brand) 14%,transparent),0 0 34px color-mix(in srgb,var(--brand) 58%,transparent),0 0 0 100vmax #05102094;pointer-events:none;animation:onboarding-target-glow 1.35s ease-in-out infinite alternate;transition:border-color .16s ease,box-shadow .16s ease}.onboarding-target-ring.is-hovered{animation-play-state:paused;border-color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 52%,transparent),0 0 0 16px color-mix(in srgb,var(--brand) 24%,transparent),0 0 46px color-mix(in srgb,var(--brand) 78%,transparent),0 0 0 100vmax #05102094}.onboarding-current-target{position:relative!important;z-index:3003!important;pointer-events:auto!important}.onboarding-current-target *{pointer-events:auto}body.onboarding-active .workspace,body.onboarding-active .topbar,body.onboarding-active .sidebar-toggle,body.onboarding-active .mobile-bottom-nav{pointer-events:none}body.onboarding-active .onboarding-current-target,body.onboarding-active .onboarding-current-target *{pointer-events:auto}body.onboarding-active[data-onboarding-step=plan-courses] .academic-cycle-grid .academic-course-card:first-child:after,body.onboarding-active[data-onboarding-step=plan-flow] .academic-plan-smart-button:after,body.onboarding-active[data-onboarding-step=generate-choice] .generator-choice.is-recommended:after,body.onboarding-active[data-onboarding-step=generate-manual] .generator-choice:not(.is-recommended):after{content:none;display:none}@keyframes onboarding-target-glow{0%{opacity:.74;transform:scale(.995)}to{opacity:1;transform:scale(1.01)}}@media(max-width:720px){.onboarding-skip-corner{top:.75rem;right:.75rem}.onboarding-card{border-radius:18px;padding:1.1rem}.onboarding-steps{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;padding:.15rem 0 .35rem;scrollbar-width:thin;scroll-snap-type:inline proximity}.onboarding-dot{flex:0 0 36px;width:36px;height:36px;scroll-snap-align:center}.onboarding-dot.is-active{flex-basis:48px;width:48px}}.tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;border:1px solid;white-space:nowrap}.auth-choice-card{display:flex;flex-direction:column;gap:.75rem}.auth-choice-card .primary-button,.auth-choice-card .secondary-button,.auth-choice-card .skip-button{width:100%;justify-content:center;padding:.85rem 1rem;font-size:.92rem}.account-benefits{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.account-benefits h3{font-size:.8rem;font-weight:650;color:var(--text-muted);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.04em}.account-benefits ul{list-style:none;padding:0;margin:0}.account-benefits li{font-size:.78rem;color:var(--text-soft);padding:.32rem 0;display:flex;align-items:center;gap:.55rem}.account-benefits li:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--brand);flex:0 0 auto}.guest-mode-banner{background:var(--surface);border:1px solid rgba(53,172,201,.25);border-radius:12px;padding:1.15rem 1.35rem;margin-bottom:1.25rem}.guest-mode-banner h4{margin:0 0 .4rem;font-size:.92rem;font-weight:700;color:var(--text)}.guest-mode-banner p{margin:0 0 .75rem;font-size:.78rem;color:var(--text-soft);line-height:1.45}.guest-mode-banner ul{list-style:none;padding:0;margin:0 0 .75rem}.guest-mode-banner li{font-size:.75rem;color:var(--text-soft);padding:.22rem 0;display:flex;align-items:center;gap:.45rem}.guest-mode-banner li:before{content:"";width:.38rem;height:.38rem;border-radius:50%;background:var(--brand);flex:0 0 auto}.guest-mode-banner .guest-mode-actions{display:flex;gap:.65rem;align-items:center}@media(max-width:640px){.guest-mode-banner{padding:.85rem 1rem;margin-bottom:.75rem}.guest-mode-banner .guest-mode-actions{flex-direction:column;align-items:stretch}}.tag-risk{background:#f871711f;border-color:#f8717159;color:#fecaca}.tag-success{background:#34d3991f;border-color:#34d39959;color:#a7f3d0}.tag-info{background:#35acc91f;border-color:#35acc959;color:#b6ebf3}.tag-warning{background:#facc151f;border-color:#facc1559;color:#fde68a}.dashboard-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.dashboard-insight-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:1.1rem 1.1rem .95rem;display:flex;flex-direction:column;gap:.4rem}.dashboard-insight-card .insight-icon{font-size:1.5rem;line-height:1}.dashboard-insight-card .insight-label{font-size:.72rem;color:var(--text-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dashboard-insight-card .insight-value{font-size:1.1rem;font-weight:800;color:var(--text)}.dashboard-insight-card .insight-sub{font-size:.72rem;color:var(--text-soft)}@media(max-width:780px){.dashboard-insights{grid-template-columns:1fr}}.quick-actions-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}.quick-action-btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text);cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;white-space:normal;line-height:1.3;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.quick-action-btn:hover{border-color:var(--brand);background:linear-gradient(135deg,#1e88e5,#0284c7);color:#fff;box-shadow:0 2px 8px #1e88e559}.quick-action-btn.is-active{border-color:var(--brand);background:linear-gradient(135deg,#1e88e5,#0284c7);color:#fff}@media(max-width:780px){.quick-action-btn{font-size:12px;min-height:44px;padding:6px 10px}}.documents-list{position:relative;display:flex;flex-direction:column;gap:.6rem;min-height:120px;padding:.65rem;border-radius:12px;border:1px dashed var(--line);transition:border-color .2s,background .2s}.documents-list.is-empty{cursor:pointer;border-style:dashed;border-color:#35acc959}.documents-list.is-empty:hover{border-color:var(--brand);background:#35acc90a}.documents-list.is-drag-over{border-color:var(--brand);border-style:dashed;background:#35acc914}.documents-list.is-drag-over .document-row{opacity:.55;pointer-events:none}.documents-empty{display:flex;align-items:center;gap:1rem;width:100%;padding:1.5rem;border:0;background:transparent;color:inherit;text-align:left;font:inherit;border-radius:10px;cursor:pointer;transition:background .15s;outline:none}.documents-empty:hover,.documents-empty:focus{background:#35acc90f}.documents-empty-icon{color:var(--ap-primary);flex-shrink:0}.documents-empty-title{display:block;font-size:1rem;font-weight:700;color:var(--ap-text);margin-bottom:.35rem}.documents-empty-text p{margin:0;font-size:.76rem;color:var(--text-soft)}.documents-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:#35acc91f;color:#b6ebf3;font-weight:700;font-size:.92rem;pointer-events:none;z-index:2}.document-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.document-icon{font-size:1.4rem;flex-shrink:0;line-height:1;padding-top:.15rem}.document-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.document-meta strong{font-size:.88rem;color:var(--text);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta span{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.document-type-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:#35acc91f;border:1px solid rgba(53,172,201,.2);color:#b6ebf3}.document-date{font-size:.72rem;color:var(--text-muted)}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item{pointer-events:all;padding:12px 18px;border-radius:12px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:10px;max-width:420px;box-shadow:0 8px 32px #00000059;animation:toastIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-item.success{background:#0f1e10f2;border:1px solid rgba(34,197,94,.4);color:#4ade80}.toast-item.error{background:#2d0a0af2;border:1px solid rgba(239,68,68,.4);color:#f87171}.toast-item.info{background:#0f1e32f2;border:1px solid rgba(14,165,233,.4);color:#7dd3fc}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@media(max-width:520px){.toast-container{top:auto;bottom:20px;right:10px;left:10px;align-items:center}.toast-item{max-width:100%;width:100%;justify-content:center;text-align:center;box-sizing:border-box}}.results-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 190px;gap:1rem;width:100%;min-width:0}.results-view,.results-main,.results-sidebar-left,.results-sidebar-right{min-width:0}.results-toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.results-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap;margin-left:auto}.results-main>div,.results-main table{max-width:100%}.results-sidebar-right{overflow:hidden}.results-load-more{width:100%;min-height:38px;border:1px solid var(--ap-outline);border-radius:7px;background:var(--ap-surface);color:var(--ap-primary);cursor:pointer;font-size:.68rem;font-weight:800}.results-load-more:hover{border-color:var(--ap-primary);background:var(--ap-primary-soft)}@media(max-width:1180px){.results-layout{grid-template-columns:155px minmax(0,1fr) 180px;gap:.75rem}}.results-omitted-course-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #f59e0b;border-radius:8px;background:#fff7ed;color:#9a3412}.results-omitted-course-alert>svg{color:#d97706}.results-omitted-course-alert strong{color:#7c2d12;font-size:.78rem}.results-omitted-course-alert p{margin:.18rem 0 0;color:#9a3412;font-size:.7rem;line-height:1.45}.results-omitted-course-alert button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;border:1px solid #d97706;border-radius:7px;background:#fff;color:#9a3412;padding:.4rem .6rem;cursor:pointer;font-size:.68rem;font-weight:800;white-space:nowrap}.results-projection-availability,.results-seat-risk-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-bottom:12px;border-radius:12px;padding:12px 14px}.results-projection-availability{border:1px solid color-mix(in srgb,var(--brand) 38%,var(--line));background:color-mix(in srgb,var(--brand) 8%,var(--surface))}.results-seat-risk-alert{border:1px solid color-mix(in srgb,var(--ap-warning, #d97706) 42%,var(--line));background:color-mix(in srgb,var(--ap-warning, #d97706) 8%,var(--surface))}.results-projection-availability>svg{color:var(--brand)}.results-seat-risk-alert>svg{color:var(--ap-warning, #b45309)}.results-projection-availability strong,.results-seat-risk-alert strong{color:var(--text);font-size:.78rem}.results-projection-availability p,.results-seat-risk-alert p{margin:4px 0 0;color:var(--text-soft);font-size:.7rem;line-height:1.5}.results-projection-availability-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.results-projection-availability-actions button{min-height:44px;border:1px solid color-mix(in srgb,var(--brand) 50%,var(--line));border-radius:8px;padding:7px 10px;background:var(--surface);color:var(--brand);cursor:pointer;font-size:.68rem;font-weight:800}.results-projection-availability-actions button:hover{background:color-mix(in srgb,var(--brand) 12%,var(--surface))}:root[data-theme=dark] .results-omitted-course-alert{border-color:#b45309;background:#78350f4d;color:#fed7aa}:root[data-theme=dark] .results-omitted-course-alert strong,:root[data-theme=dark] .results-omitted-course-alert p{color:#fed7aa}:root[data-theme=dark] .results-omitted-course-alert button{border-color:#f59e0b;background:#451a03bf;color:#ffedd5}.results-emphasis-panel h3{margin:0 0 .5rem!important;color:var(--ap-text)!important;font-size:.78rem!important}.results-emphasis-panel>p{margin:0 0 .65rem!important;color:var(--ap-text-muted)!important;font-size:.68rem!important;line-height:1.45}.results-emphasis-title{margin-bottom:.3rem;color:var(--ap-primary);font-size:.68rem;font-weight:800}.results-emphasis-option{display:flex;align-items:center;gap:.4rem;min-height:31px;padding:.35rem .48rem;border:1px solid var(--ap-outline);border-radius:6px;background:var(--ap-surface);color:var(--ap-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.results-emphasis-option.is-selected{border-color:var(--ap-primary);background:var(--ap-primary-soft)}.results-emphasis-option.is-disabled{opacity:.58;background:var(--ap-surface-low)}.results-emphasis-option span{min-width:0;overflow:hidden;color:inherit;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.results-filter-heading{color:var(--ap-text-muted);font-size:.64rem;font-weight:800;letter-spacing:.05em}.results-filter-heading-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.results-filter-heading-row .info-help-button{width:22px;height:22px}.results-filter-option{display:flex;align-items:center;gap:.45rem;width:100%;min-height:36px;padding:.42rem .55rem;border:1px solid var(--ap-outline);border-radius:6px;background:var(--ap-surface);color:var(--ap-text-muted);cursor:pointer;font-size:.72rem;font-weight:650;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}.results-filter-option:hover{border-color:var(--ap-primary);background:var(--ap-surface-low)}.results-filter-option.is-selected{border-color:#7c3aed;background:#f1eafe;color:#5b21b6}:root[data-theme=dark] .results-filter-option.is-selected{background:#7c3aed3d;color:#ede9fe}.results-filter-option:disabled{cursor:wait}.results-filter-check{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;border:1px solid var(--ap-outline);border-radius:4px;background:var(--ap-surface-low)}.results-filter-option.is-selected .results-filter-check{border-color:#7c3aed;background:#7c3aed;color:#fff}.results-course-search{display:grid;gap:.55rem}.results-search-heading{display:flex;align-items:center;gap:.45rem;color:var(--ap-text);font-size:.76rem}.results-search-heading svg{color:var(--ap-primary)}.results-course-search>input{width:100%;min-height:38px;border:1px solid var(--ap-outline);border-radius:7px;background:var(--ap-surface-low);color:var(--ap-text);padding:.45rem .6rem;font-size:.72rem}.results-course-search>input:focus-visible{border-color:var(--ap-primary);outline:2px solid color-mix(in srgb,var(--ap-primary) 24%,transparent)}.results-course-search>p{margin:0;color:var(--ap-text-muted);font-size:.66rem;line-height:1.4}.results-search-list{display:grid;gap:.35rem;max-height:270px;overflow-y:auto}.results-search-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.45rem;border:1px solid var(--ap-outline);border-radius:7px;background:var(--ap-surface-low)}.results-search-item.is-closed{border-color:color-mix(in srgb,var(--ap-danger) 42%,var(--ap-outline));opacity:.82}.results-search-copy{display:grid;gap:.1rem;min-width:0}.results-search-actions{display:flex;align-items:center;gap:4px}.results-search-actions .results-search-reschedule,.results-search-actions .results-search-no-seats{width:30px;min-width:30px;justify-content:center;padding-right:0;padding-left:0}.results-search-actions .results-search-no-seats{border-color:color-mix(in srgb,var(--ap-danger) 50%,var(--ap-outline));color:var(--ap-danger)}.results-search-item strong{color:var(--ap-text);font-size:.67rem}.results-search-item span{overflow:hidden;color:var(--ap-text-muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.results-search-item button,.results-closed-summary button{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--ap-primary);border-radius:6px;background:var(--ap-surface);color:var(--ap-primary);padding:.32rem .4rem;cursor:pointer;font-size:.61rem;font-weight:750}.results-search-item button.is-pinned{background:var(--ap-primary);color:#fff}.results-closed-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding-top:.45rem;border-top:1px solid var(--ap-outline);color:var(--ap-danger);font-size:.64rem;font-weight:700}.results-closed-summary button{margin-left:auto;border-color:var(--ap-outline);color:var(--ap-text-muted)}.results-modality{display:inline-flex;align-items:center;min-height:23px;border:1px solid transparent;border-radius:5px;padding:.2rem .42rem;font-size:.62rem;font-weight:800}.results-modality.is-presencial{border-color:#93c5fd;background:#dbeafe;color:#1e3a8a}.results-modality.is-virtual{border-color:#c4b5fd;background:#ede9fe;color:#5b21b6}.results-modality.is-other{border-color:var(--ap-outline);background:var(--ap-surface-low);color:var(--ap-text)}:root[data-theme=dark] .results-modality.is-presencial{border-color:#2563eb;background:#1e40af52;color:#dbeafe}:root[data-theme=dark] .results-modality.is-virtual{border-color:#7c3aed;background:#5b21b657;color:#ede9fe}.results-no-seats-button{display:inline-flex;align-items:center;gap:.25rem;border:1px solid color-mix(in srgb,var(--ap-danger) 45%,var(--ap-outline));border-radius:6px;background:var(--ap-surface);color:var(--ap-danger);padding:.28rem .45rem;cursor:pointer;font-size:.62rem;font-weight:750;white-space:nowrap}.results-no-seats-button:hover{background:var(--ap-danger-container, rgba(220, 38, 38, .1))}.results-group-table-wrap{width:100%;overflow-x:auto}.results-group-table{width:100%;min-width:500px;border-collapse:collapse;table-layout:fixed;font-size:.7rem}.results-group-table th,.results-group-table td{padding:6px 5px!important;overflow-wrap:anywhere}.results-group-table th:nth-child(1){width:44px}.results-group-table th:nth-child(2){width:100px}.results-group-table th:nth-child(3){width:132px}.results-group-table th:nth-child(4){width:150px}.results-group-table th:nth-child(5){width:72px}.results-group-actions-cell{vertical-align:middle}.results-group-course-cell{display:grid;gap:2px}.results-group-course-cell strong{font-size:.72rem}.results-group-course-cell span,.results-group-course-cell small,.results-group-professor-cell,.results-group-time-cell{color:var(--ap-text-muted);font-size:.62rem;line-height:1.35}.results-group-professor-cell{vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.results-group-professor-cell>span:first-child{display:block}.results-professor-rating{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-size:.58rem;font-weight:700;line-height:1.25}.results-professor-rating svg{flex:0 0 auto}.results-professor-rating small{color:var(--ap-text-muted);font-size:.54rem;font-weight:500}.results-professor-rating.is-unavailable{color:var(--ap-text-muted);font-weight:500}.results-group-time-content{display:flex;align-items:center;justify-content:space-between;gap:6px}.results-group-sessions{min-width:0;display:grid;gap:4px}.results-group-session{display:grid;gap:1px}.results-group-session>span{white-space:normal}.results-group-session>small{color:var(--ap-text-muted);font-size:.58rem;line-height:1.25}.results-group-data-cell{vertical-align:middle}.results-group-data-cell .results-seat-badge{width:fit-content;display:block;margin-top:5px}.results-group-data-cell .results-modality{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-group-actions{display:grid;grid-template-columns:28px;justify-content:center;gap:4px}.results-group-actions>button{display:grid;width:28px;height:28px;place-items:center;padding:0!important}.results-group-reschedule{display:grid;flex:0 0 28px;width:28px;height:28px;margin-left:auto;place-items:center;padding:0!important}.results-no-seats-icon,.results-coordinate-icon,.results-reschedule-icon{border-radius:5px;background:transparent;cursor:pointer}.results-no-seats-icon{border:1px solid color-mix(in srgb,var(--ap-danger) 50%,var(--ap-outline));color:var(--ap-danger)}.results-reschedule-icon{border:1px solid var(--ap-primary);color:var(--ap-primary)}.results-coordinate-icon{border:1px solid color-mix(in srgb,var(--ap-primary) 65%,var(--ap-outline));color:var(--ap-primary)}.results-coordinate-icon:hover:not(:disabled){color:var(--ap-primary-ink);background:var(--ap-primary)}.results-coordinate-icon:disabled{cursor:not-allowed;opacity:.42}.results-no-seats-icon:hover{background:var(--ap-danger-container)}.results-reschedule-icon:hover{color:var(--ap-primary-ink);background:var(--ap-primary)}.results-mobile-capacity-help{display:none}@media(max-width:780px){.results-group-table th:nth-child(1){width:56px}.results-group-actions{grid-template-columns:44px}.results-group-actions>button,.results-group-reschedule{width:44px;height:44px}.results-mobile-capacity-help{display:flex;align-items:flex-start;gap:7px;margin-top:9px;border:1px solid var(--ap-outline);border-radius:7px;padding:8px 9px;color:var(--ap-text-muted);background:var(--ap-surface-low);font-size:.67rem;line-height:1.45}.results-mobile-capacity-help svg{flex:0 0 auto;color:var(--ap-primary)}}.saved-schedule-coordination{display:grid;gap:.55rem;border-bottom:1px solid var(--line);padding:.75rem 1rem;background:var(--surface-muted)}.saved-schedule-coordination>span{color:var(--text-muted);font-size:.72rem;font-weight:750}.saved-schedule-coordination>div{display:flex;flex-wrap:wrap;gap:.45rem}.saved-schedule-coordination button{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;border:1px solid var(--brand);border-radius:8px;padding:.55rem .75rem;color:var(--brand);background:transparent;cursor:pointer;font-size:.72rem;font-weight:750}.saved-schedule-coordination button svg{width:17px;height:17px}.saved-schedule-coordination button:hover:not(:disabled){color:var(--brand-ink, white);background:var(--brand)}.saved-schedule-coordination button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:480px){.saved-schedule-coordination button{flex:1 1 140px;justify-content:center}}.results-color-label{margin-bottom:.38rem;color:var(--ap-text-muted);font-size:.66rem;font-weight:700}.results-course-colors{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.results-course-color{display:flex;align-items:center;gap:.35rem;border:1px solid;border-radius:6px;padding:.25rem .5rem}.results-course-color input[type=color]{width:23px;height:23px;flex:0 0 23px;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:5px;background:transparent;padding:0;cursor:pointer;box-shadow:0 0 0 1px #0f172a33}.schedule-result-frame{position:relative;min-height:250px}.schedule-grid-shell{position:relative;overflow-x:auto;isolation:isolate}.schedule-course-block{min-width:0}.schedule-course-block:not(.is-edit-source){touch-action:manipulation}.schedule-course-block.is-edit-source{position:relative;z-index:4;cursor:grabbing;outline:2px solid color-mix(in srgb,var(--ap-primary) 72%,white);outline-offset:-2px;box-shadow:0 0 0 999px #0f172a14 inset;-webkit-user-select:none;user-select:none;touch-action:none}.schedule-ghost-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.schedule-ghost-block{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:1px;box-sizing:border-box;padding:4px 6px;border:1px solid color-mix(in srgb,var(--ghost-border, var(--ap-primary)) 42%,transparent);border-left:4px solid var(--ghost-border, var(--ap-primary));border-radius:8px;background:linear-gradient(180deg,#ffffffc7,#ffffff70),color-mix(in srgb,var(--ghost-bg, var(--ap-primary-soft)) 78%,white);color:var(--ghost-text, var(--ap-primary));opacity:.88;box-shadow:0 14px 28px #0f172a2e,0 5px 12px #0f172a1f,inset 0 1px #ffffffb8;pointer-events:auto;transform:translateY(-2px) scale(.985);transition:opacity .12s ease,transform .12s ease,box-shadow .12s ease,border-color .12s ease;cursor:pointer;font:inherit;text-align:left;touch-action:manipulation}.schedule-ghost-block.is-hovered{opacity:1;border-color:color-mix(in srgb,var(--ghost-border, var(--ap-primary)) 68%,transparent);transform:translateY(-5px) scale(1.01);box-shadow:0 0 0 3px color-mix(in srgb,var(--ghost-border, var(--ap-primary)) 16%,transparent),0 20px 36px #0f172a3d,0 8px 16px #0f172a29,inset 0 1px #ffffffd1}.schedule-ghost-block strong,.schedule-ghost-block span,.schedule-ghost-block small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-ghost-block strong{font-size:11px;line-height:1.1}.schedule-ghost-block span{font-size:9px;font-weight:700}.schedule-ghost-block small{font-size:8px;opacity:.78}.schedule-edit-hint{position:absolute;top:10px;right:10px;z-index:6;max-width:min(320px,calc(100% - 20px));padding:7px 10px;border:1px solid var(--ap-primary);border-radius:8px;background:color-mix(in srgb,var(--ap-surface) 92%,transparent);color:var(--ap-text);font-size:11px;font-weight:700;box-shadow:0 12px 26px #0f172a29}.schedule-reordering-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;padding:1.25rem;background:color-mix(in srgb,var(--ap-surface) 90%,transparent);color:var(--ap-text);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:schedule-overlay-in .18s ease-out}.schedule-reordering-overlay strong{font-size:.95rem}.schedule-reordering-overlay>span{color:var(--ap-text-muted);font-size:.72rem}.schedule-reordering-visual{position:relative;display:grid;place-items:center;width:52px;height:52px;color:var(--ap-primary)}.schedule-reordering-spinner{animation:schedule-spin .9s linear infinite}.schedule-reordering-spark{position:absolute;right:-1px;top:-1px;color:#7c3aed;animation:schedule-spark .7s ease-in-out infinite alternate}.schedule-reordering-track{width:min(240px,75%);height:5px;margin-top:.3rem;overflow:hidden;border-radius:999px;background:var(--ap-surface-highest)}.schedule-reordering-track span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ap-primary),#7c3aed);animation:schedule-progress .8s ease-in-out infinite}@keyframes schedule-spin{to{transform:rotate(360deg)}}@keyframes schedule-spark{0%{transform:scale(.78) rotate(-8deg);opacity:.55}to{transform:scale(1.08) rotate(8deg);opacity:1}}@keyframes schedule-progress{0%{transform:translate(-110%)}to{transform:translate(245%)}}@keyframes schedule-overlay-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.schedule-reordering-spinner,.schedule-reordering-spark,.schedule-reordering-track span{animation:none}}@media(max-width:992px){.results-layout{display:flex;flex-direction:column;gap:1rem}.results-layout .results-sidebar-left,.results-layout .results-sidebar-right{order:2}.results-layout .results-main{order:1;width:100%}}@media(max-width:680px){.results-omitted-course-alert{grid-template-columns:auto minmax(0,1fr)}.results-omitted-course-alert button{grid-column:1 / -1;justify-content:center}.results-projection-availability-actions button{flex:1 1 140px}}@media(max-width:520px){.schedule-day-tabs{display:flex;gap:4px;overflow-x:auto;padding:4px 0;margin-bottom:8px}.schedule-day-tab{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.schedule-day-tab.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.auth-privacy-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center}.info-help-button,.generator-filter-heading .info-help-button{width:44px;min-width:44px;height:44px;min-height:44px;border:0;background:transparent}.info-help-button>span{width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted)}.info-help-button:hover{border-color:transparent;background:transparent}.info-help-button:hover>span{border-color:var(--brand)}:root{--color-info: #0ea5e9;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info-bg: rgba(14, 165, 233, .12);--color-success-bg: rgba(34, 197, 94, .12);--color-warning-bg: rgba(245, 158, 11, .12);--color-danger-bg: rgba(239, 68, 68, .12);--focus-ring: color-mix(in oklch, var(--brand) 40%, transparent)}@media(max-width:768px){.month-calendar{min-width:unset!important;width:100%;overflow:visible}.calendar-panel{padding:clamp(.55rem,2.6vw,.9rem)}.calendar-toolbar{gap:.45rem}.calendar-toolbar>div:first-child{min-width:100%}.calendar-navigation,.calendar-views,.calendar-downloads{flex:1 1 auto}.calendar-navigation button,.calendar-views button,.calendar-downloads button{flex:1;padding:.42rem .44rem;font-size:clamp(.58rem,2.4vw,.7rem)}.calendar-weekdays,.month-grid{min-width:0!important;width:100%}.calendar-weekdays span{padding:.28rem .08rem;font-size:clamp(.48rem,2.2vw,.62rem)}.calendar-day,.empty-day{min-height:clamp(54px,15.6vw,86px);padding:clamp(.14rem,1.1vw,.28rem)}.calendar-day{gap:.12rem}.calendar-day>strong{font-size:clamp(.55rem,2.35vw,.68rem);margin-bottom:.04rem}.calendar-day span{max-width:100%;border-left-width:2px;border-radius:3px;padding:.08rem .14rem;font-size:clamp(.46rem,1.95vw,.56rem);line-height:1.1}.calendar-day em{font-size:clamp(.46rem,1.95vw,.56rem);line-height:1}.fc-view-harness,.fc-view-harness-active,.fc-scroller{min-width:unset!important}}:root[data-theme=light] .career-projection-head>strong,:root[data-theme=light] .career-result-grid strong{color:#004379}:root[data-theme=light] .notes-course-list small{color:#00616d}@media(max-width:680px){.important-date-row{grid-template-columns:1fr;gap:.35rem}.important-date-row>a{justify-self:start}.dashboard-important-dates .section-heading{align-items:stretch;flex-direction:column}.dashboard-important-dates .section-heading .secondary-button{width:100%}.day-event{grid-template-columns:1fr;gap:.35rem}.day-event-actions{justify-content:flex-start}.timeline-item.is-institutional{align-items:flex-start;flex-wrap:wrap}.timeline-item.is-institutional .timeline-date{width:100%}}:root[data-theme=light] .timeline-date strong{color:#005ba1}.guest-gate-backdrop,.settings-delete-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:1rem;background:#030c18b8}.guest-gate-dialog,.settings-delete-dialog{width:min(460px,100%);border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-raised);padding:1.5rem}.guest-gate-dialog h2,.settings-delete-dialog h2{margin:0 0 .55rem;font-size:1.2rem}.guest-gate-dialog p,.settings-delete-dialog p{color:var(--text-muted);line-height:1.55}.guest-gate-icon{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:.85rem;border-radius:8px;background:var(--ap-primary-soft, rgba(53, 172, 201, .12));color:var(--brand)}.guest-gate-icon svg{width:22px;height:22px}.guest-gate-actions,.guest-trial-actions,.settings-delete-actions,.settings-privacy-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.guest-gate-actions>*,.guest-trial-actions>*,.settings-delete-actions>*,.settings-privacy-actions>*{min-height:44px}.guest-trial-home{max-width:760px;margin:3rem auto;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-card)}.guest-trial-home h1{margin:.65rem 0;color:var(--text);font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:0}.guest-trial-home p{max-width:620px;color:var(--text-muted);line-height:1.65}.auth-text-button{justify-self:end;border:0;background:transparent;color:var(--brand);cursor:pointer;font-size:.78rem;font-weight:700;padding:0}.ai-privacy-note,.ai-import-consent{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text-muted);padding:.75rem;font-size:.76rem;line-height:1.5}.ai-import-consent label{display:flex;align-items:center;gap:.55rem;margin-top:.55rem;color:var(--text);font-weight:700}.settings-danger-zone{border-color:color-mix(in srgb,var(--danger) 32%,var(--line))}.settings-privacy-actions a{color:var(--brand);font-size:.8rem;font-weight:700}.danger-button{min-height:40px;border:1px solid var(--danger);border-radius:8px;background:transparent;color:var(--danger);cursor:pointer;font-weight:800;padding:.65rem .85rem}.danger-button:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.danger-button:disabled{cursor:not-allowed;opacity:.55}.settings-delete-dialog label{display:grid;gap:.4rem;margin:1rem 0;color:var(--text);font-size:.8rem;font-weight:700}.settings-delete-dialog input{min-height:42px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-muted);color:var(--text);padding:.65rem .75rem}.documents-upload-row.is-single{grid-template-columns:minmax(220px,1fr)}:root[data-theme=light] .auth-divider span,:root[data-theme=light] .account-benefits li,:root[data-theme=light] .site-footer,:root[data-theme=light] .skip-button{color:#405866}@media(max-width:640px){.guest-gate-actions,.guest-trial-actions,.settings-delete-actions,.settings-privacy-actions{align-items:stretch;flex-direction:column}.guest-gate-actions>*,.guest-trial-actions>*,.settings-delete-actions>*,.settings-privacy-actions>*{width:100%;text-align:center}}.dual-career-summary{margin:0;padding:12px 14px;color:var(--text);background:color-mix(in srgb,var(--brand) 8%,var(--surface));border-bottom:1px solid var(--line)}.dual-career-summary-head,.dual-career-summary-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dual-career-summary-head strong{font-size:13px}.dual-career-summary-head>span{color:var(--text-muted);font-size:11px}.dual-career-summary-stats{justify-content:flex-start;margin-top:8px}.dual-career-summary-stats span{min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:11px}.dual-career-summary-stats b{color:var(--brand)}.dual-career-summary-warning{margin-top:9px;padding:8px 10px;border:1px solid color-mix(in srgb,#f59e0b 52%,var(--line));border-radius:9px;background:color-mix(in srgb,#f59e0b 10%,var(--surface));color:var(--text);font-size:11px}.dual-career-summary-warning p{margin:0 0 3px}.dual-career-summary-warning small{color:var(--text-muted)}.dual-career-summary-limited{margin:7px 0 0;color:var(--text-muted);font-size:10px}.results-dual-option{margin-top:4px;display:flex;gap:5px;color:var(--ap-primary);font-size:10px;font-weight:700}@media(max-width:430px){.dual-career-summary{padding:10px}.dual-career-summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dual-career-summary-stats span{border-radius:8px;justify-content:center;text-align:center}}.dual-projection-controls{margin:0 0 14px;padding:12px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--dense-border));border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,var(--dense-panel-strong))}.dual-projection-controls legend{padding:0 5px;color:var(--dense-brand);font-size:12px;font-weight:800}.dual-projection-controls>label,.dual-projection-targets label{display:grid;gap:4px;margin-top:8px;color:var(--dense-muted);font-size:11px}.dual-projection-controls select,.dual-projection-controls input{width:100%;min-height:44px;padding:7px 8px;border:1px solid var(--dense-border-strong);border-radius:7px;background:var(--dense-panel-strong);color:var(--dense-text)}.summer-course-toggle,.summer-course-remove{width:44px;min-width:44px;height:44px;min-height:44px;touch-action:manipulation}.summer-course-remove{margin:-10px}.dual-projection-controls p{margin:7px 0 0;color:var(--dense-muted);font-size:10px;line-height:1.4}.dual-projection-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dual-plan-missing-card,.dual-career-ucr-notice,.dual-projection-warnings{margin-bottom:14px;padding:12px;border:1px solid color-mix(in srgb,#f59e0b 45%,var(--line));border-radius:10px;background:color-mix(in srgb,#f59e0b 9%,var(--surface));color:var(--text);font-size:12px}.dual-plan-missing-card p,.dual-career-ucr-notice p{margin:5px 0;color:var(--text-muted)}.dual-plan-missing-card button,.dual-career-ucr-notice a{min-height:40px;display:inline-flex;align-items:center;margin-top:5px;padding:7px 10px;border:1px solid var(--brand);border-radius:8px;background:transparent;color:var(--brand);font-weight:700;text-decoration:none;cursor:pointer}.dual-projection-warnings ul{margin:6px 0 0 18px;color:var(--text-muted)}.dual-semester-credit-breakdown{display:block;margin-top:4px;color:var(--dense-muted);font-size:10px;font-weight:600}.dual-semester-shortfall{display:grid;gap:3px;padding:8px 14px;background:color-mix(in srgb,#f59e0b 9%,var(--dense-panel));color:var(--dense-muted);font-size:10px}.dual-course-origin{width:fit-content;margin:0 0 8px;padding:2px 7px;border-radius:999px;background:var(--ap-primary-soft);color:var(--ap-primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}@media(max-width:430px){.dual-projection-targets{grid-template-columns:1fr}.dual-plan-missing-card button,.dual-career-ucr-notice a{width:100%;min-height:44px;justify-content:center}}:root{--ap-canvas: #051424;--ap-surface-lowest: #010f1f;--ap-surface-low: #0d1c2d;--ap-surface: #122131;--ap-surface-high: #1c2b3c;--ap-surface-highest: #273647;--ap-text: #d4e4fa;--ap-text-muted: #c4c7ca;--ap-text-soft: #8e9194;--ap-outline: #44474a;--ap-primary: #00e3fd;--ap-primary-ink: #001f24;--ap-ucr-blue: #005ba1;--ap-primary-soft: rgba(0, 227, 253, .12);--ap-success: #34c99a;--ap-danger: #ffb4ab;--ap-danger-container: #93000a;--ap-warning: #f5c451;--ap-card-shadow: none;--ap-overlay-shadow: 0 16px 40px rgba(0, 0, 0, .28);--ap-electric-cyan: #00e5ff;--ap-radius-control: 6px;--ap-radius-card: 8px;--ap-content-width: 1280px;--page: var(--ap-canvas);--page-deep: var(--ap-surface-lowest);--surface: var(--ap-surface);--surface-strong: var(--ap-surface-low);--surface-muted: var(--ap-surface-high);--line: var(--ap-outline);--line-strong: rgba(0, 227, 253, .52);--text: var(--ap-text);--text-muted: var(--ap-text-muted);--text-soft: var(--ap-text-soft);--brand: var(--ap-primary);--brand-dark: var(--ap-ucr-blue);--accent: var(--ap-primary);--danger: var(--ap-danger);--shadow-card: var(--ap-card-shadow);--shadow-raised: var(--ap-overlay-shadow);--sidebar-width: 280px;--dense-panel: var(--ap-surface);--dense-panel-strong: var(--ap-surface-lowest);--dense-panel-muted: var(--ap-surface-low);--dense-panel-header: var(--ap-surface-high);--dense-border: var(--ap-outline);--dense-border-strong: rgba(0, 227, 253, .44);--dense-text: var(--ap-text);--dense-muted: var(--ap-text-muted);--dense-brand: var(--ap-primary);--schedule-surface: var(--ap-surface-lowest);--schedule-header-bg: var(--ap-surface-high);--schedule-header-text: var(--ap-text);--schedule-hour-bg: var(--ap-surface-low);--schedule-hour-text: #bdf4ff;--schedule-cell-even: #0b1a2a;--schedule-cell-odd: #0f1e2e;--schedule-border: var(--ap-outline);--plan-progress-bg: var(--ap-surface);--plan-progress-border: var(--ap-outline);--plan-progress-track: var(--ap-surface-highest);--plan-progress-shadow: none;--focus-ring: rgba(0, 227, 253, .32);--matriculated-badge-bg: rgba(0, 227, 253, .14);--matriculated-badge-border: #00e3fd;--matriculated-badge-text: #bdf4ff;--idle-badge-bg: var(--ap-surface-high);--idle-badge-border: var(--ap-outline);--idle-badge-text: var(--ap-text-soft)}:root[data-theme=light]{--ap-canvas: #f6fafe;--ap-surface-lowest: #ffffff;--ap-surface-low: #f0f4f8;--ap-surface: #ffffff;--ap-surface-high: #eaeef2;--ap-surface-highest: #dfe3e7;--ap-text: #171c1f;--ap-text-muted: #414751;--ap-text-soft: #727782;--ap-outline: #c1c7d2;--ap-primary: #005ba1;--ap-primary-ink: #ffffff;--ap-ucr-blue: #004379;--ap-primary-soft: #d3e4ff;--ap-success: #10b981;--ap-danger: #ba1a1a;--ap-danger-container: #ffdad6;--ap-warning: #8a5a00;--ap-card-shadow: 0 6px 18px rgba(0, 67, 121, .05);--ap-overlay-shadow: 0 18px 44px rgba(0, 67, 121, .14);--ap-electric-cyan: #006688;--schedule-cell-even: #ffffff;--schedule-cell-odd: #f6fafe;--schedule-hour-text: #004379;--focus-ring: rgba(0, 91, 161, .24);--matriculated-badge-bg: #d3e4ff;--matriculated-badge-border: #005ba1;--matriculated-badge-text: #004379;--idle-badge-bg: #f0f4f8;--idle-badge-border: #c1c7d2;--idle-badge-text: #727782}html,body,#root{min-height:100%;background:var(--ap-canvas)}body,:root[data-theme=light] body{color:var(--ap-text);background:var(--ap-canvas);font-family:Inter,Segoe UI,system-ui,sans-serif}h1,h2,h3,h4,h5,h6,.brand-name,.eyebrow,.insight-label{letter-spacing:0}button,input,select,textarea{border-radius:var(--ap-radius-control)}.app-shell{background:var(--ap-canvas)}.topbar,:root[data-theme=light] .topbar{padding:20px 16px 16px;border-color:var(--ap-outline);background:color-mix(in srgb,var(--ap-surface-lowest) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-inner{gap:20px}.brand,:root[data-theme=light] .brand{min-height:60px;padding:8px 10px;border:0;border-radius:var(--ap-radius-card);background:transparent}.brand-mark{position:relative;width:44px;height:44px;flex:0 0 44px;border-radius:0;color:var(--ap-primary);background:transparent;box-shadow:none}.brand-mark>svg{width:44px;height:44px;stroke-width:2.2}.brand-mark-core{position:absolute;top:17px;right:17px;bottom:17px;left:17px;border-radius:2px;background:var(--ap-primary)}.brand-name{color:var(--ap-text);font-size:1rem;font-weight:750}.brand-subtitle{margin-top:2px;color:var(--ap-text-soft);font-size:.66rem;letter-spacing:.05em}.app-nav{gap:4px}.nav-pill{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:var(--ap-radius-control);color:var(--ap-text-muted);font-size:.84rem}.nav-pill>svg{width:19px;height:19px;stroke-width:1.8}.nav-pill:hover,.nav-pill.is-active,:root[data-theme=light] .nav-pill:hover,:root[data-theme=light] .nav-pill.is-active{color:var(--ap-text);background:var(--ap-primary-soft)}.nav-pill.is-active,:root[data-theme=light] .nav-pill.is-active{box-shadow:none}.nav-pill.is-active:before{content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:0 2px 2px 0;background:var(--ap-primary)}.account-actions,.guest-access{border-color:var(--ap-outline)}.account-identity{display:flex;align-items:center;gap:10px;min-width:0}.account-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--ap-outline);border-radius:50%;color:var(--ap-primary-ink);background:var(--ap-primary);font-weight:800}.account-email{color:var(--ap-text-muted)}.logout-button,.settings-icon-button{min-height:40px;border-radius:var(--ap-radius-control);border-color:var(--ap-outline);color:var(--ap-text-muted);background:transparent}.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.logout-button svg,.settings-icon-button svg{width:18px;height:18px}.settings-icon-button:hover,.logout-button:hover,.settings-icon-button.is-active{color:var(--ap-text);border-color:var(--ap-primary);background:var(--ap-primary-soft)}.sidebar-toggle{top:28px;width:36px;height:36px;border:1px solid var(--ap-outline);border-radius:var(--ap-radius-control);color:var(--ap-primary);background:var(--ap-surface);box-shadow:var(--ap-card-shadow)}.sidebar-toggle svg{width:20px;height:20px}.workspace{max-width:var(--ap-content-width);padding:32px 32px 48px}.site-footer{max-width:var(--ap-content-width);color:var(--ap-text-soft);border-color:var(--ap-outline)}.semester-hero,:root[data-theme=light] .semester-hero{border:1px solid var(--ap-outline);border-radius:var(--ap-radius-card);color:var(--ap-text);background:var(--ap-surface-low);box-shadow:none}.semester-hero h1,.upload-intro h1,.generator-entry-heading h1{color:var(--ap-text);font-size:2rem;line-height:1.25;letter-spacing:0}.semester-card,.upload-panel,.generator-choice,.dashboard-insight-card,.metric-field,.week-card,.auth-card,.documents-panel,.settings-card{border:1px solid var(--ap-outline);border-radius:var(--ap-radius-card);background:var(--ap-surface);box-shadow:var(--ap-card-shadow)}.dashboard-insights{gap:16px}.dashboard-insight-card{min-height:132px;padding:24px}.insight-label,.eyebrow{color:var(--ap-ucr-blue);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}:root:not([data-theme=light]) .insight-label,:root:not([data-theme=light]) .eyebrow{color:#bdf4ff}.insight-value{color:var(--ap-text);font-size:1.45rem;line-height:1.25}.insight-sub{color:var(--ap-text-soft)}.dashboard-grid{gap:20px}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-action-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;border:1px solid var(--ap-outline);border-radius:var(--ap-radius-control);color:var(--ap-text);background:var(--ap-surface-low)}.quick-action-btn svg{width:18px;height:18px;color:var(--ap-primary)}.quick-action-btn:hover,.quick-action-btn.is-active{border-color:var(--ap-primary);background:var(--ap-primary-soft)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:var(--ap-radius-control);color:var(--ap-primary-ink);background:var(--ap-primary);box-shadow:none}.primary-button:hover:not(:disabled){filter:brightness(1.06);transform:none}.secondary-button,.guide-documents-button,.calendar-downloads button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--ap-primary);border-radius:var(--ap-radius-control);color:var(--ap-primary);background:transparent}.secondary-button:hover:not(:disabled),.guide-documents-button:hover{color:var(--ap-text);background:var(--ap-primary-soft)}.primary-button svg,.secondary-button svg{width:18px;height:18px}.academic-plan-view{max-width:var(--ap-content-width)!important;padding:0!important}.academic-plan-back{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin-bottom:16px;padding:6px 10px;border:0;color:var(--ap-primary);background:transparent;font-weight:700;cursor:pointer}.academic-plan-back svg{width:18px;height:18px}.academic-plan-heading{gap:16px}.academic-plan-heading h1{color:var(--ap-ucr-blue)!important;font-size:2rem!important;line-height:1.25}:root:not([data-theme=light]) .academic-plan-heading h1{color:var(--ap-text)!important}.academic-plan-smart-button{min-height:48px;padding:10px 18px}.academic-cycle{border-color:var(--ap-outline)!important;background:var(--ap-surface)!important}.academic-cycle-header{min-height:52px;align-items:center;padding:12px 16px!important;background:var(--ap-surface-low)!important}.academic-cycle-grid{gap:12px!important;padding:16px!important}.academic-course-card{border-radius:var(--ap-radius-card)!important;box-shadow:none!important}.metric-field-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-field-title>label{color:var(--ap-text-soft);font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.metric-field .info-help{flex:0 0 auto;color:inherit;font-size:inherit;letter-spacing:0;text-transform:none}.metric-field .info-help-button{color:var(--ap-primary);font-size:.72rem;letter-spacing:0;text-transform:none}.metric-field .info-help-popover,.metric-field .info-help-popover span{color:var(--ap-text-muted);font-size:.78rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}.metric-field .info-help-popover strong{color:var(--ap-text);font-size:.84rem;letter-spacing:0;text-transform:none}input,select,textarea{border-color:var(--ap-outline);color:var(--ap-text);background:var(--ap-surface-lowest)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px;box-shadow:none}.generator-entry{max-width:1080px}.generator-entry-heading{max-width:720px;margin-bottom:28px}.generator-choice-grid{gap:20px}.generator-choice{position:relative;min-height:320px;padding:32px}.generator-choice-content{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:18px}.generator-choice-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:var(--ap-radius-card);color:var(--ap-ucr-blue);background:var(--ap-primary-soft)}.generator-choice-icon.is-neutral{color:var(--ap-text-muted);background:var(--ap-surface-high)}.generator-choice-icon svg{width:25px;height:25px}.generator-choice.is-recommended{border-top:4px solid var(--ap-primary)}.generator-choice h2{color:var(--ap-text);font-size:1.5rem;line-height:1.3}.generator-choice p{color:var(--ap-text-muted);font-size:1rem;line-height:1.55}.generator-choice-tag{border-radius:999px;color:var(--ap-primary-ink);background:var(--ap-primary)}.generator-choice-tag.is-neutral{color:var(--ap-text-muted);background:var(--ap-surface-high)}.upload-view{max-width:1120px;gap:32px}.upload-intro,.upload-panel{border-radius:var(--ap-radius-card)}.dropzone{border-radius:var(--ap-radius-card);border-color:var(--ap-outline);background:var(--ap-surface-low)}.dropzone:hover{border-color:var(--ap-primary);background:var(--ap-primary-soft)}.calendar-day,.week-day,.day-calendar,.group-options,.grade-course,.notes-summary-grid>div,.analysis-stats span,:root[data-theme=light] .calendar-day,:root[data-theme=light] .week-day,:root[data-theme=light] .day-calendar,:root[data-theme=light] .group-options,:root[data-theme=light] .grade-course,:root[data-theme=light] .notes-summary-grid>div,:root[data-theme=light] .analysis-stats span{border-color:var(--ap-outline);border-radius:var(--ap-radius-card);background:var(--ap-surface-lowest)}.semester-tabs,:root[data-theme=light] .semester-tabs{border-color:var(--ap-outline);border-radius:var(--ap-radius-control);background:var(--ap-surface-low)}.semester-tabs button.is-active,.calendar-views button.is-active,:root[data-theme=light] .semester-tabs button.is-active,:root[data-theme=light] .calendar-views button.is-active{color:var(--ap-primary-ink);background:var(--ap-primary);box-shadow:none}.group-course-code{color:#7dd3fc}:root[data-theme=light] .group-course-code{color:var(--ap-ucr-blue)}.notice,.toast-item,.info-popover{border-radius:var(--ap-radius-card)}.mobile-bottom-nav,.mobile-more-panel,.mobile-nav-backdrop,.mobile-header-back{display:none}@media(max-width:1040px){.workspace{padding-right:24px;padding-left:24px}}@media(min-width:1500px){.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1040px){:root{--sticky-content-top: 72px}html{scroll-padding-top:88px;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}.page-transition-wrapper :is(button,a,input,select,textarea,[tabindex]){scroll-margin-top:88px;scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom))}.app-shell,.app-shell.sidebar-closed,.app-shell.sidebar-open{display:block}.topbar,.topbar.is-collapsed,:root[data-theme=light] .topbar{position:fixed;inset:0 0 auto;z-index:40;display:block;width:100%;height:72px;padding:8px 16px;overflow:hidden;border-right:0;border-bottom:1px solid var(--ap-outline);transform:none;opacity:1;pointer-events:auto;box-shadow:none}.topbar-inner{min-height:56px;flex-direction:row;align-items:center;padding:0}.topbar .brand{min-height:56px;padding:4px 0}.topbar .brand-mark,.topbar .brand-mark>svg{width:36px;height:36px;flex-basis:36px}.topbar .brand-mark-core{top:14px;right:14px;bottom:14px;left:14px}.topbar .brand-subtitle,.topbar .app-nav,.topbar .account-actions,.topbar .guest-access,.topbar .stepper,.sidebar-toggle,.sidebar-backdrop{display:none}.workspace,.app-shell.no-sidebar .workspace{width:100%;max-width:none;min-width:0;padding:96px 16px calc(112px + env(safe-area-inset-bottom))}.page-transition-wrapper,.page-transition-wrapper>*{width:100%;min-width:0;max-width:100%}.mobile-header-back{display:inline-flex;min-width:44px;min-height:44px;margin-left:auto;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--ap-outline);border-radius:var(--ap-radius-control);color:var(--ap-primary);background:var(--ap-surface-lowest);font-size:.78rem;font-weight:750}.mobile-header-back svg{width:20px;height:20px}.site-footer{margin-bottom:84px;padding-right:16px;padding-left:16px}.semester-hero{padding:20px}.semester-hero h1,.upload-intro h1,.generator-entry-heading h1{font-size:1.5rem;line-height:1.35}.dashboard-insights,.dashboard-grid,.generator-choice-grid{grid-template-columns:1fr}.dashboard-insight-card{min-height:112px;padding:20px}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-entry-heading{margin-bottom:24px}.generator-choice{min-height:0;padding:24px 20px}.generator-choice h2{font-size:1.3rem}.generator-choice-content{grid-template-columns:48px minmax(0,1fr);gap:14px}.generator-choice-icon{width:48px;height:48px}.academic-plan-heading{align-items:flex-start!important;flex-direction:column}.academic-plan-heading>div,.academic-plan-import-actions{width:100%;align-items:stretch!important;flex-direction:column}.academic-plan-heading .primary-button,.academic-plan-heading .secondary-button{width:100%}.academic-cycle-grid{grid-template-columns:1fr!important;padding:12px!important}.upload-view{gap:20px}.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:60;display:grid;width:100%;max-width:100vw;grid-template-columns:repeat(4,minmax(0,1fr));min-height:calc(72px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--ap-outline);background:color-mix(in srgb,var(--ap-surface-lowest) 96%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mobile-bottom-nav button{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;color:var(--ap-text-soft);background:transparent}.mobile-bottom-nav button svg{width:21px;height:21px}.mobile-bottom-nav button span{max-width:100%;overflow:hidden;font-size:.67rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav button.is-active{color:var(--ap-primary);background:var(--ap-primary-soft)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:64;display:block;width:100%;height:100%;border:0;border-radius:0;background:#010f1f8f}.mobile-more-panel{position:fixed;inset:auto 12px calc(80px + env(safe-area-inset-bottom));z-index:65;display:block;max-height:min(68vh,560px);overflow:auto;padding:20px;border:1px solid var(--ap-outline);border-radius:var(--ap-radius-card);background:var(--ap-surface);box-shadow:var(--ap-overlay-shadow)}.mobile-more-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-more-heading>div{display:flex;flex-direction:column;gap:2px}.mobile-more-kicker{color:var(--ap-primary);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.mobile-more-heading>button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--ap-outline);color:var(--ap-text);background:transparent}.mobile-more-heading svg{width:18px;height:18px}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-more-grid button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--ap-outline);color:var(--ap-text-muted);text-align:left;background:var(--ap-surface-low)}.mobile-more-grid button svg{width:19px;height:19px}.mobile-more-grid button.is-active{color:var(--ap-primary);border-color:var(--ap-primary);background:var(--ap-primary-soft)}.mobile-nav-customize{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:9px 12px;border:1px solid var(--ap-outline);color:var(--ap-text);background:transparent}.mobile-nav-customize svg{width:18px;height:18px}.mobile-nav-editor>p{margin:0 0 6px;color:var(--ap-text-muted);font-size:.8rem;line-height:1.45}.mobile-nav-selection-count{display:block;margin-bottom:12px;color:var(--ap-primary);font-size:.72rem;font-weight:700}.mobile-nav-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-nav-picker button{display:grid;grid-template-columns:19px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:46px;padding:9px 10px;border:1px solid var(--ap-outline);color:var(--ap-text-muted);text-align:left;background:var(--ap-surface-low)}.mobile-nav-picker button>svg{width:18px;height:18px}.mobile-nav-picker button>svg:last-child{width:16px;height:16px;color:var(--ap-primary)}.mobile-nav-picker button.is-selected{color:var(--ap-primary);border-color:var(--ap-primary);background:var(--ap-primary-soft)}.mobile-nav-picker button:disabled{opacity:.46;cursor:not-allowed}.mobile-nav-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.mobile-nav-editor-actions button{min-height:44px}.mobile-account-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ap-outline);color:var(--ap-text-muted);font-size:.75rem}.mobile-account-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-account-row button{min-height:44px;padding:6px 12px;border:1px solid var(--ap-outline);color:var(--ap-text);background:transparent}}@media(max-width:420px){.workspace,.app-shell.no-sidebar .workspace{padding-right:12px;padding-left:12px}.quick-actions-grid{grid-template-columns:1fr}.mobile-bottom-nav button span{font-size:.62rem}}:root[data-theme=light] .privacy-tag{background:color-mix(in srgb,var(--ap-success) 12%,transparent);color:#047857;border-color:color-mix(in srgb,var(--ap-success) 25%,transparent)}:root[data-theme=light] .group-badge .coreq{background:var(--ap-primary-soft);color:var(--ap-ucr-blue);border-color:var(--ap-primary-soft)}:root[data-theme=light] .group-badge .credits{background:#f5f3ff;color:#5b21b6;border-color:#e0e7ff}:root[data-theme=light] .group-badge .count{background:color-mix(in srgb,var(--ap-success) 12%,transparent);color:#047857;border-color:color-mix(in srgb,var(--ap-success) 25%,transparent)}:root[data-theme=light] .priority-chip{background:var(--ap-danger-container);color:var(--ap-danger);border-color:var(--ap-danger-container)}:root[data-theme=light] .option-chip{border-color:var(--ap-warning);color:var(--ap-warning);background:color-mix(in srgb,var(--ap-warning) 10%,transparent)}:root[data-theme=light] .group-modality{background:var(--ap-surface-low);color:var(--ap-text-muted);border:1px solid var(--ap-outline)}:root[data-theme=light] .notes-status{color:var(--ap-text-soft);background:var(--ap-surface-low);border:1px solid var(--ap-outline)}:root[data-theme=light] .notes-save-state,:root[data-theme=light] .doc-tag{color:var(--ap-text-muted);background:var(--ap-surface-high)}:root[data-theme=light] .rubric-total{background:var(--ap-primary-soft);color:var(--ap-ucr-blue)}:root[data-theme=light] .document-type-badge{background:var(--ap-primary-soft);color:var(--ap-ucr-blue)}:root[data-theme=light] .pending-chip{background:var(--ap-danger-container);color:var(--ap-danger)}:root[data-theme=light] .chip-yes{background:color-mix(in srgb,var(--ap-success) 12%,transparent);color:#047857}:root[data-theme=light] .chip-no{background:var(--ap-danger-container);color:var(--ap-danger)}:root[data-theme=light] .chip-total{background:var(--ap-primary-soft);color:var(--ap-ucr-blue)}:root[data-theme=light] .restriccion-box span{color:#8a5a00;background:#fef3c7;border-color:#fde68a}:root[data-theme=light] .semester-chip,:root[data-theme=light] .plan-chip{background:var(--ap-surface-high);color:var(--ap-text-muted);border:1px solid var(--ap-outline)}:root[data-theme=light] .filter-badge{background:var(--ap-primary-soft);color:var(--ap-primary)}
