@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700;1,900&family=DM+Sans:wght@300;400;500;700&display=swap";:root,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg0:#0a1630;--bg1:#0f2650;--page-bg:radial-gradient(900px circle at 20% 10%, var(--bg1), var(--bg0));--card:#ffffff0f;--card2:#ffffff14;--text:#ffffffed;--muted:#ffffffb8;--primary:#fa0000;--primary2:red;--danger:red;--success:#22c55e;--border:#ffffff24;--surface-hover:#ffffff0f;--surface-muted:#ffffff0d;--field-bg:#ffffff0a;--btn-secondary-bg:#ffffff14;--row-border:#ffffff14;--header-login-bg:#0f1b33a6;--header-border:#ffffff14;--panel-bg:linear-gradient(165deg, #ffffff17, #ffffff0a);--panel-shadow:0 18px 50px #00000059}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg0:#f8fafc;--bg1:#edf2ff;--page-bg:linear-gradient(180deg, #f9fbff 0%, #eef3ff 100%);--card:#fff;--card2:#f8faff;--text:#0b1a33;--muted:#4a5b7a;--primary:#fa0000;--primary2:red;--danger:red;--success:#15803d;--border:#0b1a3324;--surface-hover:#0b1a330d;--surface-muted:#0b1a3308;--field-bg:#fff;--btn-secondary-bg:#0b1a330f;--row-border:#0b1a331a;--header-login-bg:#fffffff2;--header-border:#0b1a331a;--panel-bg:linear-gradient(165deg, #fff, #f7f9ff);--panel-shadow:0 12px 26px #0b1a3314}html,body{height:100%}body{background:var(--page-bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.cspApp{min-height:100vh}.cspHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.cspBrand{letter-spacing:.2px;align-items:center;gap:10px;font-weight:700;display:inline-flex}.cspNav{gap:14px;display:flex}.cspNavLink{color:var(--muted);border:1px solid #0000;border-radius:10px;padding:8px 10px;text-decoration:none}.cspNavLink:hover{color:var(--text);border-color:var(--border);background:var(--surface-hover)}.cspCard{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:18px}.cspCardSoft{border:1px solid var(--border);background:var(--card2);border-radius:16px;padding:18px}.cspTitle{margin:0 0 10px;font-size:22px}.cspSubtle{color:var(--muted);margin:6px 0 0}.cspInput{background:var(--field-bg);border:1px solid var(--border);color:var(--text);border-radius:12px;outline:none;padding:10px 12px}.cspTextarea{background:var(--field-bg);border:1px solid var(--border);color:var(--text);border-radius:12px;outline:none;width:100%;padding:10px 12px}.cspBtn{cursor:pointer;color:#0b1220;background:var(--primary);border:1px solid #0000;border-radius:12px;padding:10px 14px;font-weight:600}.cspBtn:hover{filter:brightness(.98)}.cspBtnSecondary{color:var(--text);background:var(--btn-secondary-bg);border-color:var(--border)}.cspBtnDanger{color:#0b1220;background:var(--danger)}.cspBtn:disabled{opacity:.5;cursor:not-allowed}.cspMessage{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:12px;margin-top:12px;padding:10px 12px}.cspMessageDanger{background:#ef44441f;border-color:#ef444480}.cspMessageWarn{background:#fbbf241f;border-color:#fbbf2473}.cspPill{border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.cspTable{border-collapse:collapse;width:100%;margin-top:12px}.cspTable th,.cspTable td{text-align:left;border-bottom:1px solid var(--row-border);padding:10px 8px}.cspTable th{color:var(--muted);font-weight:600}.cspTagOk{color:#22c55ef2}.cspTagWarn{color:#fbbf24f2}.cspTagInfo{color:#6ea8fef2}.cspBrandLink{color:inherit;text-decoration:none}.cspBrandLink:hover{color:var(--text)}.cspNavLinkAccent{border-color:color-mix(in oklab, var(--primary) 35%, transparent);background:color-mix(in oklab, var(--primary) 12%, transparent);color:var(--primary)}.cspHeaderLogin{border-bottom-color:var(--header-border);background:var(--header-login-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cspContentLogin{max-width:1100px}.cspLoginLayout{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:28px;display:grid}@media (width<=900px){.cspLoginLayout{grid-template-columns:1fr}}.cspLoginHero{padding:8px 8px 24px}.cspLoginKicker{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:0 0 8px;font-size:13px;font-weight:600}.cspLoginHeadline{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(28px,4vw,36px);line-height:1.15}.cspLoginLead{color:var(--muted);max-width:46ch;margin:0 0 16px;font-size:16px;line-height:1.55}.cspLoginBullets{color:var(--muted);margin:0 0 20px;padding-left:1.15rem;line-height:1.6}.cspLoginBullets li{margin-bottom:6px}.cspLoginHeroLinks{flex-wrap:wrap;gap:10px;display:flex}.cspBtnGhost{border-color:var(--border)}.cspLoginPanel{border:1px solid var(--border);background:var(--panel-bg);box-shadow:var(--panel-shadow);border-radius:18px;padding:22px 22px 20px}.cspTabBar{background:#0003;border:1px solid #ffffff0f;border-radius:14px;gap:8px;margin-bottom:20px;padding:4px;display:flex}.cspTab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:11px;flex:1;padding:10px 12px;font-size:14px;font-weight:600}.cspTab:hover{color:var(--text);background:#ffffff0a}.cspTabActive{color:#0b1220;background:var(--primary)}.cspLoginFormTitle{margin:0 0 8px;font-size:20px}.cspFieldLabel{color:var(--muted);font-size:13px;font-weight:600;display:block}.cspInputBlock{box-sizing:border-box;width:100%;margin-top:6px;display:block}.cspLoginHint{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.5}.cspLoginHint code{color:#ffffffd1;font-size:11px}.cspMessageOk{background:#22c55e1f;border-color:#22c55e73}.cspAuthWall{text-align:center;padding:28px 22px}.cspAuthWallTitle{margin:0;font-size:20px}.cspUserBar{border:1px solid var(--border);background:#ffffff0a;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.cspPillRole{text-transform:capitalize;color:#6ea8fef2;margin-left:8px}.cspBtnSmall{padding:8px 12px;font-size:13px}.cspThemeToggle{min-width:72px}.cspBrandLogo{object-fit:contain;flex-shrink:0;display:block}.cspBrandLogoSm{width:auto;max-width:150px;height:34px}.cspBrandLogoLg{width:auto;max-width:260px;height:72px}.cspBrandLogoHero{width:auto;max-width:min(100%,420px);height:auto;max-height:220px}.cspLoginBrand{margin-bottom:10px}.cspLoginHero{border:1px solid var(--border);background:linear-gradient(145deg, var(--card), var(--card2));border-radius:18px;min-height:420px;padding:28px;position:relative;overflow:hidden}.cspLoginHero:before,.cspLoginHero:after{content:"";background:color-mix(in oklab, var(--primary) 16%, transparent);pointer-events:none;border-radius:999px;position:absolute}.cspLoginHero:before{width:320px;height:320px;top:-160px;right:-120px}.cspLoginHero:after{width:220px;height:220px;bottom:-130px;left:-120px}.cspLoginHeadline{color:var(--primary);margin-bottom:6px}.cspLoginHeroLinks{margin-top:14px}.cspLoginIllustration{width:360px;height:220px;position:absolute;bottom:24px;right:24px}.cspLoginIllustrationImg{object-fit:contain;object-position:right bottom;filter:drop-shadow(0 14px 24px #0000002e);width:100%;height:100%}@media (width<=900px){.cspLoginHero{min-height:320px}.cspLoginIllustration{width:100%;max-width:360px;margin-top:16px;position:relative;bottom:auto;right:auto}}.cspH4{margin:0 0 10px;font-size:16px;font-weight:650}.cspCode{color:#ffffffe0;font-size:12px}.cspBadge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:650;display:inline-flex}.cspBadgeOk{color:#22c55ef2;background:#22c55e2e;border:1px solid #22c55e59}.cspBadgeMuted{color:var(--muted);border:1px solid var(--border);background:#ffffff0f}.cspRowInactive{opacity:.72}.cspRowInactive td{color:var(--muted)}.cspLinkBtn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px}.cspLinkBtn:hover{text-decoration:underline}.cspExpandBox{border:1px solid var(--border);background:#0003;border-radius:12px;max-height:220px;margin-top:10px;padding:12px 14px;overflow:auto}.cspExpandLine{color:var(--muted);margin-bottom:8px;font-size:13px;line-height:1.45}.cspDetails summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:600}.cspOutlinePreview{border:1px solid var(--border);color:var(--muted);white-space:pre-wrap;word-break:break-word;background:#00000040;border-radius:12px;max-height:200px;margin:10px 0 0;padding:12px;font-size:11px;line-height:1.45;overflow:auto}.cspCheckRow{color:var(--muted);cursor:pointer;align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.cspCheckRow input{width:16px;height:16px;accent-color:var(--primary2)}:root{--primary:#c0392b;--primary-dark:#a93226;--primary-light:#e74c3c;--accent-third:#2563eb;--accent-third-dark:#1d4ed8;--text:#1a1a1a;--muted:#888;--border:#ece8e6;--card:#fff;--bg:#fdf8f7;--bg-soft:#faf5f4;--radius-card:20px;--radius-btn:100px;--shadow-card:0 4px 24px #00000012;--shadow-float:0 8px 28px #0000001a}html[data-theme=dark]{--text:#f0e8e6;--muted:#ffdcd2a6;--border:#c8102e38;--card:#ffffff12;--bg:#180b10;--bg-soft:#ffffff0d;--shadow-card:0 4px 24px #00000059;--shadow-float:0 8px 28px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;font-weight:400}.cspApp{background:var(--bg);min-height:100vh;overflow-x:hidden}.cspContent{max-width:1180px;margin:0 auto;padding:26px 24px 48px}.cspContentHome,.cspContentLogin{max-width:100%;padding:0}.cspContentInstr{width:100%;max-width:none;margin:0;padding:0}.cspContentStudent{max-width:1120px;padding:28px 24px 56px}.cspCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.cspCardSoft{background:var(--bg-soft);border:1px solid var(--border);border-radius:14px;padding:14px}.cspInstrPage{--csp-instr-header-h:73px;--csp-side-w:248px;background:#fff;min-height:100vh;font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;display:block;position:relative;overflow-x:hidden}.cspInstrPage .cspPageTitle,.cspInstrPage .cspPageLead,.cspInstrPage .cspSectionTitle,.cspInstrPage .cspSectionDesc,.cspInstrPage .cspWorkflowHeading,.cspInstrPage .cspWorkflowKicker,.cspInstrPage .cspWorkflowDesc,.cspInstrPage .cspJumpNavLabel,.cspInstrPage .cspJumpNavLink{font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif}.cspInstrPage .cspPageTitle{letter-spacing:-.02em;font-weight:700}.cspInstrPage .cspWorkflowHeading{letter-spacing:-.01em;font-weight:700}html[data-theme=dark] .cspInstrPage{background:radial-gradient(900px 480px at 90% -10%, #c0392b52, transparent 58%), radial-gradient(640px 400px at -10% 60%, #c0392b2e, transparent 52%), var(--bg)}.cspInstrPage--navPinned{display:block}.cspInstrPage--navPinned .cspInstrDrawer{z-index:120;width:var(--csp-side-w);max-width:var(--csp-side-w);min-width:var(--csp-side-w);pointer-events:auto;border-right:1px solid var(--border);height:100dvh;max-height:100dvh;position:fixed;top:0;left:0;box-shadow:6px 0 26px #0a0e1c14;transform:none!important}.cspInstrPage--navPinned .cspInstrDrawerBackdrop{display:none!important}.cspInstrMainWrap{z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.cspInstrPage--navPinned .cspInstrMainWrap{margin-left:var(--csp-side-w)}.cspInstrMainStage{flex:1;padding:0 14px 34px}@media (width>=900px){.cspInstrMainStage{padding:0 18px 42px}}.cspInstrDrawerBackdrop{top:var(--csp-instr-header-h);z-index:104;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1a121466;border:none;margin:0;padding:0;position:fixed;bottom:0;left:0;right:0}html[data-theme=dark] .cspInstrDrawerBackdrop{background:#0000008c}.cspInstrDrawer{top:var(--csp-instr-header-h);z-index:105;width:min(var(--csp-side-w), 88vw);height:calc(100dvh - var(--csp-instr-header-h));max-height:calc(100vh - var(--csp-instr-header-h));border-right:1px solid var(--border);pointer-events:none;isolation:isolate;background:#fff;flex-direction:column;transition:transform .24s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;left:0;transform:translate(-100%);box-shadow:8px 0 32px #00000012}html[data-theme=dark] .cspInstrDrawer{background:#1c1619;border-right-color:#c8102e33;box-shadow:8px 0 32px #00000073}.cspInstrDrawerOpen{pointer-events:auto;transform:translate(0)}.cspInstrSideAccent{background:linear-gradient(90deg, var(--primary) 0%, #f1948a 50%, #c0392b59 100%);opacity:.92;flex-shrink:0;height:4px}.cspInstrSideHeader{border-bottom:1px solid var(--border);padding:16px 12px 12px;display:block;position:relative}.cspInstrSideBrand{text-align:center;min-width:0;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:flex}.cspInstrSideLogoWrap{background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:66px;height:66px;display:flex}.cspInstrSideBrandText{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.cspInstrSideBrandName{letter-spacing:-.02em;color:#1f2a44;font-size:1.06rem;font-weight:700;line-height:1.2}.cspInstrSideBrandKicker{letter-spacing:.01em;text-transform:none;color:var(--primary);opacity:.9;font-size:.78rem;font-weight:700}.cspInstrDrawerClose{border:1px solid var(--border);background:var(--bg-soft);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;transition:border-color .15s,color .15s,background .15s;display:flex;position:absolute;top:10px;right:10px}.cspInstrDrawerClose:hover{color:var(--primary);background:var(--card);border-color:#c0392b59}.cspInstrDrawerCloseSpacer{display:none}.cspInstrPinToggle{text-align:center;border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:10px 14px;font-family:inherit;font-size:.82rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:block}.cspInstrPinToggle:hover{color:var(--primary);background:var(--card);border-color:#c0392b59}.cspInstrPage--navPinned .cspInstrPinToggle{color:var(--primary);background:#c0392b14;border-color:#c0392b47}html[data-theme=dark] .cspInstrPage--navPinned .cspInstrPinToggle{background:#e74c3c1f;border-color:#e74c3c4d}html[data-theme=dark] .cspInstrDrawerClose{background:#2a2226;border-color:#ffffff1f}html[data-theme=dark] .cspInstrDrawerClose:hover{background:#352c30}.cspInstrDrawerNav{flex-direction:column;flex:1;gap:6px;padding:10px 10px 14px;display:flex;overflow-y:auto}.cspInstrNavLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 10px 8px;font-size:.72rem;font-weight:700}.cspInstrDrawerLink{color:var(--text);border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex}.cspInstrDrawerIcon{opacity:.9;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;line-height:1;display:inline-flex}.cspInstrDrawerIcon svg{width:16px;height:16px;display:block}.cspInstrDrawerLink:hover{color:var(--text);background:var(--bg-soft);border-color:#0000000a}.cspInstrDrawerLinkActive{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 6px 14px #c0392b52}html[data-theme=dark] .cspInstrDrawerLinkActive{background:var(--primary);border-color:var(--primary)}.cspInstrSideFoot{border-top:1px solid var(--border);margin-top:auto;padding:10px 10px 14px}.cspInstrSideFootLink{color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.cspInstrSideFootLink:hover{color:var(--primary);background:var(--bg-soft)}.cspInstrTopbar{z-index:110;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#fffffff0;margin-bottom:0;padding:14px 22px;position:sticky;top:0}html[data-theme=dark] .cspInstrTopbar{background:#180b10f0}.cspInstrTopbarInner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.cspInstrTopbarLeft{align-items:center;gap:12px;min-width:0;display:flex}.cspInstrHamburger{border:1px solid var(--border);background:var(--card);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.cspInstrHamburger:hover{background:var(--bg-soft);border-color:#c0392b59;box-shadow:0 2px 12px #c0392b14}.cspInstrHamburgerLines{background:var(--text);width:18px;height:2px;box-shadow:0 -6px 0 var(--text), 0 6px 0 var(--text);border-radius:1px;display:block}.cspInstrTopbarBrand{min-width:0;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.cspInstrTopbarBrandText{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;line-height:1.2;overflow:hidden}.cspInstrThemeToggle{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;transition:border-color .15s,background .15s;display:flex}.cspInstrThemeToggle:hover{background:var(--bg-soft);border-color:#c0392b59}.cspInstrUserRow{flex-shrink:0;align-items:center;gap:10px;display:flex}.cspInstrEmail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:min(240px,36vw);font-size:.84rem;overflow:hidden}.cspInstrBadge{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:linear-gradient(135deg,#c0392b24,#e74c3c1a);border:1px solid #c0392b40;border-radius:999px;padding:7px 12px;font-size:.68rem;font-weight:700}.cspStaffRoleSwitch{align-items:center;gap:8px;margin-right:4px;display:inline-flex}.cspStaffRoleSwitchLabel{color:var(--muted);white-space:nowrap;font-size:.72rem}.cspStaffRoleSelect{min-width:148px;padding:6px 10px;font-size:.82rem}.cspStaffRolesPicker{flex-wrap:wrap;gap:8px 14px;margin-top:6px;display:flex}.cspStaffRoleChip{cursor:pointer;align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.cspStaffRoleChip input{accent-color:var(--primary)}.cspInstrLogout{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:9px 18px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.cspInstrLogout:hover{color:var(--primary);background:#c0392b14;border-color:#c0392b66}.cspInstrPanel.cspCard{max-width:1180px;margin:24px auto 0;padding:28px 28px 32px;box-shadow:0 4px 28px #ff00000f,0 0 0 1px #ff190012}html[data-theme=dark] .cspInstrPanel.cspCard{box-shadow:var(--shadow-card)}.cspInstrPanel .cspPageTitle{letter-spacing:-.02em;font-size:1.45rem;font-weight:700}.cspInstrPanel .cspPageLead{font-size:15px;line-height:1.55}.cspCourseTableWrap{border:1px solid var(--border);border-radius:12px;margin-top:8px;overflow-x:auto}.cspCourseTable{border-collapse:collapse;width:100%;font-size:.9rem}.cspCourseTable th,.cspCourseTable td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.cspCourseTable th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg-soft);font-size:.72rem}.cspCourseTable tr:last-child td{border-bottom:none}.cspCourseLinkRow{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.cspCourseLinkRow:hover{box-shadow:var(--shadow-float);border-color:#c0392b59}.cspCourseLinkRow+.cspCourseLinkRow{margin-top:10px}.cspDashGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.cspDashTile{border:1px solid var(--border);background:linear-gradient(145deg,#fff 0%,#fff9f7 100%);border-radius:16px;min-height:108px;padding:20px 20px 18px;transition:border-color .2s,box-shadow .2s;box-shadow:0 2px 16px #0000000a}.cspDashTile:hover{border-color:#c0392b38;box-shadow:0 6px 24px #c0392b14}html[data-theme=dark] .cspDashTile{background:linear-gradient(145deg, #ffffff0f 0%, var(--card) 100%)}.cspDashTile strong{color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:1.35rem;font-weight:700;display:block}.cspDashTile .cspSubtle{font-size:13px;line-height:1.45}.cspDashLoading{align-items:center;gap:10px;display:inline-flex}.cspSpinner{border:2px solid color-mix(in oklab, var(--primary) 22%, var(--border));border-top-color:var(--primary);border-radius:999px;width:16px;height:16px;animation:.8s linear infinite cspSpin}@keyframes cspSpin{to{transform:rotate(360deg)}}.cspDashChartsGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.cspDashChartCard{padding:12px}.cspDashChartCard h4{margin:0 0 10px;font-size:.95rem}.cspDashChartCanvas{width:100%;height:210px}.cspDashReportList{gap:10px;display:grid}.cspDashReportItem{justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}@media (width<=720px){.cspInstrTopbar,.cspInstrMainStage{padding-left:16px;padding-right:16px}.cspInstrPanel{margin-top:18px;padding:20px 18px 24px}.cspInstrEmail{max-width:120px}}.cspHomeHeroWrap{background:radial-gradient(1200px 520px at 92% -8%,#c0392b24,#0000 55%),radial-gradient(900px 480px at -5% 45%,#c0392b14,#0000 50%),#fdf5f3;min-height:100vh;padding:0 0 60px;position:relative;overflow:hidden}html[data-theme=dark] .cspHomeHeroWrap{background:radial-gradient(1000px 520px at 88% -12%, #c0392b6b, transparent 58%), radial-gradient(720px 420px at -8% 35%, #c0392b38, transparent 52%), var(--bg)}.cspHomeBgBlob{pointer-events:none;z-index:0;border-radius:50%;position:absolute}.cspHomeBgBlob1{background:radial-gradient(circle,#e74c3c59 0%,#fdd8d08c 38%,#0000 72%);width:640px;height:640px;top:-120px;right:-100px}.cspHomeBgBlob2{background:radial-gradient(circle,#c0392b38 0%,#f9d5cf66 45%,#0000 72%);width:340px;height:340px;bottom:-160px;right:80px}.cspHomeBgBlob3{background:radial-gradient(circle,#e74c3c47 0%,#fde4de73 50%,#0000 70%);width:220px;height:220px;top:240px;left:-70px}html[data-theme=dark] .cspHomeBgBlob1{background:radial-gradient(circle,#e74c3c61 0%,#c0392b24 42%,#0000 72%)}html[data-theme=dark] .cspHomeBgBlob2,html[data-theme=dark] .cspHomeBgBlob3{background:radial-gradient(circle,#e74c3c42 0%,#c0392b1a 48%,#0000 72%)}.cspHomeNav{z-index:10;justify-content:space-between;align-items:center;padding:26px 60px;display:flex;position:relative}.cspHomeNavBrand{align-items:center;gap:14px;min-width:0;display:flex}.cspHomeLogoMark{flex-shrink:0;justify-content:center;align-items:center;display:flex}.cspHomeLogoMark .cspBrandLogoSm{object-fit:contain;width:54px;height:54px}.cspHomeNavBrandText{color:var(--text);max-width:22ch;font-size:17px;font-weight:600;line-height:1.35}.cspHomeNavLinks{align-items:center;gap:28px;display:flex}.cspHomeNavLink{color:var(--muted);cursor:pointer;font-size:13.5px;font-weight:400;text-decoration:none;transition:color .15s}.cspHomeNavLink:hover,.cspHomeNavLinkActive{color:var(--text)}.cspHomeNavCta{border-radius:var(--radius-btn);background:#1a1a1a;align-items:center;padding:9px 20px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .18s,transform .12s;display:inline-flex;color:#fff!important}.cspHomeNavCta:hover{background:#333;transform:translateY(-1px)}html[data-theme=dark] .cspHomeNavCta{background:#fff;color:#1a1a1a!important}.cspHomeNavToggle{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:border-color .15s;display:flex}.cspHomeNavToggle:hover{border-color:var(--primary)}.cspHomeGrid{z-index:5;grid-template-columns:minmax(0,1fr) minmax(380px,560px);align-items:center;gap:32px;min-height:calc(100vh - 120px);padding:16px 40px 0;display:grid;position:relative}.cspHomeLeft{padding-right:24px}.cspHomeBadge{border-radius:var(--radius-btn);color:#993c1d;letter-spacing:.06em;text-transform:uppercase;background:#fff3f1;border:1px solid #f5c4b3;align-items:center;gap:7px;margin-bottom:26px;padding:5px 13px;font-size:10.5px;font-weight:600;display:inline-flex}html[data-theme=dark] .cspHomeBadge{color:#f08070;background:#c0392b26;border-color:#c0392b59}.cspHomeBadgeDot{background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.cspHomeTitle{letter-spacing:-.025em;color:var(--text);margin-bottom:20px;font-family:Playfair Display,serif;font-size:clamp(48px,5.5vw,62px);font-weight:900;line-height:1.04}.cspHomeTitle em{color:var(--primary);font-style:italic}.cspHomeLead{color:var(--muted);max-width:44ch;margin-bottom:34px;font-size:15.5px;font-weight:300;line-height:1.75}.cspHomeCtas{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.cspHomePrimaryCta{background:var(--primary);color:#fff;border-radius:var(--radius-btn);align-items:center;gap:10px;padding:14px 28px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .18s,transform .12s,box-shadow .18s;display:inline-flex;box-shadow:0 4px 16px #c0392b4d}.cspHomePrimaryCta:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 22px #c0392b61}.cspHomeCtaArrow{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.cspHomeSecondaryCta{color:var(--muted);align-items:center;gap:4px;font-size:13.5px;font-weight:400;text-decoration:none;transition:color .15s;display:inline-flex}.cspHomeSecondaryCta:hover{color:var(--text)}.cspHomeStats{gap:36px;margin-top:44px;padding-top:24px;display:flex}.cspHomeStat strong{color:var(--text);margin-bottom:4px;font-family:Playfair Display,serif;font-size:28px;font-weight:700;line-height:1;display:block}.cspHomeStat span{color:var(--muted);letter-spacing:.02em;font-size:11.5px;font-weight:400}.cspHomeRight{flex-direction:column;justify-self:end;align-items:flex-start;gap:24px;width:100%;max-width:520px;margin-right:clamp(0px,1.4vw,18px);padding-top:20px;display:flex;position:relative;transform:none}.cspHomeProgressCard{background:var(--card);border:1px solid var(--border);width:100%;max-width:100%;box-shadow:var(--shadow-card);border-radius:26px;padding:clamp(28px,2.5vw,38px)}.cspHomeProgressCardHeader{align-items:center;gap:14px;margin-bottom:22px;display:flex}.cspHomeProgressCardIcon{background:#fff3f1;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}html[data-theme=dark] .cspHomeProgressCardIcon{background:#c0392b2e}.cspHomeProgressCardTitle{color:var(--text);margin-bottom:2px;font-size:16px;font-weight:600;line-height:1.3}.cspHomeProgressCardSub{color:var(--muted);font-size:13px}.cspHomeProgressMeta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.cspHomeProgressMeta strong{color:var(--text);font-weight:600}.cspHomeProgressRail{border-radius:var(--radius-btn);background:#f5f0ee;height:9px;margin-bottom:20px;overflow:hidden}html[data-theme=dark] .cspHomeProgressRail{background:#ffffff1a}.cspHomeProgressFill{background:linear-gradient(90deg, var(--primary), var(--primary-light));border-radius:var(--radius-btn);width:66%;height:100%}.cspHomeCheckList{flex-direction:column;gap:10px;list-style:none;display:flex}.cspHomeCheckItem{color:var(--muted);background:#faf8f7;border-radius:13px;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;display:flex}html[data-theme=dark] .cspHomeCheckItem{background:#ffffff0d}.cspHomeCheckItemDone{color:#bbb;text-decoration:line-through}.cspHomeCheckIcon{background:var(--card);border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.cspHomeCheckIconDone{background:var(--primary);border-color:var(--primary);color:#fff}.cspHomeFloatCard{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:20px;padding:22px 26px}.cspHomeFloatCardTop{align-self:flex-end;min-width:clamp(210px,22vw,264px)}.cspHomeFloatCardBottom{align-self:flex-start;min-width:clamp(190px,19vw,236px)}@media (width>=1280px){.cspHomeGrid{grid-template-columns:minmax(0,1fr) minmax(460px,620px);padding:16px 48px 0 60px}.cspHomeRight{margin-right:0;transform:translate(-120px)}}.cspHomeFloatLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11.5px}.cspHomeFloatValue{color:var(--text);font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1;display:block}.cspHomeFloatAccent{color:var(--primary)}.cspHomeFloatTrend{color:#2e7d32;background:#e8f5e9;border-radius:8px;margin-top:7px;padding:4px 9px;font-size:12.5px;display:inline-block}html[data-theme=dark] .cspHomeFloatTrend{color:#81c784;background:#2e7d3233}.cspHomeFloatStars{color:#e6a817;letter-spacing:2px;margin-bottom:6px;font-size:20px}.cspHomeFloatStarLabel{color:var(--muted);font-size:13px}@media (width<=1024px){.cspHomeNav,.cspHomeGrid{padding-left:32px;padding-right:32px}.cspHomeGrid{grid-template-columns:minmax(0,1fr) minmax(380px,500px);gap:28px}.cspHomeRight{max-width:460px;margin-right:0;transform:none}}@media (width<=840px){.cspHomeNav{padding:20px}.cspHomeGrid{grid-template-columns:1fr;gap:36px;min-height:auto;padding:20px 20px 40px}.cspHomeLeft{padding-right:0}.cspHomeRight{align-items:stretch;margin-right:0;padding-top:0;transform:none}.cspHomeProgressCard{max-width:100%}.cspHomeFloatCardTop,.cspHomeFloatCardBottom{align-self:stretch}.cspHomeBgBlob1{width:400px;height:400px;top:-80px;right:-160px}.cspHomeBgBlob2{width:240px;height:240px;right:20px}}@media (width<=540px){.cspHomeNav{flex-wrap:wrap;row-gap:12px;padding-left:16px;padding-right:16px}.cspHomeNavBrandText{max-width:min(22ch,70vw);font-size:14px}.cspHomeNavLinks{flex-wrap:wrap;justify-content:flex-end;gap:10px}.cspHomeNavLink{display:none}.cspHomeTitle{font-size:clamp(38px,12vw,52px)}.cspHomeStats{flex-wrap:wrap;gap:22px}.cspHomeLogoMark .cspBrandLogoSm{width:58px;height:58px}}@media (width<=380px){.cspHomeNavCta{padding:8px 14px;font-size:12.5px}.cspHomeNavToggle{width:32px;height:32px}}.cspHeader{background:color-mix(in oklab, var(--card) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;border-bottom:1px solid var(--border);padding:12px 20px;position:sticky;top:0}.cspBrand{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.cspBrandLogo{object-fit:contain;border-radius:8px}.cspBrandLogoSm{width:26px;height:26px}.cspBrandLogoLg{width:120px;height:auto}.cspBrandLink{text-decoration:none}.cspLoginShell{grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.cspLoginThemeToggle{top:calc(22px + env(safe-area-inset-top,0px));right:calc(22px + env(safe-area-inset-right,0px));z-index:30;border:1px solid var(--border);background:color-mix(in oklab, var(--card) 88%, transparent);width:42px;height:42px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:border-color .15s,background .15s,transform .12s;display:flex;position:absolute}.cspLoginThemeToggle:hover{border-color:color-mix(in oklab, var(--primary) 40%, var(--border));transform:translateY(-1px)}.cspLoginLeft{background:radial-gradient(780px 420px at 92% -18%,#c0392b3d,#0000 52%),radial-gradient(560px 360px at -8% 88%,#e74c3c29,#0000 50%),#fdf5f3;flex-direction:column;justify-content:space-between;padding:52px 48px;display:flex;position:relative;overflow:hidden}html[data-theme=dark] .cspLoginLeft{background:radial-gradient(700px 400px at 90% -15%,#e74c3c73,#0000 55%),radial-gradient(520px 320px at -10% 90%,#c0392b42,#0000 50%),#1a0d10}.cspLoginLeftBlob{pointer-events:none;z-index:0;border-radius:50%;position:absolute}.cspLoginLeftBlob1{background:radial-gradient(circle,#e74c3c6b 0%,#fdc8be80 38%,#0000 70%);width:520px;height:520px;top:-200px;right:-180px}.cspLoginLeftBlob2{background:radial-gradient(circle,#c0392b4d 0%,#f9d5cf73 45%,#0000 72%);width:320px;height:320px;bottom:-120px;left:-100px}html[data-theme=dark] .cspLoginLeftBlob1{background:radial-gradient(circle,#e74c3c5c 0%,#c0392b1f 45%,#0000 72%)}html[data-theme=dark] .cspLoginLeftBlob2{background:radial-gradient(circle,#e74c3c3d 0%,#c0392b14 48%,#0000 72%)}.cspLoginLeftTop{z-index:2;position:relative}.cspLoginBrand{align-items:center;gap:14px;margin-bottom:48px;display:flex}.cspLoginLogoMark{flex-shrink:0;justify-content:center;align-items:center;display:flex}.cspLoginLogoMark .cspBrandLogoSm{object-fit:contain;width:64px;height:64px}.cspLoginBrandText{color:var(--text);font-size:20px;font-weight:600;line-height:1.35}.cspLoginBadge{color:#993c1d;letter-spacing:.06em;text-transform:uppercase;background:#fff3f1;border:1px solid #f5c4b3;border-radius:100px;align-items:center;gap:6px;margin-bottom:22px;padding:4px 12px;font-size:10px;font-weight:600;display:inline-flex}html[data-theme=dark] .cspLoginBadge{color:#f08070;background:#c0392b26;border-color:#c0392b59}.cspLoginBadgeDot{background:#c0392b;border-radius:50%;flex-shrink:0;width:5px;height:5px}.cspLoginHeroTitle{letter-spacing:-.025em;color:var(--text);margin-bottom:16px;font-family:Playfair Display,serif;font-size:clamp(36px,3.8vw,60px);font-weight:900;line-height:1.05}.cspLoginHeroTitle em{color:#c0392b;font-style:italic}.cspLoginHeroLead{color:var(--muted);max-width:36ch;font-size:20px;font-weight:300;line-height:1.75}.cspLoginHeroStats{z-index:2;gap:28px;padding-top:20px;display:flex;position:relative}.cspLoginHeroStat strong{color:var(--text);margin-bottom:3px;font-family:Playfair Display,serif;font-size:20px;font-weight:700;line-height:1;display:block}.cspLoginHeroStat span{color:var(--muted);letter-spacing:.02em;font-size:11px}.cspLoginRight{background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:52px 48px;display:flex}html[data-theme=dark] .cspLoginRight{background:#100609}.cspLoginRightInner{flex-direction:column;flex-shrink:0;align-items:stretch;width:min(500px,100%);display:flex}.cspLoginHomeBtn{border:1px solid color-mix(in oklab, var(--primary) 55%, transparent);background:color-mix(in oklab, var(--primary) 10%, transparent);width:fit-content;max-width:100%;color:var(--primary);box-sizing:border-box;border-radius:999px;justify-content:center;align-self:center;align-items:center;margin:0 0 20px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .12s;display:flex}.cspLoginHomeBtn:hover{background:color-mix(in oklab, var(--primary) 18%, transparent);border-color:var(--primary);color:var(--primary-dark,#a93226);transform:translateY(-1px)}.cspLoginRightInner .cspLoginFormTitle{color:var(--text);letter-spacing:-.02em;text-align:center;margin:0 0 12px;font-family:Playfair Display,serif;font-size:clamp(32px,3.8vw,42px);font-weight:700}.cspLoginRightInner .cspLoginFormSub{color:var(--muted);text-align:center;margin-bottom:28px;font-size:17px;line-height:1.55}.cspLoginForm{flex-direction:column;gap:18px;width:100%;max-width:min(420px,100%);margin:0 auto 24px;display:flex}.cspLoginFieldLabel{color:var(--text);letter-spacing:.01em;text-align:left;flex-direction:column;gap:8px;width:100%;font-size:16px;font-weight:600;display:flex}.cspLoginInput{max-width:100%;background:#faf8f7!important;border-color:#ece8e6!important;border-radius:12px!important;width:100%!important;min-height:52px!important;font-size:17px!important;transition:border-color .18s,box-shadow .18s!important}html[data-theme=dark] .cspLoginInput{background:#ffffff0f!important;border-color:#ffffff1a!important}.cspLoginInput:focus{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b1f!important}.cspLoginPasswordBlock{flex-direction:column;gap:0;display:flex}.cspLoginForgot{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-family:inherit;font-size:15px;text-decoration:underline;transition:color .15s}.cspLoginForgot:hover{color:var(--text)}.cspLoginForgotAfter{text-align:center;width:100%;margin:2px 0 0;text-decoration:underline;display:block}.cspLoginPrimaryBtn{letter-spacing:.01em;align-self:center;max-width:min(420px,100%);height:54px;margin:6px auto 0;width:100%!important;min-width:unset!important;border-radius:12px!important;font-size:17px!important;font-weight:600!important}.cspLoginDivider{width:100%;max-width:min(420px,100%);color:var(--muted);align-items:center;gap:10px;margin:0 auto 16px;font-size:15px;display:flex}.cspLoginDivider:before,.cspLoginDivider:after{content:"";background:var(--border);flex:1;height:1px}.cspLoginGoogleWrap{justify-content:center;width:100%;max-width:min(420px,100%);margin:0 auto;display:flex;overflow:hidden}.cspLoginGoogleWrap iframe{max-width:100%!important}.cspGoogleSignInRoot{flex-direction:column;align-items:center;width:100%;display:flex}.cspLoginError{max-width:min(420px,100%);font-size:14px;margin-left:auto!important;margin-right:auto!important}#google-signin-holder{justify-content:center;max-width:100%;min-height:48px;display:flex}@media (width<=860px){.cspLoginShell{grid-template-columns:1fr;min-height:100dvh}.cspLoginThemeToggle{top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px))}.cspLoginLeft{min-height:auto;padding:52px 20px 28px}.cspLoginLeftBlob1{width:300px;height:300px;top:-120px;right:-100px}.cspLoginLeftBlob2{width:180px;height:180px}.cspLoginHeroTitle{font-size:clamp(22px,10vw,34px)}.cspLoginBrand{margin-bottom:28px}.cspLoginHeroStats{gap:20px}.cspLoginRight{padding:24px 20px max(40px, env(safe-area-inset-bottom,0px));justify-content:flex-start;align-items:center}.cspLoginHeroLead{max-width:none}}@media (width<=480px){.cspLoginLeft,.cspLoginRight{padding-left:16px;padding-right:16px}.cspLoginLeft{padding-top:48px;padding-bottom:24px}.cspLoginRight{padding-top:20px}.cspLoginLogoMark .cspBrandLogoSm{width:48px;height:48px}.cspLoginBrandText{font-size:13px}.cspLoginRightInner .cspLoginFormTitle{font-size:clamp(26px,8vw,34px)}.cspLoginRightInner .cspLoginFormSub{margin-bottom:20px;font-size:15px}.cspLoginFieldLabel{font-size:15px}.cspLoginInput{min-height:48px!important;font-size:16px!important}.cspLoginPrimaryBtn{height:50px;font-size:16px!important}}@media (width<=360px){.cspLoginHeroTitle{font-size:clamp(20px,9vw,30px)}.cspLoginBrand{gap:10px;margin-bottom:24px}}.cspLoginSubhead{color:var(--muted);margin-bottom:20px;font-size:14px}.cspLoginKicker{border:1px solid var(--border);border-radius:var(--radius-btn);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;padding:4px 11px;font-size:10.5px;font-weight:600;display:inline-block}.cspNav{flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.cspNavLink{color:var(--muted);border-radius:10px;padding:8px 13px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.cspNavLink:hover{color:var(--text);background:#0000000a}.cspNavLinkAccent{color:var(--primary)!important;background:color-mix(in oklab, var(--primary) 12%, transparent)!important}.cspInput{border:1px solid var(--border);background:var(--card);min-height:42px;color:var(--text);border-radius:12px;outline:none;padding:9px 13px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s;display:block}.cspInput:focus{border-color:color-mix(in oklab, var(--primary) 45%, transparent);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 14%, transparent)}.cspInputBlock{width:100%}.cspTextarea{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);resize:vertical;border-radius:12px;outline:none;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s;display:block}.cspTextarea:focus{border-color:color-mix(in oklab, var(--primary) 45%, transparent);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 14%, transparent)}.cspFieldLabel{color:var(--text);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.cspBtn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-width:100px;min-height:42px;padding:9px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s,transform .12s,box-shadow .18s;display:inline-flex;box-shadow:0 2px 8px #d4200c33}.cspBtn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #c0392b47}.cspBtn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.cspBtnSecondary{background:var(--primary);color:#fff;box-shadow:none}.cspBtnSecondary:hover:not(:disabled){background:var(--primary-dark);box-shadow:none}.cspBtnDanger{color:#c0392b;box-shadow:none;background:#fee2e2}.cspBtnDanger:hover:not(:disabled){background:#fecaca}.cspBtnSmall{min-width:64px;min-height:32px;padding:5px 12px;font-size:12px}.cspUserBar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cspAuthWall{text-align:center;max-width:380px;margin:60px auto}.cspAuthWallTitle{margin-bottom:8px;font-size:1.2rem;font-weight:700}.cspPageHeader{margin-bottom:4px}.cspPageTitle{letter-spacing:-.02em;color:var(--text);margin-bottom:6px;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;line-height:1.2}.cspPageLead{max-width:64ch;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.cspSection{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:1.2rem}.cspPageHeader+.cspSection{border-top:none;margin-top:1rem;padding-top:0}.cspSectionTitle{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.75rem;font-weight:700}.cspSectionDesc{max-width:65ch;color:var(--muted);margin:-4px 0 12px;font-size:13.5px;line-height:1.45}.cspRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cspSubtle{color:var(--muted);font-size:13.5px}.cspPill{border-radius:var(--radius-btn);border:1px solid var(--border);color:var(--text);background:var(--bg-soft);align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.cspPillRole{color:var(--primary);background:color-mix(in oklab, var(--primary) 12%, transparent);border-color:color-mix(in oklab, var(--primary) 28%, transparent)}.cspPillOk{color:#047857;background:color-mix(in oklab, #059669 12%, var(--bg-soft));border-color:color-mix(in oklab, #059669 35%, var(--border))}.cspMessage{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 14px;font-size:13.5px}.cspMessageDanger{color:#c0392b;background:#fef2f2;border-color:#fca5a5}.cspMessageOk{color:#15803d;background:#f0fdf4;border-color:#86efac}.cspCalloutWarning{color:#78350f;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fcd34d;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex;box-shadow:0 1px #b453090f}.cspCalloutWarningIcon{color:#d97706;flex-shrink:0;width:22px;height:22px;margin-top:1px}.cspCalloutWarningBody{min-width:0}.cspCalloutWarningTitle{letter-spacing:.02em;text-transform:uppercase;color:#b45309;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.cspCalloutWarningText{color:#78350f;margin:0;font-size:13.5px;line-height:1.5}.cspCalloutWarningText code{color:#92400e;background:#b453091f;border:1px solid #b4530933;border-radius:4px;padding:1px 5px;font-size:.9em}.cspGlobalMessages{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:min(440px,100vw - 28px);display:flex;position:fixed;top:14px;right:14px}.cspGlobalMessages .cspMessage{pointer-events:auto}.cspBtnActive{border-color:color-mix(in oklab, var(--accent-third) 42%, var(--border));color:var(--accent-third);background:color-mix(in oklab, var(--accent-third) 12%, var(--card))}.cspAcademicTabsWrap{border:1px solid var(--border);background:color-mix(in oklab, var(--bg-soft) 92%, var(--card));border-radius:14px;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:10px 0 14px;padding:10px;display:grid}.cspAcademicTabBtn{min-height:46px;color:var(--subtle);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:12px 14px;font-size:14px;font-weight:700;transition:all .2s}.cspAcademicTabBtn:hover{color:var(--text);background:color-mix(in oklab, var(--card) 84%, transparent)}.cspAcademicTabBtnActive{color:#fff;border-color:var(--accent-third);background:var(--accent-third)}.cspBtnThird{background:var(--accent-third);border-color:var(--accent-third);color:#fff}.cspBtnThird:hover:not(:disabled){background:var(--accent-third-dark);border-color:var(--accent-third-dark)}.cspBtnImport{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border:1px solid color-mix(in oklab, var(--primary) 65%, #fff);box-shadow:0 8px 20px #c0392b47}.cspBtnImport:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-dark) 0%, #7f1d1d 100%);box-shadow:0 10px 24px #c0392b57}.cspImportFileInput{color:var(--muted);background:color-mix(in oklab, var(--card) 88%, var(--bg-soft));border:1px solid var(--border);padding:6px 10px;font-size:13px}.cspImportFileInput::file-selector-button{border:1px solid color-mix(in oklab, var(--accent-third) 38%, var(--border));background:color-mix(in oklab, var(--accent-third) 14%, var(--card));color:var(--accent-third-dark);cursor:pointer;border-radius:10px;margin-right:10px;padding:8px 14px;font-weight:700;transition:background .16s,transform .12s}.cspImportFileInput:hover::file-selector-button{background:color-mix(in oklab, var(--accent-third) 22%, var(--card));transform:translateY(-1px)}.cspSemesterGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.cspSemesterCard{border:1px solid var(--border);border-radius:12px;padding:12px}.cspFormStack{flex-direction:column;gap:12px;display:flex}.cspFormActions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.cspSection .cspAcademicTabsWrap{margin:4px 0 16px}.cspSection h4{margin:12px 0 10px;font-size:1rem;line-height:1.35}.cspSection h4:first-of-type{margin-top:2px}.cspSection .cspFieldGrid{margin-top:4px;margin-bottom:12px}.cspSection .cspFormActions{margin-top:8px;margin-bottom:10px}.cspSection .cspFieldLabel+.cspFormActions,.cspSection .cspCloVersionsScroll{margin-top:10px}.cspSection .cspCloVersionsScroll+.cspFormActions{margin-top:12px}.cspSection .cspRule{margin:18px 0}.cspFieldGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:flex-end;gap:12px 14px;display:grid}.cspFieldGrid .cspFieldLabel{margin:0}.cspFieldFull{grid-column:1/-1}.cspStaffDisplayLayout{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.cspStaffFiltersCard,.cspStaffBulkPanel{border:1px solid var(--border);background:color-mix(in oklab, var(--card) 96%, var(--bg-soft));border-radius:12px;padding:12px 14px}.cspStaffBulkPanel{border-style:dashed}.cspStaffBulkPanelActive{border-style:solid;border-color:color-mix(in oklab, var(--accent) 35%, var(--border));background:color-mix(in oklab, var(--accent) 5%, var(--card))}.cspStaffFiltersHead,.cspStaffBulkPanelHead,.cspStaffListToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.cspStaffFiltersHead{margin-bottom:10px}.cspStaffBulkPanelHead{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.cspStaffBulkPanelTitle{flex-direction:column;gap:2px;display:flex}.cspStaffSelectAll{color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:13px;display:inline-flex}.cspStaffResultPill{letter-spacing:.02em;color:var(--accent-third-dark);background:color-mix(in oklab, var(--accent-third) 14%, var(--card));border:1px solid color-mix(in oklab, var(--accent-third) 30%, var(--border));white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.cspStaffFiltersGrid{margin:0}.cspStaffBulkGrid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px 12px;display:grid}.cspStaffBulkButtons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cspStaffBulkNote{margin:10px 0 0;font-size:12px;line-height:1.45}.cspStaffListToolbar{padding-top:2px}.cspStaffListToolbarLeft{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cspStaffViewToggle{flex-wrap:wrap;gap:6px;display:inline-flex}.cspStaffPerPage{min-width:96px;margin:0}.cspStaffMemberCell{min-width:220px}.cspStaffEmailCell{color:var(--text-muted);word-break:break-word;margin-top:2px;font-size:12px;line-height:1.35}@media (width<=860px){.cspStaffBulkGrid{grid-template-columns:1fr}.cspStaffBulkButtons{width:100%}}.cspCourseFormCard{border:1px solid var(--border);background:color-mix(in oklab, var(--card) 94%, var(--bg-soft));border-radius:14px;margin-top:10px;padding:14px}.cspCourseFormHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.cspCourseSemesterPill{letter-spacing:.02em;color:var(--accent-third-dark);background:color-mix(in oklab, var(--accent-third) 16%, var(--card));border:1px solid color-mix(in oklab, var(--accent-third) 35%, var(--border));border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.cspRule{border:none;border-top:1px solid var(--border);margin:14px 0}.cspCode{border:1px solid var(--border);background:var(--bg-soft);white-space:pre;border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow:auto}.cspTable{border-collapse:collapse;width:100%;font-size:13.5px}.cspTable th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:700}.cspTable td{border-bottom:1px solid var(--border);padding:9px 12px}.cspTable tr:last-child td{border-bottom:none}.cspTable tr.cspTableRowSelected td{background:color-mix(in srgb, var(--accent) 8%, transparent)}.cspCourseReadinessList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cspCourseReadinessList li{border:1px solid var(--border);background:var(--card);border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.cspCourseReadinessOk .cspCourseReadinessIcon{color:#15803d;font-weight:700}.cspCourseReadinessPending .cspCourseReadinessIcon{color:var(--muted)}.cspCourseReadinessIcon{text-align:center;flex-shrink:0;width:1.25rem;font-size:14px;line-height:1.4}.cspSurveyPublishPreview{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:14px}.cspSurveyPublishActions{border:2px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--card))}.cspTabBar{background:var(--bg-soft);border-radius:12px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.cspTab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:10px;flex:1;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.cspTabActive{background:var(--card);color:var(--text)}.cspDetailsBox{border:1px solid var(--border);background:var(--bg-soft);border-radius:13px;overflow:hidden}.cspDetailsBox summary{cursor:pointer;padding:11px 14px;font-size:13.5px;font-weight:600;list-style:none}.cspDetailsBox summary::-webkit-details-marker{display:none}.cspDetailsBox .cspDetailsInner{border-top:1px solid var(--border);padding:14px}.cspDetailsProminent summary{font-weight:700}.cspCourseList{flex-direction:column;gap:7px;list-style:none;display:flex}.cspCourseList li{border:1px solid var(--border);background:color-mix(in oklab, var(--bg-soft) 60%, transparent);border-radius:13px;padding:11px 14px}.cspStatGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px;display:grid}.cspStatTile{border-radius:13px;padding:12px 14px}.cspInput[type=file]{cursor:pointer;padding:8px 10px}.cspCloFileField{flex-direction:column;gap:8px;display:flex;position:relative}.cspCloFileFieldLabel{margin-bottom:0;display:block}.cspCloFileRow{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.cspCloFileInputNative{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cspCloFileShell{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:14px;flex:1;align-items:center;gap:12px;min-width:min(100%,240px);padding:10px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.cspCloFileShell:hover{border-color:color-mix(in oklab, var(--primary) 38%, var(--border));box-shadow:0 2px 14px color-mix(in oklab, var(--primary) 10%, transparent)}.cspCloFileShell:focus-within{outline:2px solid color-mix(in oklab, var(--primary) 50%, transparent);outline-offset:2px}.cspCloFileBrowse{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.cspCloFileShell:hover .cspCloFileBrowse{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));background:color-mix(in oklab, var(--primary) 9%, var(--card))}.cspCloFileNameText{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;font-weight:500;overflow:hidden}.cspCloFileNameText--empty{color:var(--muted);font-style:italic;font-weight:400}.cspCloFileClear.cspBtn{align-self:center;padding:8px 14px;font-size:13px}.cspCloFileMeta{color:var(--muted);margin:0;font-size:12.5px}.cspCloFileHint{margin:0;font-size:12.5px}.cspCloList{flex-direction:column;gap:12px;margin-bottom:4px;display:flex}.cspCloRow{border-radius:14px;padding:13px 15px}.cspCloRowToolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.cspCloRowLabel{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.cspCloRowField{margin:0}.cspCloRowField .cspTextarea{margin-top:6px}.cspCloListDisabled{opacity:.5;pointer-events:none}.cspCloListScroll{scrollbar-gutter:stable;max-height:min(58vh,560px);margin-bottom:4px;padding-right:6px;overflow-y:auto}.cspCloList--importInline{max-height:min(42vh,420px)}.cspCloVersionsScroll{border:1px solid var(--border);border-radius:12px;max-height:min(45vh,420px);margin-top:4px;overflow:auto}.cspCloVersionsScroll .cspTable{margin-top:0!important}.cspCloExpandScroll{max-height:min(35vh,320px);overflow-y:auto}.cspCloPage{scroll-margin-top:12px}.cspCloWizardNav{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px;padding:12px 14px;display:flex}.cspCloWizardNavBtn{border-radius:var(--radius-btn);border:1px solid var(--border);color:var(--text);background:color-mix(in oklab, var(--card) 85%, transparent);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.cspCloWizardNavBtn:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));background:color-mix(in oklab, var(--primary) 10%, var(--card))}.cspCloWizardNavBtnActive{border-color:color-mix(in oklab, var(--primary) 55%, var(--border));background:color-mix(in oklab, var(--primary) 16%, var(--card));color:var(--text)}.cspCloWizardFooter{z-index:3;border:1px solid var(--border);box-shadow:0 -6px 24px color-mix(in oklab, var(--text) 6%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:flex;position:sticky;bottom:0}.cspCloImportPanel{border:1px solid var(--border);background:color-mix(in oklab, var(--card) 92%, var(--bg-soft));border-radius:14px;margin-top:16px;padding:14px 16px}.cspCloImportPanelTitle{color:var(--text);letter-spacing:-.02em;margin:0 0 6px;font-size:.95rem;font-weight:700}.cspCloImportPanelDesc{margin:0 0 12px;font-size:13px;line-height:1.45}.cspCloReviewDl{grid-template-columns:1fr;gap:10px 16px;margin:0;display:grid}@media (width>=520px){.cspCloReviewDl{grid-template-columns:repeat(2,minmax(0,1fr))}}.cspCloReviewDl>div{margin:0}.cspCloReviewDl dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,var(--subtle));margin:0 0 2px;font-size:11px;font-weight:700}.cspCloReviewDl dd{color:var(--text);word-break:break-word;margin:0;font-size:15px;font-weight:600}.cspCloImportPanel--saved{border-color:color-mix(in oklab, var(--primary) 28%, var(--border));background:color-mix(in oklab, var(--primary) 7%, var(--card))}html[data-theme=dark] .cspCloImportPanel--saved{background:color-mix(in oklab, var(--primary) 14%, var(--card))}.cspCloVersionPill{background:color-mix(in oklab, var(--primary) 14%, transparent);color:var(--primary);border-radius:8px;padding:2px 8px;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:12px;font-weight:700;display:inline-block}.cspCloImportList--compact{max-height:min(32vh,280px)}.cspCloImportActions{flex-wrap:wrap;gap:10px;margin-top:4px}.cspCloImportList{scrollbar-gutter:stable;flex-direction:column;gap:10px;max-height:min(42vh,420px);margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.cspCloImportListItem{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;line-height:1.45;display:flex}.cspCloImportListNum{background:color-mix(in oklab, var(--primary) 16%, transparent);min-width:26px;height:26px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.cspCloImportListText{white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.cspCloPdfFrameWrap{border:1px solid var(--border);background:#3a3d40;border-radius:12px;min-height:min(52vh,560px);margin-top:4px;overflow:hidden}.cspCloPdfFrame{background:#525659;border:none;width:100%;height:min(52vh,560px);min-height:min(52vh,560px);display:block}html{scroll-behavior:smooth}.cspJumpNav{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:6px;padding:12px 14px;display:flex}.cspJumpNavLabel{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px;font-size:11px;font-weight:700}.cspJumpNavLink{border-radius:var(--radius-btn);border:1px solid var(--border);color:var(--text);background:color-mix(in oklab, var(--card) 85%, transparent);align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.cspJumpNavLink:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));background:color-mix(in oklab, var(--primary) 10%, var(--card))}.cspJumpNavNum{background:color-mix(in oklab, var(--primary) 18%, transparent);min-width:20px;height:20px;color:var(--primary);border-radius:7px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.cspWorkflowStep{border-radius:0}.cspJumpNav+.cspWorkflowStep,.cspCloWizardNav+.cspWorkflowStep{border-top:none;margin-top:.7rem;padding-top:0}.cspWorkflowStepHead{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.cspWorkflowBadge{background:color-mix(in oklab, var(--primary) 18%, transparent);width:36px;height:36px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;line-height:1;display:flex}.cspWorkflowStepIntro{flex:1;min-width:0}.cspWorkflowKicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10.5px;font-weight:700}.cspWorkflowHeading{letter-spacing:-.02em;color:var(--text);margin-bottom:7px;font-size:1.1rem;font-weight:700;line-height:1.25}.cspWorkflowDesc{max-width:62ch;color:var(--muted);margin:0;font-size:13.5px;line-height:1.45}.cspWorkflowBody{padding-left:50px}.cspWorkflowHint{border:1px dashed var(--border);color:var(--muted);border-radius:12px;margin-bottom:12px;padding:10px 12px;font-size:13.5px}.cspWorkflowPrimaryActions{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.cspWorkflowMessage{margin-top:16px}.cspExpandBox{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:12px}.cspExpandLine{border-bottom:1px solid var(--border);color:var(--text);padding:6px 0;font-size:13px}.cspExpandLine:last-child{border-bottom:none}.cspLinkBtn{cursor:pointer;color:var(--primary);background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:12px}.cspStudentDash{flex-direction:column;gap:18px;display:flex}.cspStudentTopRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cspStudentPillTabs{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.cspStudentPillTab{min-width:108px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.cspStudentPillTab:hover{color:var(--text)}.cspStudentPillTabActive{background:var(--primary);color:#fff;box-shadow:0 6px 18px color-mix(in oklab, var(--primary) 35%, transparent)}.cspStudentTermBadge{background:var(--card);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.cspStudentTermDot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px}.cspStudentHero{color:#fff;box-shadow:0 14px 36px color-mix(in oklab, var(--primary) 28%, transparent);background:linear-gradient(135deg,#b91c1c 0%,#c0392b 42%,#dc2626 100%);border-radius:22px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px 20px;padding:22px 24px;display:grid}.cspStudentHeroAvatar{background:#ffffff29;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;font-weight:800;display:inline-flex}.cspStudentHeroMeta{min-width:0}.cspStudentHeroName{margin:0;font-size:22px;font-weight:700;line-height:1.2}.cspStudentHeroEmail{color:#ffffffe0;margin:4px 0 0;font-size:14px}.cspStudentHeroIdPill{white-space:nowrap;background:#0000002e;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.cspStudentHeroIdIcon{letter-spacing:.04em;background:#ffffff24;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:inline-flex}.cspStudentHeroLogout{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.cspStudentHeroLogout:hover{background:#ffffff38}.cspStudentStatsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.cspStudentStatCard{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:18px;padding:18px 20px}.cspStudentStatValue{color:var(--text);font-size:34px;font-weight:800;line-height:1}.cspStudentStatLabel{color:var(--text);margin-top:8px;font-size:14px;font-weight:700}.cspStudentStatHint{color:var(--muted);margin-top:4px;font-size:13px}.cspStudentMainCard{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:22px;padding:22px 24px 24px}.cspStudentPanel+.cspStudentPanel{border-top:1px solid var(--border);margin-top:22px;padding-top:22px}.cspStudentPanelHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.cspStudentPanelTitle{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:800}.cspStudentPanelLead{color:var(--muted);max-width:52ch;margin:6px 0 0;font-size:14px}.cspStudentLinkedBadge,.cspStudentCourseCountBadge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.cspStudentLinkedBadge{background:color-mix(in oklab, #22c55e 14%, var(--card));color:#15803d;border:1px solid color-mix(in oklab, #22c55e 35%, var(--border))}.cspStudentCourseCountBadge{background:color-mix(in oklab, var(--primary) 12%, var(--card));color:var(--primary);border:1px solid color-mix(in oklab, var(--primary) 28%, var(--border))}.cspStudentProfileRow{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.cspStudentNumberLockNote{margin:10px 0 0}.cspSurveyUnlockHint{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.cspSurveyStepPanelLocked{opacity:.72;pointer-events:none}.cspInstructorAccessCodeCard{background:#fff5f5;border:1px solid #dc262633}.cspInstructorAccessCodeValue{letter-spacing:.12em;color:var(--accent,#dc2626);font-family:ui-monospace,monospace;font-size:1.5rem;font-weight:700}.cspTableActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cspStudentNumberInput{background:var(--bg-soft)}.cspStudentSaveBtn{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.cspStudentCourseList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cspStudentCourseRow{border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;text-align:left;border-radius:16px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.cspStudentCourseRow:hover{border-color:color-mix(in oklab, var(--primary) 35%, var(--border));transform:translateY(-1px);box-shadow:0 8px 20px #0000000f}.cspStudentCourseIcon{background:color-mix(in oklab, var(--primary) 12%, var(--card));width:40px;height:40px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.cspStudentCourseText{flex-direction:column;gap:2px;min-width:0;display:flex}.cspStudentCourseCode{color:var(--text);font-size:15px;font-weight:700}.cspStudentCourseName{color:var(--muted);font-size:13px}.cspStudentCourseSem{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.cspStudentCourseChevron{color:var(--muted);font-size:18px}.cspStudentCourseRowCompleted{opacity:.92;background:color-mix(in oklab, var(--success,#059669) 6%, var(--bg-soft))}.cspStudentCourseRowCompleted:hover{border-color:color-mix(in oklab, var(--success,#059669) 28%, var(--border))}.cspStudentCourseRowActive{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));box-shadow:0 0 0 2px color-mix(in oklab, var(--primary) 18%, transparent)}.cspStudentSurveyCoursePick{flex-direction:column;gap:18px;margin-bottom:16px;display:flex}.cspStudentSurveyCourseGroup+.cspStudentSurveyCourseGroup,.cspStudentSurveyCourseGroupCompleted{padding-top:4px}.cspStudentSurveyCourseGroupTitle{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.cspStudentSurveyCourseGroupCompleted .cspStudentSurveyCourseGroupTitle{color:color-mix(in oklab, var(--success,#059669) 70%, var(--muted))}.cspStudentCourseListCompact{gap:8px}.cspStudentCourseListCompact .cspStudentCourseRow{padding:12px 14px}.cspStudentAllSurveysDoneNote{margin:0 0 4px}.cspStudentSurveyAccess{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.cspStudentSurveyAccess .cspFieldLabel{margin:0}.cspStudentSurveyAccess .cspFormActions{grid-column:1/-1}@media (width<=900px){.cspStudentHero{grid-template-columns:auto 1fr}.cspStudentHeroIdPill,.cspStudentHeroLogout{grid-column:1/-1}.cspStudentStatsGrid,.cspStudentProfileRow,.cspStudentSurveyAccess{grid-template-columns:1fr}}@media (width<=600px){.cspStudentPillTab{min-width:88px;padding:9px 16px}.cspStudentMainCard{padding:16px}}.cspStudentProfileCard{border-radius:16px;align-items:center;gap:12px;margin-top:12px;padding:14px;display:flex}.cspStudentProfileAvatar{width:42px;height:42px;color:var(--primary);background:color-mix(in oklab, var(--primary) 18%, transparent);border:1px solid color-mix(in oklab, var(--primary) 30%, var(--border));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.cspStudentProfileMeta{flex:1;min-width:0}.cspStudentProfileName{color:var(--text);margin-bottom:2px;font-size:14.5px;font-weight:700}.cspSurveySteps{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.cspSurveyStep{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.cspSurveyStep:hover:not(:disabled){border-color:color-mix(in oklab, var(--primary) 40%, var(--border));color:var(--text)}.cspSurveyStep:disabled{cursor:default;opacity:.85}.cspSurveyStepActive{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 12%, var(--surface));color:var(--primary)}.cspSurveyStepDone{border-color:color-mix(in oklab, var(--primary) 28%, var(--border));color:var(--text)}.cspSurveyStepNum{background:color-mix(in oklab, var(--primary) 14%, transparent);width:22px;height:22px;color:inherit;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.cspSurveyStepActive .cspSurveyStepNum{background:var(--primary);color:#fff}.cspSurveyStepPanel{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px}.cspSurveyStepPanelHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cspSurveyStepPanelTitle{color:var(--text);margin:0;font-size:17px;font-weight:700}.cspSurveyRequiredMark{color:var(--primary);margin-left:2px}.cspSurveyLikertList{flex-direction:column;gap:10px;margin-top:10px;display:flex}.cspSurveyLikertOption{cursor:pointer;color:var(--text);align-items:flex-start;gap:10px;font-size:15px;line-height:1.45;display:flex}.cspSurveyLikertOption input{flex-shrink:0;margin-top:3px}.cspSurveyLikertOption span{flex:1}.cspWorkloadTableWrap{margin-top:8px;overflow-x:auto}.cspWorkloadTable{border-collapse:collapse;width:100%;font-size:14px}.cspWorkloadTable th,.cspWorkloadTable td{text-align:left;vertical-align:middle;border:1px solid #94a3b859;padding:8px 10px}.cspWorkloadTable th{background:#f1f5f9e6;font-weight:600}.cspWorkloadTable input.cspInput{width:100%;min-width:72px}.cspWorkloadHoursCell{text-align:right;font-weight:600}.cspWorkloadReportPanel{border-top:1px solid #94a3b859;margin-top:16px;padding-top:12px}.cspWorkloadTableWrapStudent .cspWorkloadTable th,.cspWorkloadTableWrapStudent .cspWorkloadTable td{padding:10px 12px}.cspWorkloadStudentHint{color:#1e3a8a;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #93c5fd;border-radius:14px;align-items:flex-start;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex;box-shadow:0 2px 8px #2563eb14}.cspWorkloadStudentHintIcon{color:#2563eb;flex-shrink:0;width:24px;height:24px;margin-top:2px}.cspWorkloadStudentHintBody{flex:1;min-width:0}.cspWorkloadStudentHintTitle{color:#1d4ed8;margin-bottom:10px;font-size:15px;font-weight:700;display:block}.cspWorkloadStudentHintText{color:#1e40af;margin:0 0 8px;font-size:14px;line-height:1.55}.cspWorkloadStudentHintText:last-child{margin-bottom:0}.cspWorkloadStudentHintOutline{background:#ffffffa6;border:1px solid #2563eb33;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex;margin-top:12px!important}.cspWorkloadStudentHintOutlineIcon{color:#2563eb;flex-shrink:0;width:18px;height:18px;margin-top:2px}.cspWorkloadTemplateEditor{border-top:1px solid #94a3b859;padding-top:16px}.cspWorkloadTemplateRows{flex-direction:column;gap:12px;margin-top:12px;display:flex}.cspWorkloadTemplateRow{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:14px 16px}.cspWorkloadTemplateRowHead{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}input.cspInputLockedWeeks{background:var(--bg-soft,#f1f5f9);color:var(--text-muted,#64748b);cursor:not-allowed}.cspReportDash{margin-top:8px}.cspReportDashToolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.cspReportDashTitle{margin:0 0 4px;font-family:Playfair Display,serif;font-size:1.35rem;font-weight:700}.cspReportDashSub{color:var(--muted);margin:0;font-size:.9rem}.cspReportDashUpdated{opacity:.85}.cspReportDashAlert{margin-bottom:14px}.cspReportLoading{text-align:center;padding:32px 16px}.cspReportLoadingPulse{background:linear-gradient(90deg, var(--border), var(--primary), var(--border));background-size:200% 100%;border-radius:999px;width:48px;height:4px;margin:0 auto 12px;animation:1.2s ease-in-out infinite cspReportPulse}@keyframes cspReportPulse{0%{background-position:100% 0}to{background-position:-100% 0}}.cspReportTabBar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:10px;display:flex}.cspReportTab{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s}.cspReportTab:hover{border-color:var(--primary)}.cspReportTabActive{background:var(--primary);border-color:var(--primary);color:#fff}.cspReportTabPanel{animation:.25s cspReportFadeIn}@keyframes cspReportFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cspReportKpiGrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px;display:grid}.cspReportKpi{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:14px;padding:14px 16px}.cspReportKpiLabel{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem}.cspReportKpiValue{margin-top:4px;font-size:1.5rem;font-weight:700;line-height:1.2}.cspReportKpiHint{color:var(--muted);margin-top:4px;font-size:.78rem}.cspReportInsightBlock{margin-bottom:14px;padding:16px 18px}.cspReportBlockTitle{margin:0 0 10px;font-size:1rem;font-weight:700}.cspReportInsightList{margin:0;padding-left:1.2rem;line-height:1.55}.cspReportInsightList li+li{margin-top:6px}.cspReportSectionGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.cspReportSectionCard{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:12px 14px}.cspReportSectionCardHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.cspReportQuestionList{flex-direction:column;gap:10px;display:flex}.cspReportQuestionRow{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.cspReportQuestionHead{align-items:flex-start;gap:10px;display:flex}.cspReportQuestionIndex{background:var(--bg-soft);width:28px;height:28px;color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.cspReportQuestionMain{flex:1;min-width:0}.cspReportQuestionTitle{margin:0;font-size:.95rem;font-weight:600;line-height:1.35}.cspReportQuestionMeta{color:var(--muted);margin:4px 0 0;font-size:.8rem}.cspReportSentiment{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:700}.cspReportSentiment--ok{color:#15803d;background:#22c55e26}.cspReportSentiment--danger{color:var(--primary-dark);background:#c0392b1f}.cspReportSentiment--neutral{background:var(--bg-soft);color:var(--muted)}.cspReportMiniBar{background:var(--border);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.cspReportMiniBarFill{border-radius:999px;height:100%;transition:width .35s}.cspReportMiniBarFill--ok{background:linear-gradient(90deg,#22c55e,#16a34a)}.cspReportMiniBarFill--danger{background:linear-gradient(90deg, var(--primary-light), var(--primary))}.cspReportMiniBarFill--neutral{background:#6ea8febf}.cspReportCommentList{flex-direction:column;gap:12px;display:flex}.cspReportCommentGroup{padding:14px 16px}.cspReportCommentItems{margin:0;padding:0;list-style:none}.cspReportCommentItems li{border-top:1px solid var(--border);padding:10px 0}.cspReportCommentItems li:first-child{border-top:none;padding-top:0}.cspReportCommentAuthor{color:var(--muted);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.cspReportCommentItems p{margin:0;font-size:.92rem;line-height:1.5}.cspReportQuestionRowDetail{padding:16px 18px}.cspReportQuestionAvgBlock{text-align:center;flex-shrink:0;min-width:56px}.cspReportQuestionAvgValue{color:var(--primary-dark,#a93226);font-size:1.35rem;font-weight:800;line-height:1.1;display:block}.cspReportQuestionAvgLabel{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;display:block}.cspReportQuestionBreakdown{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.cspReportLikertList{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cspReportLikertRow{grid-template-columns:minmax(120px,1.4fr) 1fr 72px;align-items:center;gap:10px;font-size:.82rem;display:grid}.cspReportLikertLabel{line-height:1.3}.cspReportLikertCount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.cspReportQuestionTexts{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.cspReportQuestionTextsTitle{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.8rem;font-weight:700}.cspReportOutcomeHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:16px 18px;display:flex}.cspReportOutcomeStats{flex-wrap:wrap;gap:20px;display:flex}.cspReportOutcomeStatValue{font-size:1.25rem;font-weight:700;display:block}.cspReportOutcomeStatLabel{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.cspReportWorkloadDetail{flex-direction:column;gap:14px;display:flex}.cspReportWorkloadTableSection{padding:16px 18px}.cspReportDataTable{border-collapse:collapse;width:100%;margin-top:10px;font-size:.88rem}.cspReportDataTable th,.cspReportDataTable td{border:1px solid var(--border);text-align:left;padding:8px 10px}.cspReportDataTable th{background:var(--bg-soft);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.cspReportDataTable tbody tr:nth-child(2n){background:var(--bg-soft)}@media (width<=900px){.cspReportLikertRow{grid-template-columns:1fr;gap:4px}.cspReportLikertCount{text-align:left}.cspContent{padding:14px}.cspWorkflowBody{padding-left:0}.cspWorkflowStepHead{flex-direction:column}.cspStudentProfileCard{flex-wrap:wrap}}@media (width<=600px){.cspContent{padding:12px 10px 24px}.cspCard{border-radius:14px;padding:16px}.cspBtn{min-height:40px;font-size:13.5px}}
