@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}svg[data-lucide]{display:inline-block;vertical-align:middle}:root{--text-main:#181A2A;--text-muted:#667085;--text-faint:#98A2B3;--sidebar-hover:rgba(99,102,241,0.035);--sidebar-active:#ffffff;--border-color:#E9E6F0;--card-bg:#FFFFFF;--card-border:#E9E6F0;--purple-accent:#F0EFFF;--purple-text:#4338CA;--cal-grid-line:rgba(23,32,51,0.10);--card-bg-opaque:#F7F5FB;--color-primary:#6366F1;--color-success:#10B981;--color-danger:#EF4444;--color-warning:#F59E0B;--color-info:#06B6D4;--color-success-pale:rgba(16,185,129,0.1);--color-danger-pale:rgba(239,68,68,0.1);--color-primary-light:#8B5CF6;--color-primary-pale:#F0EFFF;--color-success-light:#34d399;--color-urgency-action:#2563eb;--color-accent-blue:#3B82F6;--shadow-level-default:0 1px 2px rgba(15,23,42,0.04);--shadow-level-hover:0 4px 14px -6px rgba(15,23,42,0.10);--shadow-xs:var(--shadow-level-default);--shadow-sm:var(--shadow-level-hover);--shadow-md:var(--shadow-level-hover);--shadow-hover:var(--shadow-level-hover);--border-default:1px solid var(--card-border);--border-hover:1px solid rgba(99,102,241,0.25);--field-border:var(--border-color);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-surface:32px;--surface-pad:28px;--body-bg:#F5F6FC;--ease-standard:cubic-bezier(0.4,0,0.2,1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--card-size-sm-padding:18px;--card-size-sm-radius:var(--radius-lg);--card-size-sm-min-height:92px;--card-size-md-padding:22px;--card-size-md-radius:var(--radius-lg);--card-size-md-min-height:160px;--card-size-lg-padding:26px;--card-size-lg-radius:var(--radius-lg);--card-size-lg-min-height:260px;--card-gap-sm:var(--space-2);--card-gap-md:var(--space-3);--card-gap-lg:var(--space-4);--card-header-margin:var(--space-4);--card-footer-padding:var(--space-4) var(--space-6);--card-icon-box:36px;--card-icon-gap:var(--space-2);--card-size-row-min-height:64px;--card-size-row-min-height-lg:76px;--card-size-chart-height:250px;--card-size-table-max-height-sm:336px;--card-size-table-max-height:560px;--card-size-table-max-height-lg:640px;--control-bg:rgba(99,102,241,0.06);--control-hover-bg:rgba(99,102,241,0.10);--control-active-bg:rgba(99,102,241,0.14);--control-border:var(--card-border);--control-radius:8px;--control-shadow-focus:0 0 0 2px var(--card-bg),0 0 0 4px rgba(99,102,241,0.35);--control-shadow-active-ring:0 0 0 3px rgba(99,102,241,0.10);--surface-solid:#ffffff;--surface-solid-hover:#F7F5FB;--surface-border:var(--border-color);--on-primary-text:#ffffff;--toast-bg:#0f172a;--toast-text:#ffffff;--toast-shadow:0 10px 30px rgba(0,0,0,0.15);--border:var(--border-default);--surface:var(--card-bg);--background:var(--body-bg-gradient);--text-primary:var(--text-main);--text-secondary:var(--text-muted);--primary:var(--color-primary);--card:var(--card-bg);--foreground:var(--text-main);--muted-foreground:var(--text-muted);--primary-soft:var(--color-primary-pale);--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--info:var(--color-info);--secondary:var(--text-muted);--accent-color:var(--color-primary);--elevated-surface:var(--card-bg-opaque);--divider:var(--border-color);--disabled-bg:var(--card-bg-opaque);--disabled-text:var(--text-faint);--disabled-border:var(--border-color);--focus-ring:var(--control-shadow-focus);--font-family-base:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--font-size-2xs:10px;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:15px;--font-size-xl:16px;--font-size-2xl:18px;--font-size-3xl:20px;--font-size-4xl:24px;--font-size-display:32px;--line-height-tight:1.15;--line-height-snug:1.3;--line-height-normal:1.4;--line-height-relaxed:1.5;--control-height-sm:30px;--control-height-md:34px;--control-height-lg:40px;--control-height-xl:44px;--icon-size-xs:12px;--icon-size-sm:14px;--icon-size-md:16px;--icon-size-lg:20px;--motion-duration-fast:150ms;--motion-duration-base:200ms;--motion-duration-slow:400ms;--overlay-scrim-xs:rgba(0,0,0,0.04);--overlay-scrim-sm:rgba(0,0,0,0.08);--overlay-scrim-md:rgba(0,0,0,0.15);--overlay-scrim-lg:rgba(0,0,0,0.28);--overlay-scrim-xl:rgba(0,0,0,0.35);--overlay-scrim-2xl:rgba(0,0,0,0.55);--color-primary-alpha-10:rgba(99,102,241,0.1);--color-primary-alpha-20:rgba(99,102,241,0.2);--color-primary-alpha-35:rgba(99,102,241,0.35);--z-base:0;--z-content:1;--z-dropdown-low:50;--z-popover:100;--z-drawer-overlay:200;--z-toast:200;--z-fab:240;--z-top-app-bar:250;--z-drawer:260;--z-modal-overlay:280;--z-sidebar-overlay:299;--z-sidebar-toggle:300;--z-bulk-toolbar:300;--z-dropdown-detached:400;--z-date-picker-popup:1000;--z-popover-portal:2000;--z-tooltip:9999}html[data-theme=dark]{--text-main:#FFFFFF;--text-muted:#A1A1AA;--sidebar-hover:rgba(255,255,255,0.05);--sidebar-active:#101112;--border-color:rgba(255,255,255,0.06);--card-bg:rgba(22,22,22,0.72);--card-border:rgba(255,255,255,0.07);--cal-grid-line:rgba(255,255,255,0.09);--card-bg-opaque:#1c1c1e;--purple-accent:rgba(223,255,79,0.14);--purple-text:#DFFF4F;--color-primary:#DFFF4F;--color-success:#2DD4BF;--color-danger:#F472B6;--color-warning:#FBBF24;--color-success-pale:rgba(45,212,191,0.14);--color-danger-pale:rgba(244,114,182,0.14);--color-primary-light:#E9FF85;--color-primary-pale:rgba(223,255,79,0.22);--color-accent-gold:#FBBF24;--color-accent-gold-pale:rgba(251,191,36,0.16);--color-accent-pink:#8A8A93;--color-accent-pink-pale:rgba(138,138,147,0.16);--color-success-light:#5EEAD4;--color-urgency-action:#60a5fa;--shadow-level-default:0 1px 2px rgba(0,0,0,0.35);--shadow-level-hover:0 10px 28px -10px rgba(0,0,0,0.55);--field-border:rgba(255,255,255,0.08);--control-bg:rgba(223,255,79,0.08);--control-hover-bg:rgba(223,255,79,0.14);--control-active-bg:rgba(223,255,79,0.20);--control-shadow-focus:0 0 0 2px var(--surface-solid),0 0 0 4px rgba(223,255,79,0.35);--control-shadow-active-ring:0 0 0 3px rgba(223,255,79,0.14);--surface-solid:#141414;--surface-solid-hover:#1A1A1A;--surface-border:rgba(255,255,255,0.06);--body-bg:#14171F;--body-bg-gradient:linear-gradient(180deg,#11141B,#0B0D12);--on-primary-text:#0B0B0C;--toast-bg:#0f172a;--toast-text:#ffffff;--toast-shadow:0 10px 30px rgba(0,0,0,0.15);--color-accent-blue:#3B82F6;color-scheme:dark;--border:var(--border-default);--surface:var(--card-bg);--background:var(--body-bg-gradient);--text-primary:var(--text-main);--text-secondary:var(--text-muted);--primary:var(--color-primary);--color-info:#22D3EE;--card:var(--card-bg);--foreground:var(--text-main);--muted-foreground:var(--text-muted);--primary-soft:var(--color-primary-pale);--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--info:var(--color-info)}html[data-theme=dark] .form-group select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>")}html[data-theme=dark] .baserow-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}html[data-theme=dark] .flatpickr-calendar{background:var(--surface-solid)!important;box-shadow:var(--shadow-level-hover)!important}html[data-theme=dark] .flatpickr-calendar.arrowTop:after,html[data-theme=dark] .flatpickr-calendar.arrowTop:before{border-bottom-color:var(--surface-solid)!important}html[data-theme=dark] .flatpickr-calendar.arrowBottom:after,html[data-theme=dark] .flatpickr-calendar.arrowBottom:before{border-top-color:var(--surface-solid)!important}html[data-theme=dark] .flatpickr-current-month,html[data-theme=dark] .flatpickr-current-month input.cur-year,html[data-theme=dark] .flatpickr-months .flatpickr-month{background:transparent!important;color:var(--text-main)!important;fill:var(--text-main)!important}html[data-theme=dark] .flatpickr-current-month .flatpickr-monthDropdown-months{background:transparent!important;color:var(--text-main)!important}html[data-theme=dark] .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background:var(--surface-solid)!important;color:var(--text-main)!important}html[data-theme=dark] .flatpickr-next-month,html[data-theme=dark] .flatpickr-next-month svg,html[data-theme=dark] .flatpickr-prev-month,html[data-theme=dark] .flatpickr-prev-month svg{fill:var(--text-muted)!important;color:var(--text-muted)!important}html[data-theme=dark] .flatpickr-next-month:hover svg,html[data-theme=dark] .flatpickr-prev-month:hover svg{fill:var(--text-main)!important}html[data-theme=dark] .flatpickr-weekdays{background:transparent!important}html[data-theme=dark] span.flatpickr-weekday{background:transparent!important;color:var(--text-muted)!important}html[data-theme=dark] .flatpickr-day{color:var(--text-main)!important}html[data-theme=dark] .flatpickr-day.flatpickr-disabled,html[data-theme=dark] .flatpickr-day.flatpickr-disabled:hover,html[data-theme=dark] .flatpickr-day.nextMonthDay,html[data-theme=dark] .flatpickr-day.notAllowed,html[data-theme=dark] .flatpickr-day.notAllowed.nextMonthDay,html[data-theme=dark] .flatpickr-day.notAllowed.prevMonthDay,html[data-theme=dark] .flatpickr-day.prevMonthDay{color:var(--text-muted)!important;opacity:.35!important}html[data-theme=dark] .flatpickr-day.today{color:var(--text-main)!important}html[data-theme=dark] .flatpickr-day.inRange,html[data-theme=dark] .flatpickr-day.inRange:hover{background:var(--purple-accent)!important;border-color:var(--purple-accent)!important;box-shadow:-5px 0 0 var(--purple-accent),5px 0 0 var(--purple-accent)!important}html[data-theme=dark] .flatpickr-day.endRange,html[data-theme=dark] .flatpickr-day.selected,html[data-theme=dark] .flatpickr-day.startRange{color:#fff!important}html[data-theme=dark] .numInputWrapper span.arrowUp:after{border-bottom-color:var(--text-muted)!important}html[data-theme=dark] .numInputWrapper span.arrowDown:after{border-top-color:var(--text-muted)!important}html[data-theme=dark] .numInputWrapper:hover{background:var(--control-hover-bg)!important}html[data-theme=dark] tbody tr:nth-child(2n){background-color:rgba(139,92,246,.05)}html[data-theme=dark] tbody tr:hover{background-color:rgba(139,92,246,.1)!important}html[data-theme=dark] tbody tr.row-selected{background-color:rgba(139,92,246,.16)!important}html[data-theme=dark] tbody tr.row-selected:hover{background-color:rgba(139,92,246,.22)!important}html[data-theme=dark] .grid-menu-item:hover,html[data-theme=dark] .saved-view-row:hover{background:rgba(255,255,255,.06)}html[data-theme=dark] .filter-chip{background:rgba(139,92,246,.16);color:var(--purple-text);border-color:rgba(139,92,246,.28)}html[data-theme=dark] .filter-chip-logic{background:rgba(139,92,246,.26);color:var(--purple-text)}html[data-theme=dark] .filter-chip-x{color:var(--purple-text)}html[data-theme=dark] .filter-chip-x:hover{background:rgba(139,92,246,.2);color:var(--purple-text)}html[data-theme=dark] .kpi-grid>.kpi-card-v2{position:relative;overflow:hidden}html[data-theme=dark] .kpi-grid>.kpi-card-v2:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,185,11,.1),rgba(240,185,11,0) 55%);pointer-events:none}html[data-theme=dark] .kpi-grid>.kpi-card-v2:nth-child(2n):before{background:linear-gradient(90deg,rgba(246,51,154,.09),rgba(246,51,154,0) 55%)}html[data-theme=dark] .kpi-grid>.kpi-card-v2:nth-child(3):before{background:none}html[data-theme=dark] .mp-kpi-summary-card--hero{position:relative;overflow:hidden}html[data-theme=dark] .mp-kpi-summary-card--hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,185,11,.1),rgba(240,185,11,0) 55%);pointer-events:none}html.theme-transition,html.theme-transition #modal-backdrop,html.theme-transition .baserow-input,html.theme-transition .baserow-select,html.theme-transition .btn-baserow,html.theme-transition .btn-cancel,html.theme-transition .btn-cta-primary,html.theme-transition .btn-cta-secondary,html.theme-transition .btn-save,html.theme-transition .card,html.theme-transition .form-group input,html.theme-transition .form-group select,html.theme-transition .kpi-card-v2,html.theme-transition .modal-box,html.theme-transition .period-btn,html.theme-transition .side-card,html.theme-transition .sidebar,html.theme-transition .theme-toggle,html.theme-transition .theme-toggle-thumb,html.theme-transition body{transition:background-color .35s var(--ease-standard),color .35s var(--ease-standard),border-color .35s var(--ease-standard),box-shadow .35s var(--ease-standard)!important}@media (prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *{transition-duration:.01ms!important}}.theme-toggle{position:relative;display:inline-flex;align-items:center;width:52px;height:30px;border-radius:999px;background:var(--control-bg);border:var(--border-default);cursor:pointer;flex-shrink:0;transition:background .25s var(--ease-standard);padding:0}.theme-toggle:hover{background:var(--control-hover-bg)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--surface-solid);box-shadow:0 2px 6px rgba(0,0,0,.18),0 0 0 1px var(--card-border);display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .25s}html[data-theme=dark] .theme-toggle-thumb{transform:translateX(22px);box-shadow:0 0 10px rgba(139,92,246,.55),0 2px 6px rgba(0,0,0,.35),0 0 0 1px var(--card-border)}.theme-toggle-thumb svg{width:14px;height:14px;color:var(--color-primary);transition:opacity .2s,transform .3s}.theme-toggle-thumb .icon-sun{position:absolute;opacity:1;transform:rotate(0deg) scale(1)}.theme-toggle-thumb .icon-moon{position:absolute;opacity:0;transform:rotate(-90deg) scale(.6)}html[data-theme=dark] .theme-toggle-thumb .icon-sun{opacity:0;transform:rotate(90deg) scale(.6)}html[data-theme=dark] .theme-toggle-thumb .icon-moon{opacity:1;transform:rotate(0deg) scale(1)}.flatpickr-calendar{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-level-hover)!important;padding:10px!important;margin-top:8px!important;font-family:Plus Jakarta Sans,sans-serif!important;box-sizing:content-box!important}.dayContainer,.flatpickr-calendar,.flatpickr-days{width:auto!important;min-width:auto!important;max-width:none!important}.flatpickr-innerContainer{overflow:visible!important}.flatpickr-day{border-radius:var(--radius-sm)!important;font-size:13px!important;font-weight:500!important;height:34px!important;line-height:34px!important}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:none!important}.flatpickr-day.today{border-color:var(--color-primary)!important}.flatpickr-day:hover{background:var(--control-hover-bg)!important}.flatpickr-months,.flatpickr-weekdays{padding:2px 4px!important}.flatpickr-current-month{font-size:13.5px!important;font-weight:600!important}.flatpickr-weekday{font-size:11px!important;font-weight:700!important;color:var(--text-muted)!important;text-transform:uppercase!important}@keyframes blinkDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@keyframes blinkNum{0%,to{opacity:1}50%{opacity:.45}}.blink-num{animation:blinkNum 1.4s ease-in-out infinite}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;display:flex;height:100vh;overflow:hidden;color:var(--text-main);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background .3s}.icon-btn{--icon-btn-size:40px;--icon-btn-icon:18px;width:var(--icon-btn-size);height:var(--icon-btn-size);min-width:var(--icon-btn-size);min-height:var(--icon-btn-size);padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--control-radius);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:background .15s var(--ease-standard),color .15s var(--ease-standard),border-color .15s var(--ease-standard),box-shadow .15s var(--ease-standard),opacity .15s var(--ease-standard)}.icon-btn i,.icon-btn svg{width:var(--icon-btn-icon);height:var(--icon-btn-icon);display:block;flex-shrink:0}.icon-btn:hover{background:var(--control-hover-bg);color:var(--text-main)}.icon-btn:active{background:var(--control-active-bg)}.icon-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.icon-btn:disabled,.icon-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}@media (prefers-reduced-motion:reduce){.icon-btn{transition-duration:.01ms}}.icon-btn--xs{--icon-btn-size:28px;--icon-btn-icon:14px;border-radius:6px}.icon-btn--sm{--icon-btn-size:32px;--icon-btn-icon:15px;border-radius:7px}.icon-btn--md{--icon-btn-size:40px;--icon-btn-icon:18px;border-radius:var(--control-radius)}.icon-btn--lg{--icon-btn-size:44px;--icon-btn-icon:20px;border-radius:10px}.icon-btn--round{border-radius:50%}.icon-btn--filled{background:var(--control-bg);border-color:transparent}.icon-btn--filled:hover{background:var(--control-active-bg)}.icon-btn--outline{background:transparent;border-color:var(--control-border)}.icon-btn--outline:hover{background:var(--control-hover-bg)}.icon-btn--active{background:var(--purple-accent);color:var(--purple-text);border-color:transparent}.icon-btn--danger:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}.icon-btn--primary{background:var(--color-primary);color:var(--on-primary-text);box-shadow:var(--shadow-xs)}.icon-btn--primary:hover{background:var(--color-primary);opacity:.92}.main-content{flex:1 1;padding:24px 32px;overflow-y:auto;transition:padding .3s}.main-content>*{max-width:1600px;margin-left:auto;margin-right:auto}#main-content.is-planning-view{overflow:hidden}.drawer-close-btn,.top-app-bar{display:none}.sidebar-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--text-main) 45%,transparent);z-index:var(--z-sidebar-overlay);opacity:0;pointer-events:none;transition:opacity .25s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.active{opacity:1;pointer-events:auto}@media (max-width:991.98px){.top-app-bar{justify-content:space-between;position:fixed;top:0;left:0;right:0;height:60px;padding:0 12px 0 8px;background:var(--sidebar-active);border-bottom:1px solid var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:var(--z-top-app-bar);box-shadow:var(--shadow-level-default)}.top-app-bar,.top-app-bar-left{display:flex;align-items:center}.top-app-bar-left{gap:4px;min-width:0}.hamburger-btn{display:flex}.top-app-bar-title{font-size:17px;font-weight:800;color:var(--text-main);letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-app-bar-right{display:flex;align-items:center;gap:4px;flex-shrink:0}#theme-toggle-desktop{display:none!important}.sidebar,.sidebar.collapsed{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:min(300px,82vw);padding:0;background:var(--sidebar-active);z-index:var(--z-sidebar-toggle);box-shadow:var(--shadow-md);transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.mobile-open{transform:translateX(0)}.sidebar .sidebar-toggle-btn{display:none}.drawer-close-btn{display:flex}body{padding-top:60px;overflow:auto;height:auto;min-height:100vh}.main-content{padding:20px 16px 32px}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-overlay,.sidebar.mobile-open{transition-duration:.01ms!important}}.page-header-container{display:flex;flex-direction:column;gap:16px;max-width:1600px;margin:0 auto var(--space-6) auto}.is-planning-view #header-top-utility-row{display:none!important}#theme-toggle-planning{display:none}.is-planning-view #theme-toggle-planning{display:inline-flex}.is-student-portal-view #header-top-utility-row{display:flex!important}#theme-toggle-student{display:none!important}.page-title{font-size:32px;font-weight:800;color:var(--text-main);letter-spacing:-.8px;line-height:1.15}.page-icon-badge{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:var(--radius-md,12px);background:rgba(124,58,237,.12);color:var(--color-primary);margin-right:12px}.page-icon-badge.show{display:flex}.page-icon-badge i{width:22px;height:22px}.page-title-subtitle{font-size:14px;font-weight:600;color:var(--text-muted);line-height:1.3;margin-top:2px}.page-title-subtitle:empty{display:none}.page-title-subtitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-title-subtitle .status-badge{vertical-align:-1px}.sp-header-meta-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.5}.search-wrapper{position:relative;display:flex;align-items:center;background:var(--control-bg);border-radius:var(--control-radius);overflow:hidden;border:1px solid transparent;transition:background .15s var(--ease-standard),border-color .15s var(--ease-standard),box-shadow .15s var(--ease-standard)}.search-wrapper.active{overflow:visible}#global-search-dropdown{width:260px;right:0;left:auto}.search-wrapper:hover{background:var(--control-hover-bg)}.search-wrapper.active{border-color:var(--control-border);box-shadow:var(--control-shadow-active-ring)}.search-wrapper.active,.search-wrapper.active:hover{background:var(--card-bg)}.search-wrapper:focus-within{box-shadow:var(--control-shadow-focus)}.search-wrapper.active .search-icon-btn{color:var(--purple-text)}.search-input{width:0;padding:0;border:none;background:transparent;outline:none;transition:width .15s var(--ease-standard),padding .15s var(--ease-standard),opacity .15s var(--ease-standard);opacity:0;font-size:13.5px;font-weight:500;letter-spacing:-.1px;line-height:1.4;color:var(--text-main);font-family:inherit}.search-input::placeholder{color:var(--text-muted);font-weight:400;opacity:.85}.search-wrapper.active .search-input{width:200px;padding:7px 12px 7px 0;opacity:1}.search-clear-btn{display:none;margin-right:2px}.search-wrapper.has-query .search-clear-btn{display:inline-flex}.search-voice-btn{display:none}.search-kbd-hint{display:none;align-items:center;justify-content:center;height:18px;padding:0 6px;margin-right:8px;border-radius:5px;background:color-mix(in srgb,var(--text-main) 5%,transparent);border:1px solid var(--control-border);font-size:11px;font-weight:600;letter-spacing:.2px;color:var(--text-muted);flex-shrink:0;white-space:nowrap}@media (min-width:961px){.search-wrapper:not(.active) .search-kbd-hint{display:inline-flex}}.period-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.period-btn{display:flex;align-items:center;justify-content:center;height:36px;padding:0 12px;min-width:0;border:1px solid var(--card-border);background:transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:13px;font-weight:600;letter-spacing:-.1px;color:var(--text-main);cursor:pointer;outline:none;text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--ease-standard),color .15s var(--ease-standard),border-color .15s var(--ease-standard),box-shadow .15s var(--ease-standard)}.period-btn:hover{background:var(--control-hover-bg);border-color:var(--control-border)}.period-btn:active{background:var(--control-active-bg)}.period-btn.active,.period-btn.active:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--on-primary-text);box-shadow:var(--shadow-xs)}.period-btn:focus-visible{position:relative;z-index:1;outline:none;box-shadow:var(--control-shadow-focus)}.period-btn::placeholder{color:var(--text-muted);font-weight:500;opacity:1;font-size:13px}.period-btn.active::placeholder{color:rgba(255,255,255,.9)}@media (prefers-reduced-motion:reduce){.period-btn{transition-duration:.01ms}}.header-breadcrumb-row{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.1px;color:var(--text-muted);flex-shrink:0}.header-title-row{display:flex;align-items:center;gap:24px}.header-title-row .search-calendar-row{flex:0 0 auto}@media (max-width:767.98px){.header-title-row .search-calendar-row{flex:0 0 auto;margin-top:0}}.header-title-actions-row{gap:24px;row-gap:20px}.header-title-actions-row,.header-toolbar-row{display:flex;align-items:center;flex-wrap:wrap}.header-toolbar-row{gap:12px;margin-left:auto}.header-actions-row{display:flex;align-items:center;gap:8px;row-gap:10px;flex-wrap:wrap;order:3}.header-actions-row:empty{display:none}.header-filters-row{position:relative;display:flex;align-items:center;flex:0 0 auto;order:2}#header-toolbar-row .btn-cta-primary,#header-toolbar-row .btn-cta-secondary,#header-toolbar-row .btn-filters{height:40px;box-sizing:border-box;padding-top:0;padding-bottom:0;border-radius:var(--radius-control);white-space:nowrap}.btn-filters{display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--control-border);background:var(--card-bg);color:var(--text-main);font:inherit;font-size:13.5px;font-weight:600;letter-spacing:-.1px;cursor:pointer;transition:background .18s var(--ease-standard),border-color .18s var(--ease-standard),color .18s var(--ease-standard)}.btn-filters svg{width:16px;height:16px;flex-shrink:0}.btn-filters:hover{background:var(--control-hover-bg);border-color:var(--color-primary)}.btn-filters:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.btn-filters[aria-expanded=true]{background:var(--purple-accent);color:var(--purple-text);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.btn-filters .filters-chevron{width:14px;height:14px;opacity:.6;transition:transform .18s var(--ease-standard)}.btn-filters[aria-expanded=true] .filters-chevron{transform:rotate(180deg)}.filters-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--on-primary-text);font-size:11.5px;font-weight:700;line-height:1}.filters-count[hidden],.filters-section[hidden]{display:none}.filters-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-popover);width:min(340px,calc(100vw - 32px));box-sizing:border-box;background:var(--surface-solid,var(--card-bg));border:1px solid var(--card-border);border-radius:var(--radius-inner);box-shadow:var(--shadow-level-hover)}.filters-panel.open{display:block}.filters-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--card-border)}.filters-panel-title{font-size:14px;font-weight:700;color:var(--text-main)}.filters-reset{border:none;background:transparent;padding:4px 8px;margin:-4px -8px;border-radius:var(--radius-sm);font:inherit;font-size:12.5px;font-weight:600;color:var(--color-primary);cursor:pointer}.filters-reset:hover:not(:disabled){background:var(--purple-accent)}.filters-reset:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.filters-reset:disabled{color:var(--text-muted);opacity:.55;cursor:default}.filters-panel-head{position:relative}.filters-head-actions{display:inline-flex;align-items:center;gap:10px}.filters-range-btn{width:26px;height:26px;padding:0;border-radius:8px;border:1px solid var(--card-border);background:transparent;color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.filters-range-btn i,.filters-range-btn svg{width:14px;height:14px}.filters-range-btn:hover{background:var(--purple-accent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}.filters-range-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.filters-panel-head:has(#modern-date-btn.active) .filters-range-btn{background:var(--color-primary);color:var(--on-primary-text);border-color:var(--color-primary)}.filters-section{padding:14px 16px}.filters-section+.filters-section{border-top:1px solid var(--card-border)}.filters-label{display:block;margin-bottom:8px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.filters-panel #modern-date-btn{display:block;width:100%;box-sizing:border-box;height:38px;padding:0 12px;text-align:left;background:var(--control-bg);border:1px solid var(--control-border);color:var(--text-main);font-weight:500}.filters-panel #modern-date-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--on-primary-text);font-weight:600}.filters-grid-btn{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 12px;box-sizing:border-box;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:transparent;color:var(--text-main);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.filters-grid-btn>span{flex:1 1}.filters-grid-btn svg{width:15px;height:15px;color:var(--text-muted)}.filters-grid-btn:hover{background:var(--control-hover-bg);border-color:var(--control-border)}.filters-grid-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}@media (min-width:768px){#main-header:not(.is-student-portal-view) #search-wrapper{overflow:visible;height:40px;box-sizing:border-box;background:var(--card-bg);border-color:var(--control-border)}#main-header:not(.is-student-portal-view) #search-wrapper:hover{background:var(--card-bg);border-color:var(--color-primary)}#main-header:not(.is-student-portal-view) #search-wrapper .search-input{width:100%;padding:0 10px 0 0;opacity:1}#main-header:not(.is-student-portal-view) #search-wrapper .search-kbd-hint{display:inline-flex}#main-header:not(.is-student-portal-view) #search-wrapper.has-query .search-kbd-hint,#main-header:not(.is-student-portal-view) #search-wrapper:focus-within .search-kbd-hint{display:none}}#dynamic-left-actions .popover-wrapper .popover-card{left:auto;right:0}@media (min-width:961px){#main-header:not(.is-student-portal-view) #search-wrapper .search-input{width:clamp(150px,15vw,240px)}}.search-calendar-row{display:flex;align-items:center;gap:8px;flex-shrink:0;order:1}@media (max-width:960px){.header-title-actions-row{flex-direction:column;align-items:stretch}.header-toolbar-row{margin-left:0;flex:1 1 100%}.search-calendar-row{flex:1 1 200px;min-width:0}#main-header:not(.is-student-portal-view) #search-wrapper{flex:1 1 auto}#main-header:not(.is-student-portal-view) #search-wrapper .search-input{flex:1 1;width:0;min-width:0}}.fab-action-btn{display:none}@media (max-width:767.98px){.header-actions-row{display:none}.fab-action-btn{display:flex;position:fixed;right:20px;bottom:24px;z-index:var(--z-fab);--icon-btn-size:56px;--icon-btn-icon:22px;box-shadow:var(--shadow-level-default);transition:transform .2s ease,box-shadow .2s ease,background .18s ease}.fab-action-btn:hover{background:var(--color-primary);opacity:1}.fab-action-btn:active{transform:scale(.94);box-shadow:0 6px 16px color-mix(in srgb,var(--color-primary) 40%,transparent)}.header-title-actions-row{flex-direction:column;align-items:stretch;gap:10px}.header-toolbar-row{flex-direction:column;align-items:stretch;gap:8px;margin-left:0;width:100%}.header-title-row{justify-content:space-between;align-items:center;gap:10px;flex-wrap:nowrap;max-width:100%;overflow:visible;box-sizing:border-box;padding:2px 2px 2px 0}.header-title-row .page-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-title-row .search-calendar-row{flex:0 1 auto;margin-top:0;min-width:0;max-width:100%}.header-filters-row{flex-direction:column;align-items:stretch;gap:8px;margin-left:0;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;position:relative}.header-filters-row>*{width:100%}.header-filters-row .search-calendar-row,.header-title-row .search-calendar-row{order:0;gap:8px}.header-filters-row .search-wrapper,.header-title-row .search-wrapper{flex:0 1 auto;width:42px;max-width:42px;height:42px;border-radius:var(--radius-sm);background:var(--control-bg);border:1px solid transparent;transition:background .15s var(--ease-standard),border-color .15s var(--ease-standard),width .18s var(--ease-standard),max-width .18s var(--ease-standard)}.header-filters-row .search-wrapper.active,.header-filters-row .search-wrapper:focus-within,.header-title-row .search-wrapper.active,.header-title-row .search-wrapper:focus-within{background:var(--card-bg);border-color:var(--control-border);width:min(60vw,236px,calc(100vw - 116px));max-width:min(60vw,236px,calc(100vw - 116px));box-shadow:var(--control-shadow-active-ring),0 2px 8px color-mix(in srgb,var(--text-main) 6%,transparent)}.header-filters-row .search-icon-btn,.header-title-row .search-icon-btn{--icon-btn-size:42px;--icon-btn-icon:17px;flex-shrink:0;background:transparent}.header-filters-row .search-input,.header-title-row .search-input{width:0;opacity:0;flex:1 1 auto;height:42px;padding:0;font-size:14px;box-sizing:border-box}.header-filters-row .search-wrapper.active .search-input,.header-filters-row .search-wrapper:focus-within .search-input,.header-title-row .search-wrapper.active .search-input,.header-title-row .search-wrapper:focus-within .search-input{width:100%!important;opacity:1!important;padding:0 8px 0 2px!important}.header-filters-row .search-kbd-hint,.header-title-row .search-kbd-hint{display:none!important}.header-title-row #module-add-action{flex:0 0 auto}.header-title-row #module-add-action button.btn-cta-secondary{padding:0 12px;height:42px;white-space:nowrap;font-size:12.5px;gap:6px;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color .15s var(--ease-standard),background .15s var(--ease-standard)}.header-title-row #module-add-action button.btn-cta-secondary span.add-btn-label{max-width:82px;overflow:hidden;text-overflow:ellipsis}.header-title-row:has(.search-wrapper.active) #module-add-action button.btn-cta-secondary,.header-title-row:has(.search-wrapper:focus-within) #module-add-action button.btn-cta-secondary{border-color:var(--control-border);background:var(--card-bg)}.btn-filters{width:100%;justify-content:center}.filters-panel{left:0;right:0;width:auto}}#main-header .header-center-actions{justify-content:flex-start;flex-shrink:0}#main-header .header-right-group{display:flex;align-items:center;gap:20px;flex-wrap:wrap}#main-header .header-right-group>*{display:flex;align-items:center;gap:8px}.btn-cta-primary,.btn-save,.modal-actions .btn-save{padding:9px 18px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-primary);color:var(--on-primary-text);font-weight:600;font-size:13.5px;letter-spacing:-.1px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:transform .15s var(--ease-standard),box-shadow .15s var(--ease-standard),background .15s var(--ease-standard);font-family:inherit;box-shadow:var(--shadow-xs)}.btn-cta-primary:hover,.btn-save:hover,.modal-actions .btn-save:hover{transform:translateY(-1px);box-shadow:var(--shadow-level-hover)}.btn-cta-primary:active,.btn-save:active{transform:translateY(0) scale(.98)}.btn-baserow:focus-visible,.btn-cta-primary:focus-visible,.btn-cta-secondary:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.btn-cancel,.btn-cta-secondary,.modal-actions .btn-cancel{padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--control-border);background:transparent;color:var(--text-main);font-weight:600;font-size:13.5px;letter-spacing:-.1px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s var(--ease-standard),border-color .15s var(--ease-standard);font-family:inherit}.btn-cta-primary:disabled,.btn-cta-primary[disabled],.btn-cta-secondary:disabled,.btn-cta-secondary[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn-cancel:hover,.btn-cta-secondary:hover,.modal-actions .btn-cancel:hover{background:var(--control-hover-bg);border-color:var(--color-primary)}.btn-cancel:active,.btn-cta-secondary:active{background:var(--control-active-bg)}.btn-baserow{background:transparent;border:1px solid transparent;padding:8px 12px;min-height:40px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .18s var(--ease-standard),color .18s var(--ease-standard);font-family:inherit;-webkit-tap-highlight-color:transparent}.btn-baserow:hover{background:rgba(0,0,0,.04);color:var(--text-main)}.btn-baserow:active{transform:scale(.98)}.btn-baserow.active{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.popover-card{display:none;position:absolute;top:calc(100% + 4px);left:0;background:var(--sidebar-active);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px;z-index:var(--z-popover);min-width:200px}.popover-card.row-more-popover-portal{z-index:var(--z-popover-portal);box-shadow:var(--shadow-md,0 12px 28px -8px rgba(0,0,0,.28))}.popover-card.active{display:block;animation:fadeIn .15s ease}.grid-more-menu{position:relative;flex-shrink:0}.grid-more-menu,.grid-more-mobile-only{display:none}@media (max-width:767.98px){.grid-toolbar-inline-only{display:none!important}.grid-more-menu,.grid-more-mobile-only{display:block}}.grid-more-summary{list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.grid-more-summary::-webkit-details-marker{display:none}.grid-more-summary::marker{content:""}.grid-more-menu>.grid-more-summary.btn-baserow{display:flex}.grid-more-menu[open]>.grid-more-summary{background:rgba(0,0,0,.04);color:var(--text-main)}.grid-more-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-popover);background:var(--sidebar-active);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:12px;min-width:220px;max-height:60vh;overflow-y:auto;animation:fadeIn .15s ease}.baserow-input,.baserow-select{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;min-height:40px;font-size:13px;color:var(--text-main);outline:none;font-family:inherit;font-weight:600;transition:.2s}.baserow-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}.baserow-select:hover{border-color:#94a3b8}.baserow-input:focus,.baserow-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.baserow-input:disabled,.baserow-input[disabled],.baserow-select:disabled,.baserow-select[disabled]{opacity:.55;cursor:not-allowed;background:var(--disabled-bg,var(--card-bg-opaque));color:var(--disabled-text,var(--text-faint))}.form-group.has-error .baserow-input,.form-group.has-error .baserow-select{border-color:var(--color-danger)}.form-group.has-error .baserow-input:focus,.form-group.has-error .baserow-select:focus{box-shadow:0 0 0 3px var(--color-danger-pale)}.field-error{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;color:var(--color-danger);line-height:1.35}.field-error:empty{display:none}.custom-checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--card-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;position:relative;background:transparent;transition:border-color .15s var(--ease-standard,ease),background .15s var(--ease-standard,ease)}.custom-checkbox:hover{border-color:var(--color-primary-light)}.custom-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.custom-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chk-container{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-size:13px;color:var(--text-main);font-weight:600;cursor:pointer;padding:8px 9px;border-radius:8px;transition:background .15s var(--ease-standard,ease)}.chk-container:hover{background:var(--sidebar-hover)}.drawer-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--text-main) 40%,transparent);z-index:var(--z-drawer-overlay);opacity:0;pointer-events:none;transition:.3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-overlay.active{opacity:1;pointer-events:auto}.drawer{position:fixed;right:0;top:0;bottom:0;width:520px;background:var(--card-bg);box-shadow:-12px 0 40px rgba(15,23,42,.08);transform:translateX(100%);transition:.3s cubic-bezier(.4,0,.2,1);z-index:var(--z-drawer);border-left:1px solid var(--border-color);display:flex;flex-direction:column}@media (max-width:767.98px){.drawer{width:100%;z-index:var(--z-drawer)}.drawer-overlay.active{z-index:calc(var(--z-drawer-overlay) + 59)}}.drawer.active{transform:translateX(0)}.drawer-header{padding:22px 28px;border-bottom:1px solid var(--card-border,var(--border-color));font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.drawer-body{padding:24px 28px;overflow-y:auto;flex:1 1}.view-section{display:none;animation:fadeIn .3s ease;max-width:1600px;margin:0 auto;transition:.3s}.view-section.active{display:block}#view-Planning.active{display:flex}.top-panel-hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-6);align-items:stretch}.kpi-grid>*{height:100%;min-height:0}@media (min-width:1920px){.page-header-container,.view-section{max-width:1720px}.kpi-grid,.middle-grid{gap:28px}}@media (max-width:1439.98px) and (min-width:1281px){.main-content{padding:28px}.kpi-grid,.middle-grid{gap:18px}.mp-group-grid-outer{gap:14px}}@media (max-width:1280px) and (min-width:768.02px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#module-top-panel,#reports-top-panel,.middle-grid{grid-template-columns:1fr!important}.middle-grid.students-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (max-width:1280px){#module-top-panel,#reports-top-panel,.middle-grid{grid-template-columns:1fr!important}}@media (max-width:767.98px){.main-content{padding:20px 16px 96px}.field-row,.middle-grid{grid-template-columns:1fr!important}.middle-grid.students-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card-level-1,.kpi-grid .card{padding:var(--card-size-md-padding)}.kpi-val{font-size:26px}.kpi-grid{display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-padding-inline:16px;gap:14px;margin:0 -16px 24px;padding:4px 16px 16px}.kpi-grid::-webkit-scrollbar{display:none}.kpi-grid{scrollbar-width:none}.kpi-grid>*{flex:0 0 82%;max-width:82%;scroll-snap-align:start;scroll-snap-stop:always}.kpi-grid.kpi-grid--wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;scroll-snap-type:none;margin:0 0 24px;padding:0}.kpi-grid.kpi-grid--wrap>*{flex:unset;max-width:none;scroll-snap-align:none;height:100%}.kpi-card-v2{padding:var(--card-size-sm-padding)}.kpi-card-v2-label{font-size:11px}.kpi-card-v2-val{font-size:22px}.kpi-trend-row{font-size:12px}}.card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:var(--card-size-sm-padding);box-shadow:var(--shadow-xs);border:1px solid var(--card-border);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:box-shadow .18s var(--ease-standard),border-color .18s var(--ease-standard),transform .18s var(--ease-standard)}.card:hover{box-shadow:0 10px 24px -8px color-mix(in srgb,var(--color-primary) 28%,transparent);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);transform:translateY(-3px)}.card,.kanban-card{will-change:transform}#view-dashboard .card,#view-module .card,.card-level-4,.dash-cell-chart .card,.dash-cell-table .card{justify-content:flex-start}.card-icon-badge{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;flex-shrink:0}.card-icon-badge svg{width:20px;height:20px}.card-info .card-icon-badge{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.card-financial .card-icon-badge{background:color-mix(in srgb,var(--purple-text) 12%,transparent);color:var(--purple-text)}.card-alert .card-icon-badge{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.card-success .card-icon-badge{background:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success)}.timeline{display:flex;flex-direction:column}.timeline-item{position:relative;display:flex;gap:14px;padding-bottom:18px}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child):before{content:"";position:absolute;left:15px;top:34px;bottom:-2px;width:2px;background:var(--border-color)}.timeline-avatar{position:relative;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--on-primary-text,#fff);flex-shrink:0;z-index:1}.timeline-pip{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;border:2px solid var(--card-bg);background:var(--color-success)}.timeline-content{flex:1 1;display:flex;justify-content:space-between;align-items:center;background:var(--sidebar-active);border:1px solid var(--border-color);border-radius:12px;padding:10px 14px;min-width:0}.kanban-card-divider{border-top:1px solid var(--border-color);opacity:.4;margin:4px 0}.kanban-board-scroll{display:flex;gap:24px;align-items:flex-start;scroll-behavior:smooth}.kanban-column{width:290px;flex-shrink:0;display:flex;flex-direction:column;max-height:620px;min-height:200px}@media (max-width:1279.98px) and (min-width:768.02px){.kanban-board-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.kanban-column{width:calc(50% - 12px);scroll-snap-align:start}}@media (max-width:767.98px){.kanban-board-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px}.kanban-column{width:86%;max-height:70vh;scroll-snap-align:center;scroll-snap-stop:always}.kanban-col-header{position:-webkit-sticky;position:sticky;top:0;z-index:3;border-radius:12px;background:var(--sidebar-active);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.kanban-card{-webkit-tap-highlight-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}}.skeleton{background:linear-gradient(90deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.04) 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-card{padding:24px;display:flex;flex-direction:column;gap:12px}.skeleton-card .skeleton-line{height:14px}.skeleton-card .skeleton-line.short{width:40%}.skeleton-card .skeleton-line.value{height:26px;width:60%}.skeleton-row td{padding:14px 16px}.skeleton-row .skeleton-line{height:16px;width:100%}.skeleton-chart{display:flex;flex-direction:column;justify-content:flex-end;height:100%;width:100%;padding:4px 8px 0;box-sizing:border-box}.skeleton-chart-bars{display:flex;align-items:flex-end;gap:10px;flex:1 1}.skeleton-chart-bars .skeleton{flex:1 1;border-radius:6px 6px 0 0}.skeleton-chart-axis{height:1px;background:var(--border-color);margin-top:10px}.skeleton-donut-wrap{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;height:100%}.skeleton-donut{width:150px;height:150px;border-radius:50%;flex-shrink:0;background:conic-gradient(rgba(0,0,0,.08) 0deg,rgba(0,0,0,.04) 120deg,rgba(0,0,0,.09) 220deg,rgba(0,0,0,.04) 1turn);position:relative;animation:skeleton-spin 1.6s linear infinite}.skeleton-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:var(--card-bg)}@keyframes skeleton-spin{0%{filter:brightness(1)}50%{filter:brightness(1.15)}to{filter:brightness(1)}}.skeleton-donut-legend{display:flex;flex-direction:column;gap:10px;flex:1 1;max-width:160px}.skeleton-donut-legend .skeleton-line{height:12px}.skeleton-donut-legend .skeleton-line:nth-child(2){width:75%}.skeleton-donut-legend .skeleton-line:nth-child(3){width:55%}.skeleton-alert{display:flex;align-items:center;gap:16px}.skeleton-alert .skeleton-alert-icon{width:48px;height:48px;border-radius:14px;flex-shrink:0}.skeleton-alert-lines{display:flex;flex-direction:column;gap:8px;flex:1 1}.skeleton-alert-lines .skeleton-line{height:12px}.skeleton-alert-lines .skeleton-line.short{width:50%}.skeleton-text-inline{display:inline-block;height:1em;width:90px;vertical-align:middle}.empty-state-v2{flex-direction:column;text-align:center;padding:56px 32px;gap:6px}.empty-state-v2,.empty-state-v2-icon{display:flex;align-items:center;justify-content:center}.empty-state-v2-icon{--accent:100,116,139;width:56px;height:56px;border-radius:16px;background:rgba(var(--accent),.12);color:rgba(var(--accent),1);margin-bottom:14px}.empty-state-v2-icon i{width:26px;height:26px;opacity:1}.empty-state-v2-title{font-size:15px;font-weight:700;color:var(--text-main);letter-spacing:-.2px}.empty-state-v2-desc{font-size:13px;font-weight:500;color:var(--text-muted);max-width:360px;line-height:1.5;margin-top:2px}.empty-state-v2-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px}.empty-state-v2-cta{display:inline-flex;align-items:center;gap:8px;background:var(--color-primary);color:var(--on-primary-text);border:none;border-radius:20px;padding:9px 18px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;transition:.2s;box-shadow:var(--shadow-level-default)}.empty-state-v2-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.empty-state-v2-chip{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text-muted);border:1px solid var(--card-border);border-radius:20px;padding:8px 14px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:.2s}.empty-state-v2-chip:hover{color:var(--text-main);border-color:var(--color-primary);transform:translateY(-1px)}.empty-state-v2.compact{padding:32px 24px}.empty-state-v2.compact .empty-state-v2-icon{width:44px;height:44px;border-radius:13px;margin-bottom:10px}.empty-state-v2.compact .empty-state-v2-icon i{width:20px;height:20px}.empty-state-v2.compact .empty-state-v2-desc{max-width:280px}.ui-error-state .empty-state-v2-icon{--accent:239,68,68}.ui-error-state .empty-state-v2-detail{font-size:11.5px;color:var(--text-muted);background:rgba(0,0,0,.04);border-radius:8px;padding:6px 10px;margin-top:10px;max-width:420px;word-break:break-word}.ui-state-panel{min-height:240px;display:flex;align-items:center;justify-content:center}.ui-skel{display:flex;flex-direction:column;gap:16px;width:100%}.ui-skel-line{height:14px;width:100%}.ui-skel-line.short{width:40%}.ui-skel-line.mid{width:65%}.ui-skel-head{display:flex;align-items:center;gap:16px;padding:24px}.ui-skel-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0}.ui-skel-head-lines{display:flex;flex-direction:column;gap:10px;flex:1 1}.ui-skel-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px;gap:16px}.ui-skel-list{padding:20px 22px;display:flex;flex-direction:column;gap:16px}.ui-skel-list-row{display:flex;align-items:center;gap:12px}.ui-skel-dot{width:36px;height:36px;border-radius:10px;flex-shrink:0}.ui-skel-list-lines{display:flex;flex-direction:column;gap:8px;flex:1 1}.ui-skel-list-lines .ui-skel-line{height:12px}.ui-state-action-row{display:flex;justify-content:center;padding:0 20px 20px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.sp-apercu{display:flex;flex-direction:column;gap:16px;min-width:0}.sp-next-hero{border-left:4px solid var(--color-primary)}.sp-next-hero.is-live{border-left-color:var(--color-success)}.sp-next-body{padding:4px 22px 22px;display:flex;flex-direction:column;gap:16px}.sp-next-title{font-size:24px;font-weight:800;color:var(--text-main);letter-spacing:-.3px;line-height:1.2}.sp-next-note{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--text-muted);background:rgba(0,0,0,.04);border-radius:10px;padding:8px 12px}.sp-next-note i{width:15px;height:15px;flex-shrink:0}.sp-next-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px 20px;gap:14px 20px}.sp-fact{gap:10px;min-width:0}.sp-fact>i{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.sp-fact-label{font-weight:700;letter-spacing:.03em}.sp-fact-value{font-size:14px;font-weight:700;margin-top:2px;overflow-wrap:anywhere}.sp-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.sp-pill .sp-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sp-prog-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.sp-prog-stat{border:1px solid var(--card-border);border-radius:12px;padding:10px 12px;min-width:0}.sp-prog-stat-val{font-size:20px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sp-prog-stat-label{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-top:2px}.sp-pay-status-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:640px){.sp-next-title{font-size:20px}.sp-next-body{padding:4px 16px 18px}}.card-level-1,.kpi-grid .card{padding:var(--card-size-md-padding);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-default);border:1px solid var(--card-border);transition:box-shadow .2s var(--ease-standard,ease),border-color .2s var(--ease-standard,ease),transform .2s var(--ease-standard,ease)}.card-level-1:hover,.kpi-grid .card:hover{box-shadow:var(--shadow-level-hover);border-color:var(--color-primary-light);transform:translateY(-2px)}.card,.kpi-card-v2,.side-card{transition:box-shadow .2s var(--ease-standard,ease),border-color .2s var(--ease-standard,ease),transform .2s var(--ease-standard,ease)}.card:hover,.kpi-card-v2:hover,.side-card:hover{box-shadow:var(--shadow-level-hover);border-color:var(--color-primary-light);transform:translateY(-2px)}.kpi-card-v2[role=button],.side-card[role=button]{outline:none}.kpi-card-v2[role=button]:focus-visible,.side-card[role=button]:focus-visible{box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--color-primary)}@media (prefers-reduced-motion:reduce){.card-level-1:hover,.card:hover,.kpi-card-v2:hover,.kpi-grid .card:hover,.side-card:hover{transform:none}}.card-level-2{box-shadow:var(--shadow-level-default);border:1px solid var(--card-border);border-radius:var(--radius-lg)}.card-level-3{border:1px solid var(--card-border);border-radius:var(--radius-md)}.card-level-3,.card-level-4{box-shadow:none;padding:var(--card-size-lg-padding)}.card-level-4{border-radius:var(--radius-sm);border:1px solid var(--card-border)}.card-level-4:hover{box-shadow:none;transform:none}.kpi-label{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:600}.kpi-val{font-size:28px;font-weight:700;color:var(--text-main);display:flex;align-items:baseline;gap:8px;letter-spacing:-.5px}.kpi-trend{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}.kpi-trend.up{color:var(--color-success)}.kpi-trend.down{color:var(--color-danger)}.kpi-card-v2{display:flex;flex-direction:column;padding:var(--card-size-sm-padding);position:relative;overflow:hidden;min-width:200px;box-sizing:border-box}.kpi-card-v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.kpi-card-v2-label{font-size:11px;font-weight:500;color:var(--text-muted);margin:0;letter-spacing:.01em}.kpi-card-v2-spark{flex-shrink:0;line-height:0;opacity:.7}.kpi-sparkline{display:block}.kpi-card-v2-val{font-size:21px;font-weight:650;color:var(--text-main);letter-spacing:-.5px;line-height:1.1;margin-bottom:10px}.kpi-trend-row{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;width:-moz-fit-content;width:fit-content}.kpi-trend-row.up{color:var(--color-success)}.kpi-trend-row.down{color:var(--color-danger)}.kpi-trend-row.flat{color:var(--text-muted)}.kpi-trend-row i{width:14px;height:14px}.kpi-trend-period{font-weight:600;color:var(--text-muted);margin-left:2px}.kpi-card-v2-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;flex-shrink:0}.kpi-card-v2-icon i{width:18px;height:18px}.kpi-card-v2-head:has(.kpi-card-v2-icon){flex-direction:row;align-items:center}.kpi-card-v2-head:has(.kpi-card-v2-icon) .kpi-card-v2-label{order:2;font-size:12.5px}.kpi-card-v2--donut{align-items:flex-start}.kpi-donut-wrap{position:relative;width:64px;height:64px;margin:4px 0 10px}.kpi-donut-wrap svg circle:last-child{transition:stroke-dashoffset .5s var(--ease-standard,ease)}.kpi-donut-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-main)}.module-kpi-stack{display:flex;flex-direction:column;gap:16px;align-items:stretch}.module-kpi-stack>.kpi-card-v2{flex:1 1;padding:var(--card-size-md-padding)}.middle-grid{display:grid;grid-template-columns:2.2fr 1fr;grid-gap:24px;gap:24px;margin-bottom:32px;align-items:stretch}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.class-grid .card{padding:var(--card-size-md-padding);cursor:pointer;gap:var(--card-gap-md)}.class-card-chip{display:inline-flex;align-items:center;gap:var(--space-1);font-size:12px;font-weight:500;color:var(--text-muted)}.class-card-chip i{width:12px;height:12px}@keyframes chartFadeScaleIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes kpiEntryIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}body.app-first-load #chart-area,body.app-first-load #chart-donut,body.app-first-load #chart-milestone-arrears,body.app-first-load #chart-reports-donut,body.app-first-load #dette-status-donut,body.app-first-load #salary-status-chart{animation:chartFadeScaleIn .6s cubic-bezier(.22,1,.36,1)}body.app-first-load #dashboard-kpis .card,body.app-first-load #module-kpis .card{animation:kpiEntryIn .5s cubic-bezier(.22,1,.36,1) both}body.app-first-load #dashboard-kpis .card:first-child{animation-delay:.02s}body.app-first-load #dashboard-kpis .card:nth-child(2){animation-delay:.08s}body.app-first-load #dashboard-kpis .card:nth-child(3){animation-delay:.14s}body.app-first-load #dashboard-kpis .card:nth-child(4){animation-delay:.2s}.chart-card-animating .apexcharts-canvas{filter:drop-shadow(0 0 0 color-mix(in srgb,var(--purple-text) 0%,transparent))}.apexcharts-pie-area{transition:opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1);transform-origin:center}.apexcharts-pie-area:hover{opacity:.92;transform:scale(1.035);cursor:pointer}.apexcharts-bar-area{transition:filter .2s ease}.apexcharts-datalabel-label,.apexcharts-datalabel-value{transition:opacity .3s ease}.card:has(#chart-area),.card:has(#chart-donut),.card:has(#chart-reports-donut){transition:box-shadow .2s ease}.card:has(#chart-area):hover,.card:has(#chart-donut):hover,.card:has(#chart-reports-donut):hover{box-shadow:var(--shadow-level-hover)}.apexcharts-tooltip{transition:opacity .15s ease,transform .15s ease!important}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.chart-title{font-size:12.5px;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.chart-filter-btn{background:var(--purple-accent);border:none;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--purple-text);display:flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;transition:.2s}.chart-filter-btn:hover{filter:brightness(.9);transform:translateY(-1px)}.alerts-container{display:flex;flex-direction:column;gap:16px;height:100%}.side-card{flex:1 1;min-height:0;background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--card-size-sm-radius);padding:var(--card-size-sm-padding);display:flex;flex-direction:column;justify-content:center;gap:10px;border:1px solid var(--card-border);box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease-standard),border-color .18s var(--ease-standard),transform .18s var(--ease-standard);cursor:pointer}.side-card:hover{box-shadow:0 10px 24px -8px color-mix(in srgb,var(--color-primary) 28%,transparent);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);transform:translateY(-3px)}.side-card-header{display:flex;align-items:center;gap:14px}.side-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.side-card-icon svg{width:20px;height:20px}.side-card-title{font-size:14px;font-weight:600;color:var(--text-main)}.side-card-desc{font-size:12.5px;font-weight:500;color:var(--text-muted);margin-top:auto}table{width:100%;border-collapse:collapse;border-spacing:0}#grid-table{table-layout:fixed}.custom-scroll table,.custom-scroll:has(>table){max-width:100%}.custom-scroll:has(>table){max-height:var(--card-size-table-max-height);overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.custom-scroll:has(>table)>table{height:100%}[data-tp-managed]>table{height:auto}tbody tr.tp-off{display:none!important}.me-row-v2{position:relative;display:block;padding:14px}.me-row-v2 .me-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end;padding-right:34px}.me-row-v2 .me-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.me-row-v2 .me-cell-save .btn-save{white-space:nowrap}.me-kebab{position:absolute;top:10px;right:8px;z-index:3}.me-kebab-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;min-width:190px;padding:5px;background:var(--surface-solid,var(--card-bg));border:1px solid var(--card-border);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12)}.me-kebab-menu.open{display:block}.me-kebab-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:7px;font:inherit;font-size:13px;font-weight:600;color:var(--text-main);cursor:pointer;text-align:left}.me-kebab-item i,.me-kebab-item svg{width:15px;height:15px}.me-kebab-item:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.me-kebab-item.is-danger{color:var(--color-danger)}.me-kebab-item.is-danger:hover{background:color-mix(in srgb,var(--color-danger) 8%,transparent)}@media (max-width:640px){.me-row-v2 .me-grid{grid-template-columns:1fr;padding-right:0;padding-top:22px}}.tup-overview{display:flex;flex-direction:column;gap:20px}.tup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-gap:16px;gap:16px;margin:0!important}@media (max-width:1100px){.tup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.card.cls-card.tp-off,.kanban-card.tp-off{display:none!important}.tf-btn .tf-count:not(:empty){margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-primary);color:var(--on-primary-text,#fff);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.tf-btn.active{color:var(--purple-text);background:var(--purple-accent)}.tf-panel{position:fixed;z-index:10050;max-height:min(70vh,640px);display:flex;flex-direction:column;background:var(--surface-solid,var(--card-bg));border:1px solid var(--card-border);border-radius:16px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 24px 48px -12px rgba(15,23,42,.24);font-size:13px;color:var(--text-main)}.tf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 10px}.tf-title{font-size:15px;font-weight:600}.tf-sub{font-size:12px;margin-top:3px}.tf-sub,.tf-x{color:var(--text-muted)}.tf-x{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}.tf-x:hover{background:color-mix(in srgb,var(--text-muted) 10%,transparent)}.tf-body{padding:6px 20px 14px;overflow-y:auto}.tf-body,.tf-group{display:flex;flex-direction:column;gap:10px}.tf-group{border:1px solid var(--card-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--color-primary) 2%,transparent)}.tf-group-head{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted)}.tf-cond{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 28px;grid-gap:8px;gap:8px;align-items:center}.tf-cond .tf-value{grid-column:2/4}.tf-cond .tf-value:empty{display:none}.tf-join{font-size:11px;font-weight:700;color:var(--purple-text);text-align:center}.tf-input,.tf-select{width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid var(--field-border,var(--border-color));border-radius:9px;background:var(--surface-solid,var(--card-bg));color:var(--text-main);font:inherit;font-size:13px;outline:none;box-sizing:border-box}.tf-input:focus,.tf-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--purple-accent)}.tf-between{display:flex;align-items:center;gap:8px}.tf-between span{color:var(--text-muted);font-size:12px}.tf-vals{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto}.tf-val{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--card-border);border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;background:var(--surface-solid,var(--card-bg))}.tf-val:has(input:checked){border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:var(--purple-accent);color:var(--purple-text)}.tf-val input{accent-color:var(--color-primary);margin:0}.tf-rm{width:28px;height:28px;border:none;background:transparent;border-radius:8px;color:var(--text-muted);font-size:18px;cursor:pointer}.tf-rm:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}.tf-add{align-self:flex-start;border:none;background:transparent;color:var(--color-primary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:4px 2px}.tf-add-group{border:1px dashed var(--card-border);border-radius:10px;padding:9px 12px;align-self:stretch;text-align:center}.tf-link{border:none;background:transparent;color:var(--color-danger);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0}.tf-or{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:11px;font-weight:700}.tf-or:after,.tf-or:before{content:"";flex:1 1;height:1px;background:var(--card-border)}.tf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 16px;border-top:1px solid var(--card-border)}.tf-foot .btn-cancel,.tf-foot .btn-save{min-height:36px;padding:0 14px;border-radius:9px}.tf-count-label{font-size:12.5px;font-weight:600;color:var(--text-muted)}.tf-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%}.tf-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;background:var(--purple-accent);color:var(--purple-text);font-size:12px;font-weight:500;cursor:pointer;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent)}.tf-chip b{font-weight:700}.tf-chip-and,.tf-chip-or{font-size:11px;font-weight:700;color:var(--text-muted)}.tf-chip-or{padding:0 4px}.tf-chip-clear{border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tf-chip-clear:hover{color:var(--color-danger)}@media (max-width:640px){.tf-cond{grid-template-columns:30px minmax(0,1fr) 28px}.tf-cond .tf-select[data-role=op],.tf-cond .tf-value{grid-column:2/3}}.apexcharts-tooltip{border-radius:10px!important;border:1px solid var(--card-border)!important;background:var(--surface-solid,var(--card-bg))!important;color:var(--text-main)!important;box-shadow:0 10px 28px -8px rgba(15,23,42,.22)!important;font-family:inherit!important}.apexcharts-tooltip-title{background:transparent!important;border-bottom:1px solid var(--card-border)!important;font-family:inherit!important;font-weight:600!important;font-size:12px!important;padding:8px 12px!important;margin-bottom:2px!important}.apexcharts-tooltip-series-group{padding:2px 12px 4px!important}.apexcharts-tooltip-marker{width:8px!important;height:8px!important}.apexcharts-xaxistooltip,.apexcharts-yaxistooltip{display:none!important}.apexcharts-datalabels-group text,.apexcharts-legend-text{font-family:inherit!important}.kpi-unique{color:var(--text-muted)}.kpi-unique b{color:var(--text-main);font-weight:700}.flatpickr-days .dayContainer{justify-content:space-around;padding:2px 4px}.flatpickr-day{width:36px!important;max-width:36px!important;flex-basis:36px!important;height:36px!important;line-height:36px!important;margin:2px!important;border-radius:10px!important}.flatpickr-day.inRange{border-radius:10px!important;box-shadow:none!important}.sp-week-tabs,.sp-week-tabs.sp-week-tabs--rect{display:flex!important;gap:10px!important;overflow-x:auto}.sp-week-tabs .sp-week-tab,.sp-week-tabs.sp-week-tabs--rect .sp-week-tab{flex:0 0 58px!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;aspect-ratio:1/1;padding:0!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:2px!important;border-radius:16px!important}.cal-month-grid,.cal-month-weekdays{max-width:1000px;margin-left:auto;margin-right:auto}.cal-month-day{aspect-ratio:1/1;min-height:0!important;border-radius:16px!important}@media (max-width:767.98px){.sp-week-tabs .sp-week-tab,.sp-week-tabs.sp-week-tabs--rect .sp-week-tab{flex-basis:52px!important;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border-radius:14px!important}.cal-month-day{border-radius:12px!important;padding:6px!important}}html:not([data-theme=dark]) body{background:var(--body-bg-gradient);background-attachment:fixed}html:not([data-theme=dark]) .card{border-color:color-mix(in srgb,#7C6CF2 8%,#E9E7F5);box-shadow:0 1px 2px rgba(76,64,160,.04),0 8px 24px -16px rgba(76,64,160,.12)}.flatpickr-calendar{width:316px!important;padding:10px 12px 12px!important;border-radius:16px!important;border:1px solid var(--card-border)!important;box-shadow:0 1px 2px rgba(15,23,42,.06),0 24px 48px -12px rgba(15,23,42,.22)!important}.flatpickr-calendar .dayContainer,.flatpickr-calendar .flatpickr-days{width:292px!important;min-width:292px!important;max-width:292px!important}.flatpickr-calendar .flatpickr-rContainer,.flatpickr-calendar .flatpickr-weekdays{width:292px!important}.flatpickr-calendar .flatpickr-weekday{font-size:11px!important;font-weight:700!important;text-transform:uppercase;color:var(--text-muted)!important}.flatpickr-calendar .flatpickr-months{padding-bottom:6px}.cal-body-wrapper.cal-student-scoped .cal-day-col{min-width:0!important}.cal-grid-area{width:100%!important}.cal-day-header{height:56px!important}.cal-day-col.is-today .cal-day-header{border-bottom:none!important}.cal-day-col.is-today .cal-day-date{background:var(--color-primary);color:var(--on-primary-text,#fff)!important;border-radius:8px;padding:1px 7px}.cal-event{border-radius:10px!important;box-shadow:0 1px 2px rgba(15,23,42,.06);border-width:0 0 0 3px!important}.cal-header{border-radius:16px 16px 0 0}.sp-title-badge{display:inline-flex;vertical-align:middle;margin-left:10px;transform:translateY(-2px)}.sp-title-badge>*{font-size:12px!important;letter-spacing:0}.ss-kpi-sub{margin-top:6px;font-size:11.5px;font-weight:500;color:var(--text-muted)}.ss-kpi-sub b{color:var(--text-main);font-weight:700}.ss-fin-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:12px;gap:12px;margin-bottom:16px;align-items:stretch}.ss-panel{padding:18px 20px;min-width:0}.ss-panel .chart-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.ss-hint{font-size:11.5px;font-weight:500;color:var(--text-faint)}.ss-fin-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center}.ss-donut{min-width:0;min-height:250px}.ss-fin-stats{display:flex;flex-direction:column;gap:14px;min-width:150px}.ss-fin-stat-l{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text-muted)}.ss-fin-stat-v{margin-top:2px;font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ss-fin-stat-s{font-size:11.5px;font-weight:500;color:var(--text-muted)}.ss-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ss-dist-bar{display:flex;gap:2px;height:8px;margin-bottom:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.ss-dist-bar>span{display:block;height:100%;min-width:4px}.ss-cat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease}.ss-cat:hover{background:var(--sidebar-hover)}.ss-cat.is-active{background:var(--purple-accent);border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}.ss-cat-l{min-width:0;font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-cat-l,.ss-cat-r{display:flex;align-items:center;gap:10px}.ss-cat-r{flex-shrink:0}.ss-cat-n{padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}.ss-cat-a{min-width:84px;text-align:right;font-size:13px;font-weight:650;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ss-strip{display:flex;flex-direction:column;gap:10px}.ss-fin-inline{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 32px}.ss-fin-inline .ss-fin-stat-v{font-size:17px}.ss-fin-inline>.ss-fin-stat-s{margin-left:auto;align-self:center}.ss-cat-chips{display:flex;flex-wrap:wrap;gap:6px}.ss-cat-chips .ss-cat{padding:5px 10px;gap:10px;border-color:var(--border-color)}.ss-cat-chips .ss-cat-l{font-size:12.5px;gap:8px}.ss-cat-chips .ss-cat-a{min-width:0;font-size:12.5px}.ss-strip .ss-dist-bar{margin-bottom:0}.ss-pay-bar{height:4px;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 15%,transparent);overflow:hidden}.ss-pay-bar>span{display:block;height:100%;border-radius:999px}.ss-table-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--text-main)}.ss-reg{--ss-ok:color-mix(in srgb,var(--color-success) 68%,#000);--ss-warn:color-mix(in srgb,var(--color-warning) 58%,#000);--ss-due:var(--color-danger)}html[data-theme=dark] .ss-reg{--ss-ok:var(--color-success);--ss-warn:var(--color-warning);--ss-due:var(--color-danger)}.ss-reg-title{display:flex;align-items:baseline;gap:10px;min-width:0}.ss-reg-h{margin:0;font-size:15px;font-weight:650;letter-spacing:-.1px;color:var(--text-main)}.ss-reg-count{font-size:12.5px;font-weight:500;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ss-search{display:flex;align-items:center;gap:8px;flex:0 1 280px;min-width:190px;height:32px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-muted);cursor:text;transition:border-color .12s ease,box-shadow .12s ease}.ss-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.ss-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--text-main)}.ss-search input::placeholder{color:var(--text-faint)}.ss-status{min-height:32px!important;height:32px;padding:0 30px 0 10px!important;width:auto!important;min-width:150px!important;font-size:13px!important;font-weight:500;display:flex;align-items:center;justify-content:space-between;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.ss-status.ss-status--active{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border-color));background:color-mix(in srgb,var(--color-primary) 6%,transparent);color:var(--color-primary)}#session-summary-reg-card[data-density=compact] table tbody td{padding-top:5px;padding-bottom:5px}#session-summary-reg-card[data-density=compact] table thead th{padding-top:8px;padding-bottom:8px}#session-summary-reg-card[data-density=spacieuse] table tbody td{padding-top:18px;padding-bottom:18px}#session-summary-reg-card[data-density=spacieuse] table thead th{padding-top:16px;padding-bottom:16px}.ss-menu.app-dropdown{left:auto;right:0;min-width:214px;max-height:none}.ss-menu-label{padding:6px 10px 3px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.ss-menu-sep{height:1px;margin:5px 4px;background:var(--border-color)}.ss-menu .app-dropdown-option{align-items:center;justify-content:space-between;gap:8px}.ss-menu .ss-check{width:14px;height:14px;visibility:hidden;flex-shrink:0}.ss-menu .app-dropdown-option.selected .ss-check{visibility:visible}@media (prefers-reduced-motion:reduce){.ss-reg-toolbar [data-tip]:after{transition:none}}#session-summary-table-wrap .ss-name{font-size:13.5px;font-weight:650;color:var(--text-main)}#session-summary-table-wrap td.ss-phone,#session-summary-table-wrap td.ss-phone .phone-link{font-size:12.5px;font-weight:400;color:var(--text-muted)}#session-summary-table-wrap td.ss-phone .phone-link svg{opacity:.55}#session-summary-table-wrap td.ss-class{color:var(--text-main);max-width:220px}#session-summary-table-wrap td.ss-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#session-summary-table-wrap thead th:nth-child(5),#session-summary-table-wrap thead th:nth-child(6){text-align:right}#session-summary-density-btn{padding-left:10px;padding-right:10px;gap:0}#session-summary-density-btn #session-summary-density-label{display:none}#session-summary-table-wrap .ss-amt{font-weight:500;color:var(--text-main)}#session-summary-table-wrap .ss-bal--ok{color:var(--ss-ok);font-weight:500}#session-summary-table-wrap .ss-bal--warn{color:var(--ss-warn);font-weight:650}#session-summary-table-wrap .ss-bal--due{color:var(--ss-due);font-weight:700}#session-summary-table-wrap .ss-nil{color:var(--text-faint)}.ss-reg-sums{display:flex;align-items:center;gap:16px;margin-left:auto;flex-wrap:wrap;font-size:12.5px;font-weight:500;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ss-reg-sums b{margin-left:4px;font-weight:650;color:var(--text-main)}.ss-reg-sums .ss-sum-due b{color:var(--ss-due)}.ss-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ss-chips[hidden]{display:none}.ss-chip{gap:6px;padding:0 7px 0 10px;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--border-color));border-radius:999px;background:color-mix(in srgb,var(--color-primary) 6%,transparent);font:inherit;cursor:pointer;transition:background .12s ease}.ss-chip:hover{background:color-mix(in srgb,var(--color-primary) 13%,transparent)}.ss-chip i,.ss-chip svg{width:13px;height:13px}.ss-chip-reset{height:26px;padding:0 8px;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ss-chip-reset:hover{color:var(--text-main)}#session-summary-table-wrap .ss-who{display:flex;align-items:center;gap:10px;min-width:0}.ss-av{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--purple-text,var(--color-primary));background:var(--purple-accent,color-mix(in srgb,var(--color-primary) 12%,transparent))}.ss-av:before{content:attr(data-ini)}#session-summary-table-wrap td.ss-class{max-width:280px;white-space:nowrap}#session-summary-table-wrap .ss-class-code{font-weight:550;letter-spacing:.01em}#session-summary-table-wrap td.ss-pay{min-width:150px}#session-summary-table-wrap .ss-pay-cell{display:flex;flex-direction:column;gap:5px;padding:6px 0}#session-summary-table-wrap .ss-pay-cell .ss-pay-bar{margin-top:0;height:3px;max-width:120px}#session-summary-table-wrap td.ss-empty{height:auto;padding:44px 16px;text-align:center;font-size:13px;color:var(--text-muted)}#session-summary-table-wrap td.ss-empty b{display:block;margin-bottom:4px;font-size:13.5px;font-weight:650;color:var(--text-main)}#session-summary-table-wrap td.ss-empty .btn-baserow{margin-top:12px}.cls-tag{display:inline-flex;align-items:center;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.01em;white-space:nowrap;vertical-align:middle;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}.cls-tag:before{content:attr(data-tag)}.cls-tag--ss{color:var(--purple-text,var(--color-primary));background:var(--purple-accent,color-mix(in srgb,var(--color-primary) 12%,transparent))}.btn-baserow.is-filtered{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border-color));background:color-mix(in srgb,var(--color-primary) 7%,transparent);color:var(--color-primary)}#tup-root .clp-stu-lang{height:40px;padding:0 12px;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);color:var(--text-main);font:inherit;font-size:13px;cursor:pointer}#tup-root .clp-stu-lang:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}#session-summary-table-wrap tr.ss-group-row,#session-summary-table-wrap tr.ss-group-row:hover{cursor:default;background:color-mix(in srgb,var(--text-main) 2.5%,transparent)!important}#session-summary-table-wrap tr.ss-group-row td{height:30px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--text-muted)}.ss-reg .tp-footer{padding:6px 14px;gap:8px;font-size:12px}.ss-reg .tp-btn{min-width:26px}.ss-reg .tp-btn,.ss-reg .tp-size{height:26px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:500}@media (max-width:767.98px){.ss-search{flex:1 1 100%}.ss-status{flex:1 1 140px}}@media (max-width:1100px){.ss-fin-row{grid-template-columns:1fr}}@media (max-width:560px){.ss-fin-body{grid-template-columns:1fr}}.ss-multi{position:relative;gap:6px;flex-wrap:wrap}.ss-multi,.ss-multi-btn{display:inline-flex;align-items:center}.ss-multi-btn{gap:7px;height:32px;padding:0 10px;border-radius:10px;border:1px solid var(--card-border);background:rgba(255,255,255,.7);color:var(--text-main);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ss-multi-btn i,.ss-multi-btn svg{width:15px;height:15px;color:var(--color-primary)}.ss-multi-btn .ss-multi-chev{color:var(--text-muted);width:14px;height:14px}.ss-multi-btn:hover,.ss-multi-btn[aria-expanded=true]{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}.ss-multi-btn.is-combined{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border));color:var(--color-primary)}.ss-multi-n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-primary);color:#fff;font-size:11px;line-height:18px;text-align:center}.ss-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 10px;border-radius:13px;background:color-mix(in srgb,var(--color-primary) 9%,transparent);color:var(--color-primary);font-size:12px;font-weight:600}.ss-chip button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;width:20px;height:20px;border-radius:50%}.ss-chip button:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.ss-multi-pop{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 16px);background:var(--surface-solid,#fff);border:1px solid var(--card-border);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.16);padding:6px}.ss-multi-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.ss-multi-acts button{border:none;background:transparent;color:var(--color-primary);font:inherit;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;cursor:pointer;padding:2px 6px;border-radius:6px}.ss-multi-acts button:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.ss-multi-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ss-opt{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:10px;background:transparent;color:var(--text-main);font:inherit;font-size:13.5px;font-weight:500;text-align:left;cursor:pointer}.ss-opt:hover{background:var(--sidebar-hover,rgba(0,0,0,.04))}.ss-opt.on{background:color-mix(in srgb,var(--color-primary) 8%,transparent);font-weight:600}.ss-opt-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--card-border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent}.ss-opt-box i,.ss-opt-box svg{width:12px;height:12px}.ss-opt.on .ss-opt-box{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ss-opt-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-opt-st{font-size:11px;font-weight:600;color:var(--text-muted)}.ss-multi-foot{padding:8px 10px 6px;font-size:11.5px;color:var(--text-muted);border-top:1px solid var(--card-border);margin-top:4px}.ss-clear-btn{gap:4px;height:26px;padding:0 10px;border-radius:13px;border:1px dashed var(--card-border);background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600}.ss-clear-btn,.ss-plus-btn{display:inline-flex;align-items:center;cursor:pointer}.ss-plus-btn{justify-content:center;width:30px;height:30px;margin-left:12px;vertical-align:middle;border-radius:50%;border:1px solid var(--card-border);background:rgba(255,255,255,.7);color:var(--color-primary);padding:0}.ss-plus-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}.ss-clear-title{margin-left:10px;vertical-align:middle;white-space:nowrap}.ss-clear-btn svg{flex-shrink:0}.ss-clear-btn:hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--card-border))}.ss-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.34);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html[data-theme=dark] .ss-modal-overlay{background:rgba(0,0,0,.55)}.ss-modal{width:440px;max-width:100%;max-height:min(620px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--surface-solid,#fff);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.28);overflow:hidden}.ss-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px 6px}.ss-modal-head h3{margin:0;font-size:16px;font-weight:700;color:var(--text-main)}.ss-modal-x{border:none;background:transparent;color:var(--text-muted);font-size:22px;line-height:1;width:30px;height:30px;border-radius:8px;cursor:pointer}.ss-modal-x:hover{background:var(--sidebar-hover,rgba(0,0,0,.05))}.ss-modal-sub{padding:0 18px 10px;font-size:12.5px;color:var(--text-muted)}.sl-box{width:760px;max-width:94vw;max-height:84vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:18px;background:color-mix(in srgb,var(--color-primary) 4%,var(--surface-solid))}.sl-head{display:flex;align-items:center;gap:12px;padding:18px 20px 12px}.sl-head-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary);flex-shrink:0}.sl-head-ico i,.sl-head-ico svg{width:18px;height:18px}.sl-head-txt{flex:1 1;min-width:0}.sl-title{font-size:17px;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:8px}.sl-count{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.sl-toolbar{display:flex;align-items:center;gap:8px;padding:4px 20px 14px}.sl-search{position:relative;flex:1 1;min-width:0;margin:0}.sl-search i,.sl-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}.sl-search input,.sl-year{height:38px;box-sizing:border-box;border-radius:10px;border:1px solid var(--card-border);background:color-mix(in srgb,var(--text-main) 4%,transparent);color:var(--text-main);font:inherit;font-size:13.5px;outline:none}.sl-search input{width:100%;padding:0 12px 0 34px}.sl-year{padding:0 10px;cursor:pointer}.sl-search input:focus,.sl-year:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.sl-add{height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--color-primary);color:#fff;font:inherit;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0}.sl-add:hover{filter:brightness(1.08)}.sl-scroll{overflow:auto;flex:1 1;border-top:1px solid var(--border-color)}.sl-table{width:100%}.sl-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid))}.sl-table tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.sl-table td.td-desc span{font-weight:600}.ss-modal-search{position:relative;margin:0 18px 8px}.ss-modal-search i,.ss-modal-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}.ss-modal-search input{width:100%;box-sizing:border-box;height:38px;padding:0 12px 0 34px;border-radius:10px;border:1px solid var(--card-border);background:transparent;color:var(--text-main);font:inherit;font-size:13.5px;outline:none}.ss-modal-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.ss-modal-bar{display:flex;align-items:center;justify-content:space-between;padding:2px 18px 6px;font-size:12px;color:var(--text-muted)}.ss-modal-bar>span:last-child{display:inline-flex;gap:4px}.ss-modal-bar button{border:none;background:transparent;color:var(--color-primary);font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:3px 6px;border-radius:6px}.ss-modal-bar button:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.ss-modal .ss-multi-list{flex:1 1;min-height:120px;max-height:none;overflow-y:auto;padding:0 10px 8px}.ss-modal-empty{padding:24px 10px;text-align:center;font-size:13px;color:var(--text-muted)}.ss-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--card-border)}.ss-modal-foot button{height:34px;padding:0 14px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--card-border);background:transparent;color:var(--text-main)}.ss-modal-foot button.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ss-switch{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 30px 0 10px;border-radius:10px;background:rgba(255,255,255,.7);border:1px solid var(--card-border);color:var(--text-main);font-size:13px;font-weight:600;cursor:pointer}.ss-switch i,.ss-switch svg{width:15px;height:15px;color:var(--color-primary)}.ss-switch select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;outline:none;padding-right:2px}.ss-switch .ss-switch-chev{position:absolute;right:9px;pointer-events:none;color:var(--text-muted);width:14px;height:14px}.ss-switch:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border))}html[data-theme=dark] .ss-switch{background:var(--surface-solid)}#planification-modal .modal-box{width:640px!important}#planification-modal .pl-slot-body{gap:0!important;margin-top:4px!important}#planification-modal .pl-slot-body>.form-group.full,#planification-modal .pl-slot-section{display:grid!important;grid-template-columns:112px minmax(0,1fr);grid-column-gap:18px;column-gap:18px;grid-row-gap:10px;row-gap:10px;align-items:start;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--card-border) 75%,transparent)}#planification-modal .pl-slot-body>:first-child{padding-top:4px}#planification-modal .pl-slot-body>.form-group.full>label,#planification-modal .pl-slot-section-label{grid-column:1;padding-top:11px;margin:0!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--text-muted)!important}#planification-modal .pl-slot-body>.form-group.full>:not(label),#planification-modal .pl-slot-section>:not(.pl-slot-section-label){grid-column:2;min-width:0}#planification-modal .pl-slot-section .form-group{max-width:none!important}#planification-modal .pl-slot-section .form-group>label{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-bottom:5px}#planification-modal .field-row{gap:10px}#planification-modal input:not([type=hidden]),#planification-modal select{border:1px solid var(--field-border,var(--card-border))!important;background:var(--surface-solid,#fff)!important;box-sizing:border-box;box-shadow:none!important}#planification-modal input:focus,#planification-modal select:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--purple-accent)!important;outline:none}#planification-modal .pl-f-room{background:color-mix(in srgb,var(--color-primary) 4%,var(--surface-solid,#fff))!important;border-style:dashed!important}#planification-modal .pl-day-chip{flex:0 0 auto!important;min-width:48px;height:34px;padding:0 12px;border-radius:999px!important}#planification-modal .pl-add-slot-link{margin-top:12px!important}@media (max-width:640px){#planification-modal .pl-slot-body>.form-group.full,#planification-modal .pl-slot-section{grid-template-columns:1fr}#planification-modal .pl-slot-body>.form-group.full>:not(label),#planification-modal .pl-slot-section>:not(.pl-slot-section-label){grid-column:1}#planification-modal .pl-slot-body>.form-group.full>label,#planification-modal .pl-slot-section-label{padding-top:0}}.phone-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-main);font-size:inherit;font-weight:500;text-decoration:none;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.phone-link svg{color:var(--text-muted);flex-shrink:0}.phone-link:hover{text-decoration:underline}.phone-link:hover svg{color:var(--color-success)}.modal-box.info-modal .modal-header-row{background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 8%,var(--surface-solid)) 0,var(--surface-solid) 100%);border-bottom:1px solid color-mix(in srgb,var(--color-primary) 10%,var(--card-border));padding-bottom:16px;margin-bottom:8px}.modal-box.info-modal .modal-subtitle{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.modal-box.info-modal h4{color:var(--purple-text)!important;text-transform:uppercase;letter-spacing:.4px;font-size:11.5px!important}.info-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.info-chip--time{background:var(--purple-accent);color:var(--purple-text)}.info-chip--prof{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:color-mix(in srgb,var(--color-warning) 75%,#000)}.info-chip--room{background:color-mix(in srgb,var(--color-success) 12%,transparent);color:color-mix(in srgb,var(--color-success) 80%,#000)}html[data-theme=dark] .info-chip--prof,html[data-theme=dark] .info-chip--room{filter:brightness(1.6)}.info-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--card-border);cursor:pointer;font-size:13px;transition:background .12s ease,border-color .12s ease}.info-row:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border))}.info-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--purple-accent);color:var(--purple-text);font-size:11px;font-weight:700}.info-name{flex:1 1;min-width:0;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .card.card-level-4{border-radius:16px}#sp-root .sp-card-title{font-size:14.5px;letter-spacing:-.1px}#sp-root .sp-action-row{border-radius:12px;transition:background .12s ease}#sp-root .sp-action-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}#sp-root .sp-week-row{border:1px solid var(--card-border)}html:not([data-theme=dark]) #main-content,html:not([data-theme=dark]) .main-content{background:transparent}[data-tp-managed] table thead th{background:color-mix(in srgb,var(--color-primary) 3%,var(--surface-solid,#fff))!important;color:var(--text-muted)!important;font-size:11.5px!important;font-weight:600!important;letter-spacing:.04em!important;border-bottom:1px solid var(--card-border)!important}[data-tp-managed] table tbody tr{transition:background .12s ease}[data-tp-managed] table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 3%,transparent)}[data-tp-managed] table tbody td{border-bottom:1px solid color-mix(in srgb,var(--card-border) 70%,transparent)}body.tp-focus .tp-focus-card{display:flex!important;flex-direction:column;max-height:none!important;min-height:0!important;margin-bottom:0!important;overflow:hidden}body.tp-focus .tp-focus-card>.custom-scroll,body.tp-focus .tp-focus-card>[id$=table-view],body.tp-focus .tp-focus-card>[id$=table-wrap]{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto}#session-summary-table-wrap .status-badge{background:transparent!important;border-color:transparent!important;padding-left:0!important;padding-right:0!important;box-shadow:none!important;font-weight:500}#session-summary-table-wrap .ss-pay-cell .ss-pay-bar{display:none}#session-summary-table-wrap td.ss-pay{min-width:0}.tp-focus-hidden{display:none!important}body.tp-focus .tp-focus-card table{height:auto!important;min-height:0!important}body.tp-focus .tp-focus-card table tbody tr{height:auto}.tp-focus-card{animation:tpFocusIn .22s ease}@keyframes tpFocusIn{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}.tp-expand-btn.active{color:var(--purple-text);background:var(--purple-accent)}.popover-card.row-more-popover-portal,.popover-card:has(>.chk-container),.popover-card:has(>.grid-menu-item){border-radius:12px!important;border:1px solid var(--card-border)!important;background:var(--surface-solid,#fff)!important;box-shadow:0 1px 2px rgba(15,23,42,.06),0 16px 36px -12px rgba(15,23,42,.22)!important;padding:6px!important}.popover-card.row-more-popover-portal{min-width:210px;z-index:10060!important}.grid-menu-item,.popover-card .chk-container{display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 10px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;color:var(--text-main);cursor:pointer}.grid-menu-item i,.grid-menu-item svg,.popover-card .chk-container i,.popover-card .chk-container svg{width:15px!important;height:15px!important;color:var(--text-muted);flex-shrink:0}.grid-menu-item:hover,.popover-card .chk-container:hover{background:color-mix(in srgb,var(--color-primary) 7%,transparent)!important;color:var(--text-main)}.grid-menu-item:hover i,.grid-menu-item:hover svg,.popover-card .chk-container:hover i,.popover-card .chk-container:hover svg{color:var(--color-primary)}.grid-menu-item.is-danger,.grid-menu-item[style*=danger]{position:relative;margin-top:9px;color:var(--color-danger)!important}.grid-menu-item[style*=danger] i,.grid-menu-item[style*=danger] svg{color:var(--color-danger)!important}.grid-menu-item[style*=danger]:before{content:"";position:absolute;left:4px;right:4px;top:-5px;height:1px;background:var(--card-border)}.grid-menu-item[style*=danger]:hover{background:color-mix(in srgb,var(--color-danger) 8%,transparent)!important}.grid-menu-divider+.grid-menu-item[style*=danger]{margin-top:0}.grid-menu-divider+.grid-menu-item[style*=danger]:before{display:none}.grid-menu-divider{background:var(--card-border)!important;margin:5px 4px!important}.row-more-btn,[aria-label=Actions].icon-btn{border-radius:8px}.sp-header-actions .popover-card{z-index:10060!important;min-width:230px}.cal-events-container .cal-event{background:color-mix(in srgb,var(--color-primary) 9%,var(--surface-solid,#fff))!important;color:var(--text-main)!important;border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent)!important;border-left:3px solid var(--color-primary)!important;padding:6px 8px!important;overflow:hidden}.cal-events-container .cal-event:hover{box-shadow:0 6px 16px -8px rgba(76,64,160,.35)!important;z-index:5}.cal-events-container .cal-event.cal-event-confirmed{background:color-mix(in srgb,var(--color-primary) 5%,var(--surface-solid,#fff))!important;border-left-style:dashed!important;border-color:color-mix(in srgb,var(--color-primary) 16%,transparent)!important;border-left-color:var(--color-primary)!important;color:var(--text-main)!important}.cal-events-container .cal-event.cal-event-exam{border-left-color:var(--color-warning)!important}.cal-events-container .cal-event.cal-event-stack{background:color-mix(in srgb,var(--color-primary) 14%,var(--surface-solid,#fff))!important}.cal-event .cal-ev-title{font-size:11.5px!important;font-weight:700!important;line-height:1.25!important;color:var(--text-main)!important;overflow-wrap:anywhere;word-break:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal-event .cal-ev-time{font-weight:600!important;color:var(--purple-text)!important;margin-top:2px}.cal-event .cal-ev-loc,.cal-event .cal-ev-loc span,.cal-event .cal-ev-time{font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event .cal-ev-loc,.cal-event .cal-ev-loc span{color:var(--text-muted)!important;display:block}.cal-day-col{min-width:190px;flex:1 1!important}.cal-header{background:rgba(255,255,255,.75)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}html[data-theme=dark] .cal-header{background:var(--surface-solid)!important}.kb-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:box-shadow .15s ease,border-color .15s ease}.card.cls-card,.kb-card.is-clickable{cursor:pointer}.card.cls-card:hover,.kb-card.is-clickable:hover{box-shadow:0 2px 8px rgba(15,23,42,.07)!important;border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border));transform:none!important}.kb-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.kb-title{font-size:13.5px;color:var(--text-main);min-width:0;overflow:hidden;text-overflow:ellipsis}.kb-title,.kb-value{font-weight:600;white-space:nowrap}.kb-value{font-size:13px;flex-shrink:0}.kb-sub{flex:1 1;min-width:0;font-size:12px;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-meta>:last-child:not(.kb-sub){flex-shrink:0;font-size:11px}.card.cls-card{padding:14px 16px!important;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 2px rgba(15,23,42,.04)!important;border-radius:12px}.cls-exam{align-self:flex-start;font-size:11.5px;font-weight:600;color:var(--text-muted);padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--text-muted) 8%,transparent)}.cls-exam.is-soon{color:var(--purple-text);background:var(--purple-accent)}[data-tp-managed] table th{height:42px}[data-tp-managed] table td,[data-tp-managed] table th{padding-top:0;padding-bottom:0;box-sizing:border-box;vertical-align:middle}[data-tp-managed] table td{height:44px;line-height:1.35}[data-tp-managed] table.compact td,[data-tp-managed] table.compact th{height:36px}[data-tp-managed] table.comfortable td{height:54px}[data-tp-managed] table.comfortable th{height:44px}[data-tp-managed] table td>div,[data-tp-managed] table td>span{line-height:1.3}.tp-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0;padding:10px 16px;border-top:1px solid var(--card-border);font-size:12.5px;font-weight:500;color:var(--text-muted);background:var(--card-bg)}.tp-range{white-space:nowrap}.tp-range b{color:var(--text-main);font-weight:600}.tp-pages{display:flex;align-items:center;gap:4px}.tp-btn{min-width:30px;height:30px;padding:0 8px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-main);font:inherit;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease}.tp-btn:hover:not([disabled]):not(.active){background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}.tp-btn.active{background:var(--purple-accent);color:var(--purple-text);border-color:color-mix(in srgb,var(--color-primary) 18%,transparent);cursor:default}.tp-btn[disabled]{opacity:.35;cursor:not-allowed}.tp-gap{padding:0 4px}.tp-size-wrap{display:flex;align-items:center;gap:8px;white-space:nowrap}.tp-size{height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--field-border,var(--border-color));background:var(--surface-solid,var(--card-bg));color:var(--text-main);font:inherit;font-weight:600;cursor:pointer}@media (max-width:767.98px){.tp-footer{justify-content:center;padding:10px 12px}.tp-size-wrap .tp-size-label{display:none}}@media (max-width:767.98px){.custom-scroll:has(>table):not([data-fin-table]){mask-image:linear-gradient(90deg,transparent 0,black 14px,black calc(100% - 14px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,black 14px,black calc(100% - 14px),transparent)}}th{text-align:left;padding:13px 16px;font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--card-border);position:relative}.custom-scroll table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--sidebar-active);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--card-border)}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease}th.sortable.active,th.sortable:hover{color:var(--color-primary)}.th-sort-icon{display:inline-flex;vertical-align:-3px;margin-left:4px;opacity:.7}th.sortable.active .th-sort-icon{opacity:1}.th-sort-badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;margin-left:3px;border-radius:7px;background:var(--purple-accent);color:var(--purple-text);font-size:9.5px;font-weight:600;vertical-align:1px}.th-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.th-resize-handle.resizing,.th-resize-handle:hover{background:var(--purple-accent)}th.resizing-active{color:var(--color-primary)}tbody tr{transition:background-color .15s ease;border-bottom:1px solid var(--card-border);cursor:pointer}tbody tr:last-child{border-bottom:none}tbody tr:nth-child(2n){background-color:color-mix(in srgb,var(--color-primary) 2%,transparent)}tbody tr:hover{background-color:color-mix(in srgb,var(--color-primary) 6%,transparent)!important}td{text-align:left;padding:15px 16px;font-weight:500;color:var(--text-main);border:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.compact td{font-size:13px}table.compact th{padding:9px 14px}table.comfortable td{font-size:14.5px}table.comfortable th{padding:14px 16px}.grid-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-main);cursor:pointer;transition:.12s}.grid-menu-item:hover{background:rgba(0,0,0,.04)}.grid-menu-item.active-density{color:var(--purple-text);background:var(--purple-accent)}.grid-menu-divider{height:1px;background:var(--border-color);margin:6px 2px}.saved-view-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-main)}.saved-view-row:hover{background:rgba(0,0,0,.04)}.saved-view-row .sv-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.saved-view-row .sv-del:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);font-size:12px;padding:7px 12px;min-height:34px;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);flex-shrink:0}.filter-chip,.filter-chip-logic{color:var(--purple-text);font-weight:600}.filter-chip-logic{background:color-mix(in srgb,var(--color-primary) 18%,transparent);font-size:10px;padding:1px 6px;border-radius:8px;letter-spacing:.03em}.filter-chip-x{color:var(--purple-text);opacity:.7}.filter-chip-x:hover{opacity:1;background:color-mix(in srgb,var(--purple-text) 12%,transparent);color:var(--purple-text)}.filter-chip-clear{background:transparent;border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer}.filter-chip-clear:hover{color:var(--color-danger);border-color:var(--color-danger)}.filter-chip-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 0 4px}.filter-chip-row::-webkit-scrollbar{display:none}.filter-chip-row .filter-chip{scroll-snap-align:start}.btn-baserow[disabled]{opacity:.45;cursor:not-allowed}.logic-select{font-size:11px}tbody tr.row-selected{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent)!important}tbody tr.row-selected:hover{background-color:color-mix(in srgb,var(--color-primary) 13%,transparent)!important}.row-check{margin:0}#grid-select-all:indeterminate{background:var(--color-primary);opacity:.55;border-color:var(--color-primary)}.bulk-toolbar,.bulk-toolbar.active{display:none!important}.bulk-toolbar{position:fixed;left:50%;bottom:28px;transform:translate(-50%,24px);opacity:0;pointer-events:none;z-index:var(--z-bulk-toolbar);display:flex;align-items:center;gap:4px;background:var(--sidebar-active);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);border-radius:999px;padding:8px 10px 8px 18px;transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 32px)}.bulk-toolbar.active{opacity:1;pointer-events:auto;transform:translate(-50%)}.bulk-toolbar-count{font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;display:flex;align-items:center;gap:8px;padding-right:8px}.bulk-toolbar-count .count-pill{background:var(--color-primary);color:var(--on-primary-text);font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.bulk-toolbar-divider{width:1px;align-self:stretch;margin:4px 2px;background:var(--border-color);flex-shrink:0}.bulk-action-btn{background:transparent;border:none;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;color:var(--text-main);cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit;transition:.15s;white-space:nowrap}.bulk-action-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.bulk-action-btn.danger:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}.bulk-action-btn.icon-only{padding:0}.bulk-toolbar .popover-card{bottom:calc(100% + 10px);top:auto;left:50%;transform:translateX(-50%)}.bulk-status-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-main)}.bulk-status-option:hover{background:rgba(0,0,0,.04)}.saved-view-empty{padding:8px 10px;font-size:12px;font-weight:500;color:var(--text-muted)}.mobile-card-list{display:none}@media (max-width:767.98px){[data-fin-table] table{display:none!important}[data-fin-table] .mobile-card-list{display:flex;flex-direction:column;gap:10px;padding:10px}[data-fin-table]{overflow-x:hidden!important;max-height:none!important}.fin-card{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;box-sizing:border-box;background:var(--card-bg,#fff);border:1px solid var(--card-border,var(--border-color));border-radius:16px;padding:14px;cursor:pointer;-webkit-tap-highlight-color:color-mix(in srgb,var(--color-primary) 12%,transparent);transition:background-color .12s ease,transform .12s ease}.fin-card:active{background-color:color-mix(in srgb,var(--color-primary) 6%,transparent);transform:scale(.995)}.fin-card.row-selected{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.fin-card-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px}.fin-card-check input{width:20px;height:20px;margin:0}.fin-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.fin-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.fin-card-title{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;min-width:0}.fin-card-amount,.fin-card-title{color:var(--text-main);white-space:nowrap}.fin-card-amount{flex-shrink:0;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;letter-spacing:-.2px}.fin-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12px;font-weight:500;color:var(--text-muted)}.fin-card-note{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-card-meta .fin-card-date{display:inline-flex;align-items:center;gap:4px}.fin-card-meta .fin-card-date i{width:12px;height:12px}.fin-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.fin-card-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-muted)}.fin-card-arrow i{width:18px;height:18px}.fin-card-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 4px 2px;font-size:12px;font-weight:600;color:var(--text-muted)}.fin-card{min-height:var(--card-size-row-min-height)}.fin-card-arrow,.fin-card-check{min-width:32px;min-height:32px}}@media print{#cmdk-overlay,#grid-toolbar,.btn-baserow,.drawer,.drawer-overlay,.modal-overlay:not(#sp-receipt-modal),.period-toggle,.sidebar,.sidebar-overlay,.top-app-bar,.top-bar-actions{display:none!important}.custom-scroll:has(>table){max-height:none!important;overflow:visible!important}.custom-scroll table thead th{position:static!important}body{height:auto!important;overflow:visible!important}}.td-desc{color:var(--text-main);font-weight:600}.badge-nature,.td-val{color:var(--text-muted);font-weight:500}.badge-nature{background:rgba(0,0,0,.04);padding:4px 10px;border-radius:6px;font-size:12px;display:inline-block}html[data-theme=dark] .badge-nature{background:rgba(255,255,255,.07)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.3;border:1px solid transparent;white-space:nowrap}.status-badge-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}tr.group-header{background:transparent;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border)}tr.group-header td{padding:15px 20px;font-size:11.5px;font-weight:500;letter-spacing:.3px;color:var(--text-muted)}.modal-overlay{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:rgba(26,29,38,.5);align-items:center;justify-content:center;z-index:var(--z-modal-overlay);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.req-asterisk{color:var(--color-danger);font-weight:700}.form-group.field-invalid .field-wrap,.form-group.field-invalid .select-trigger,.form-group.field-invalid input,.form-group.field-invalid textarea{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,transparent)!important}.form-group.field-invalid label{color:var(--color-danger)}@keyframes fieldShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 3px var(--color-success-pale)}50%{box-shadow:0 0 0 6px var(--color-success-pale)}}.form-group.field-invalid{animation:fieldShake .4s ease}.btn-save[disabled]{opacity:.75;cursor:not-allowed;pointer-events:none}.btn-save .btn-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:btnSpin .6s linear infinite;margin-right:8px;vertical-align:-2px}.btn-save[disabled] .btn-spinner{display:inline-block}@keyframes btnSpin{to{transform:rotate(1turn)}}.modal-overlay.active{display:flex;animation:modalOverlayIn .15s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalBoxIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box{background:var(--surface-solid);border-radius:var(--radius-modal);padding:0;width:460px;max-width:92vw;max-height:88vh;box-shadow:0 2px 4px rgba(26,29,38,.06),0 12px 28px -6px rgba(26,29,38,.18);border:none;overflow:hidden;display:flex;flex-direction:column;animation:modalBoxIn .16s cubic-bezier(.16,1,.3,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.modal-drag-handle{display:none}@media (max-width:767.98px){@keyframes modalSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-overlay{align-items:flex-end;justify-content:stretch;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,var(--text-main) 45%,transparent)}.modal-overlay.active{animation:modalOverlayIn .18s ease}.modal-box{width:100%;max-width:100%;border-radius:20px 20px 0 0;max-height:var(--sheet-max-vh,90dvh);margin:0;animation:modalSheetIn .28s cubic-bezier(.32,.72,0,1);transform:translateY(var(--sheet-drag-y,0))}.modal-box.dragging{animation:none;transition:none}.modal-box.snapping{transition:transform .25s cubic-bezier(.32,.72,0,1)}.modal-drag-handle{display:flex;justify-content:center;padding:10px 0 2px;flex-shrink:0;touch-action:none;cursor:-webkit-grab;cursor:grab}.modal-drag-handle:after{content:"";width:36px;height:4px;border-radius:3px;background:var(--field-border)}.modal-header-row{padding:8px 24px 14px;cursor:-webkit-grab;cursor:grab;touch-action:none}.modal-close-btn{top:14px;right:16px}.modal-body{padding:4px 20px;-webkit-overflow-scrolling:touch}.modal-footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom, 0px))}.modal-box.keyboard-open{border-radius:12px 12px 0 0}}.modal-header-row{position:relative;display:flex;align-items:center;gap:16px;padding:24px 28px 16px;flex-shrink:0;background:var(--surface-solid)}.modal-title{font-size:16px;font-weight:600;color:var(--text-main);text-align:left;line-height:1.3;letter-spacing:-.1px}.modal-title-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}.modal-close-btn{position:absolute;top:20px;right:20px;color:var(--text-muted)}.modal-close-btn:hover{color:var(--text-main)}.modal-subtitle{font-size:13px;font-weight:400;color:var(--text-muted);text-align:left;line-height:1.4}.modal-body{padding:4px 28px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;flex:1 1;background:var(--surface-solid)}.modal-body:has(.app-dropdown.open){overflow:visible}.field-group{display:flex;flex-direction:column;gap:16px;padding-top:16px}.ew-progress{display:flex;justify-content:center;gap:6px;margin-bottom:20px}.ew-progress-dot{height:4px;width:32px;background:var(--surface-border);border-radius:2px;transition:background .2s ease}.ew-progress-dot.active{background:var(--color-primary)}.ew-step-body .btn-group{display:flex;gap:10px;align-items:center}.ew-step-body .btn-text{background:transparent;color:var(--color-primary);border:none;padding:6px 4px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.ew-step-body .btn-text:hover{text-decoration:underline}.ew-class-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:14px}.class-badge{background:var(--purple-accent,color-mix(in srgb,var(--color-primary) 10%,transparent));color:var(--color-primary);padding:6px var(--space-3);border-radius:var(--radius-lg);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.class-badge .remove-btn{cursor:pointer;font-weight:700}.class-badge .remove-btn:hover{color:var(--color-danger)}.ew-fee-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--surface-border);gap:12px}.ew-fee-row:last-child{border-bottom:none}.ew-fee-row span:first-child{font-weight:500;color:var(--text-main)}.me-student{gap:12px;margin-bottom:16px}.me-avatar,.me-student{display:flex;align-items:center}.me-avatar{width:38px;height:38px;border-radius:50%;background:var(--purple-accent,color-mix(in srgb,var(--color-primary) 12%,transparent));color:var(--color-primary);font-weight:700;font-size:13px;justify-content:center;flex-shrink:0}.me-student-name{font-weight:700;font-size:15px;color:var(--text-main);line-height:1.25}.me-student-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px}.me-enrollment-row{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--card-border);border-radius:12px;margin-bottom:10px;background:var(--card-bg)}.me-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.me-label{font-size:12px}.me-label,.me-pill{font-weight:600;color:var(--text-muted)}.me-pill{font-size:11.5px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 12%,transparent);white-space:nowrap}.me-class-name{font-weight:600;font-size:14px;color:var(--text-main);line-height:1.3}.me-meta{font-size:12.5px;color:var(--text-muted);margin-top:2px}.me-input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--field-border);border-radius:8px;background:var(--surface-solid);color:var(--text-main);font-family:inherit;font-size:14px;line-height:1.4;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.me-input::placeholder{color:var(--text-muted);opacity:.8}.me-input:hover{border-color:var(--text-muted)}.me-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--purple-accent)}.me-input.is-changed{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.me-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.me-input[type=number]::-webkit-inner-spin-button,.me-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.me-combo{position:relative}.me-combo .me-input{padding-left:34px}.me-combo-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}.me-fee-row{display:flex;gap:8px;align-items:stretch}.me-fee{position:relative;flex:1 1;min-width:0}.me-fee .me-input{padding-right:46px}.me-fee-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--text-muted);pointer-events:none}.me-compact{padding:8px 14px!important;font-size:13px!important;white-space:nowrap;justify-content:center}.me-row-actions{display:flex;align-items:center;gap:2px;padding-top:10px;border-top:1px solid var(--surface-border)}.me-spacer{flex:1 1}.me-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;background:transparent;border-radius:8px;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.me-link svg{width:14px;height:14px}.me-link:hover{background:var(--surface-solid-hover);color:var(--text-main)}.me-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--purple-accent)}.me-link--danger:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.me-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.me-enrollment-row .btn-group{display:flex;gap:10px;justify-content:flex-end}.field-group:first-child{padding-top:4px}.field-group+.field-group{border-top:1px solid var(--surface-border)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.field-row .form-group.full{grid-column:1/-1}.form-group{margin-bottom:0;min-width:0}.form-group label{display:block;font-size:12.5px;font-weight:600;color:var(--text-muted);margin-bottom:7px;letter-spacing:.1px;line-height:1.3}.form-group .field-wrap{position:relative;display:flex;align-items:center;background:var(--surface-solid);border:1px solid var(--field-border);border-radius:8px;transition:border-color .15s var(--ease-standard,ease),box-shadow .15s var(--ease-standard,ease)}.form-group .field-wrap:hover{border-color:var(--text-muted)}.form-group .field-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--purple-accent)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select{flex:1 1;width:100%;padding:10px 13px;border:none;border-radius:8px;font-family:inherit;font-size:14.5px;line-height:1.4;outline:none;background:transparent;color:var(--text-main);font-weight:400;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.form-group .field-wrap.multiselect-wrap{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;cursor:default}.chip-option{position:relative;display:inline-flex}.chip-option input[type=checkbox]{position:absolute;inset:0;margin:0;padding:0;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.chip-option span{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;border:1px solid var(--field-border);background:var(--surface-solid);color:var(--text-main);font-size:12.5px;font-weight:500;line-height:1.2;white-space:nowrap;transition:background-color .15s var(--ease-standard,ease),border-color .15s var(--ease-standard,ease),color .15s var(--ease-standard,ease)}.chip-option:hover span{border-color:var(--text-muted)}.chip-option input:checked+span{background:var(--purple-accent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.chip-option input:focus-visible+span{box-shadow:0 0 0 3px var(--purple-accent)}.day-pills .chip-option span{min-width:46px;padding:7px 4px;text-transform:capitalize}@media (max-width:480px){.day-pills .chip-option span{min-width:40px;padding:6px 2px;font-size:12px}}.form-group input::placeholder{color:var(--text-muted);font-weight:400;opacity:.8}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%236a7383' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}.link-search-wrap{flex-direction:column;align-items:stretch;overflow:visible}.link-search-toprow{display:flex;align-items:center;width:100%}.select-trigger{position:relative;flex-direction:column;align-items:stretch;overflow:visible;cursor:pointer}.select-trigger .select-display{display:block;padding:10px 34px 10px 13px;font-size:14.5px;font-weight:400;color:var(--text-main);line-height:1.4}.select-trigger:after{content:"";position:absolute;top:50%;right:14px;width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none}.app-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface-solid);border:1px solid var(--field-border);border-radius:8px;box-shadow:var(--shadow-level-hover);max-height:220px;overflow-y:auto;z-index:var(--z-dropdown-low);padding:5px;scrollbar-width:thin}.app-dropdown.open{display:block}.ew-step-body .app-dropdown{position:static;margin-top:8px;max-height:200px;box-shadow:none}.ew-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--surface-border)}.ew-actions .btn-text{margin:0 auto}.ew-actions .btn-cancel,.ew-actions .btn-save{flex-shrink:0;min-width:96px;justify-content:center}.app-dropdown.detached{position:fixed;z-index:var(--z-dropdown-detached)}.app-dropdown::-webkit-scrollbar{width:6px}.app-dropdown::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:3px}.app-dropdown-option{padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--text-main);cursor:pointer;border-radius:6px;line-height:1.35;transition:background .12s ease}.app-dropdown-option:hover{background:var(--surface-solid-hover)}.app-dropdown-option.selected{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:600}.app-dropdown-empty{padding:10px 12px;font-size:12px;font-weight:500;color:#9ca3af}.modal-check-row{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--text-main)}.modal-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;border-radius:4px}.modal-check-row input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:16px 28px;border-top:1px solid var(--surface-border);background:var(--surface-solid-hover);flex-shrink:0}.modal-box{font-family:inherit}.modal-actions:empty,.modal-footer:empty{display:none!important}.modal-overlay{background:rgba(15,23,42,.22);backdrop-filter:blur(5px) saturate(1.05);-webkit-backdrop-filter:blur(5px) saturate(1.05)}html[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.42)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.modal-overlay{background:rgba(15,23,42,.36)}html[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.55)}}#confirm-modal-reason-group{padding:6px 24px 18px;margin:0}#confirm-modal-reason-group textarea{box-sizing:border-box;width:100%;min-height:72px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.45;resize:vertical}@media (min-width:768px){#confirm-modal-reason-group{padding:8px 32px 22px}}.modal-box .form-group label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.modal-box .form-group .field-wrap{border-radius:10px;min-height:40px}.modal-box .form-group input:not([type=checkbox]):not([type=radio]),.modal-box .form-group select{font-size:14px;padding:9px 12px}.modal-box .btn-cancel,.modal-box .btn-cta-primary,.modal-box .btn-cta-secondary,.modal-box .btn-save{min-height:40px;padding:0 18px;border-radius:10px;justify-content:center}.modal-box .btn-save:hover{transform:none}.modal-box .me-input{border-radius:10px;min-height:40px}@media (min-width:768px){.modal-box{width:520px;border-radius:var(--radius-modal);border:1px solid var(--card-border);box-shadow:0 1px 2px rgba(15,23,42,.06),0 24px 48px -12px rgba(15,23,42,.24)}.modal-header-row{padding:26px 32px 10px}.modal-title{font-size:17px;font-weight:600;letter-spacing:-.2px}.modal-subtitle{font-size:13px;margin-top:2px}.modal-close-btn{top:22px;right:22px}.modal-body{padding:14px 32px 24px;gap:18px}.modal-footer{padding:4px 32px 26px;border-top:none;background:var(--surface-solid);gap:10px}.modal-box:has(.me-row-v2){width:620px}.modal-header-row{padding-right:64px}.modal-header-row+.modal-footer{padding-top:22px}.modal-subtitle{line-height:1.55}}.me-row-v2 .me-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px}.me-row-v2 .me-cell-save{padding-left:8px}.me-row-v2{padding:16px;border-radius:14px}.me-footer{margin-top:20px}.custom-scroll::-webkit-scrollbar{width:6px;height:6px}.cmdk-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-main);scroll-margin:6px}.cmdk-item.selected,.cmdk-item:hover{background:var(--surface-solid-hover)}.cmdk-item.selected{box-shadow:inset 0 0 0 1px #e4e6ec}.cmdk-item i{color:var(--text-muted);width:16px;height:16px;flex-shrink:0}.cmdk-group-label{padding:10px 10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#a2a8b4}.cmdk-group-label:first-child{padding-top:4px}.cmdk-item-label{color:var(--text-main)}.cmdk-item-label,.cmdk-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-meta{font-size:11.5px;font-weight:500;color:#9aa1ae;margin-top:1px}.cmdk-item-hint{font-size:11px;font-weight:600;color:#b2b8c4;margin-left:auto;padding-left:10px;flex-shrink:0}.cmdk-match{color:var(--color-primary);font-weight:600}.cmdk-empty{padding:32px 12px;text-align:center;font-size:13px;font-weight:500;color:#9aa1ae;flex-direction:column;gap:8px}.cmdk-empty,.cmdk-footer{display:flex;align-items:center}.cmdk-footer{gap:16px;padding:10px 16px;border-top:1px solid var(--surface-border);background:var(--surface-solid-hover);flex-shrink:0}.cmdk-kbd-hint{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#8a92a3}.cmdk-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:var(--surface-solid-hover);border:1px solid var(--field-border);box-shadow:0 1px 0 var(--surface-border);font-size:10.5px;font-weight:700;color:var(--text-muted);line-height:1}.gs-spinner{width:14px;height:14px;border:2px solid var(--field-border);border-top-color:var(--color-primary);border-radius:50%;animation:gs-spin .7s linear infinite;flex-shrink:0}.gs-spinner[hidden]{display:none}@keyframes gs-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.gs-spinner{animation-duration:2.4s}}.gs-close{background:none;border:none;padding:2px;cursor:pointer;border-radius:6px;display:inline-flex}#cmdk-results .cmdk-item:focus-visible,.gs-close:focus-visible,.gs-retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.gs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.gs-count{margin-left:6px;font-weight:600;opacity:.7}.gs-count,.gs-more{color:var(--text-muted)}.gs-more{font-weight:500}.gs-more i,.gs-note{color:var(--text-muted)}.gs-note{padding:6px 12px 8px;font-size:11.5px}.gs-banner{display:flex;align-items:center;gap:8px;margin:2px 2px 6px;padding:8px 10px;border-radius:8px;font-size:12.5px;font-weight:500;color:var(--color-danger);background:var(--surface-solid-hover);border:1px solid var(--field-border)}.gs-banner span{flex:1 1;min-width:0}.gs-retry{background:none;border:1px solid var(--field-border);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;color:var(--text-main);cursor:pointer}@media (max-width:640px){#cmdk-overlay .modal-box{max-height:82vh!important}#cmdk-overlay .cmdk-footer{display:none}}.custom-scroll::-webkit-scrollbar-track{background:transparent}.custom-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}.toast{position:fixed;bottom:24px;right:24px;background:var(--toast-bg);color:var(--toast-text);padding:16px 20px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:var(--toast-shadow);z-index:var(--z-toast);visibility:hidden;opacity:0;pointer-events:none}.row-more-wrap{position:relative;display:inline-flex;flex-shrink:0;min-width:28px;justify-content:flex-end}.row-more-wrap .popover-card{top:calc(100% + 4px);right:0;left:auto;min-width:168px;padding:6px}.row-more-empty-actions{display:flex;align-items:center;gap:8px}.toast.show{visibility:visible;opacity:1;animation:fadeIn .25s ease}.view-switcher-row{align-items:center;background:var(--sidebar-active);border-radius:7px;padding:2px;gap:1px}.view-toggle-btn{background:transparent;border:none;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:5px;transition:.15s;line-height:1}.view-toggle-btn i{width:13px;height:13px}.view-toggle-btn:hover{background:var(--sidebar-hover);color:var(--text-main)}.view-toggle-btn.active{box-shadow:var(--shadow-level-default)}@media (max-width:900px){.view-toggle-label{display:none}.view-toggle-btn{padding:6px 8px}}.view-switcher-row{height:40px;box-sizing:border-box;padding:3px;gap:2px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--card-bg)}.view-toggle-btn{height:32px;padding:0 12px;gap:6px;border-radius:calc(var(--radius-sm) - 3px);font-size:13px;font-weight:600;letter-spacing:0;transition:background .18s var(--ease-standard),color .18s var(--ease-standard)}.view-toggle-btn i,.view-toggle-btn svg{width:15px;height:15px}.view-toggle-btn.active{background:var(--purple-accent);color:var(--purple-text);box-shadow:none}.view-toggle-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.custom-scroll table thead th,table thead th{font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--text-muted);padding:12px 16px}tbody tr:nth-child(2n){background-color:transparent}tbody tr{border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}tbody tr:hover{background-color:color-mix(in srgb,var(--color-primary) 4%,transparent)!important}td{padding:13px 16px;font-size:13.5px}table.compact td{padding:8px 14px}table.comfortable td{padding:16px}.kanban-board-scroll{gap:16px;padding-bottom:6px}.kanban-column{padding:10px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 3%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.kanban-col-header{font-size:12.5px;font-weight:600;color:var(--text-muted);padding:2px 4px 10px}.kanban-card,.kb-card{border-radius:var(--radius-sm);border:1px solid var(--border-color);box-shadow:none;padding:12px 14px}.kanban-card:hover,.kb-card.is-clickable:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--border-color));box-shadow:none!important}.mp-card{background:var(--card-bg);border-radius:20px;border:1px solid var(--card-border);box-shadow:var(--shadow-level-default);transition:background .2s ease,box-shadow .25s ease,transform .25s ease}.mp-card:hover{background:rgba(255,255,255,.85);box-shadow:var(--shadow-level-hover)}.mp-section{margin-bottom:40px}@media (max-width:767.98px){#view-Milestone .mp-kpi-summary-grid{grid-template-columns:1fr;gap:10px;margin-bottom:20px}#view-Milestone .mp-kpi-summary-card{padding:16px;gap:10px;min-height:0}#view-Milestone .mp-kpi-summary-head{gap:8px;justify-content:flex-start}#view-Milestone .mp-kpi-summary-label{order:2;font-size:11px;letter-spacing:.3px;white-space:normal;line-height:1.2}#view-Milestone .mp-kpi-summary-val{font-size:22px;letter-spacing:-.3px;line-height:1.15;word-break:break-word}#view-Milestone .mp-kpi-summary-trend{font-size:11px;gap:4px;flex-wrap:wrap}#view-Milestone .mp-kpi-summary-trend i{width:11px;height:11px}#view-Milestone .mp-section{margin-bottom:28px}#view-Milestone .mp-group-grid-outer{grid-template-columns:1fr;gap:16px}#view-Milestone .mp-group-container{padding:var(--card-size-sm-padding) var(--card-size-sm-padding) var(--card-gap-md);gap:14px}#view-Milestone .mp-group-header{padding-bottom:14px}#view-Milestone .mp-group-header-left{gap:10px;min-width:0}#view-Milestone .mp-group-icon{width:30px;height:30px}#view-Milestone .mp-group-title{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#view-Milestone .mp-group-item{padding:12px 8px;min-height:44px;box-sizing:border-box}#view-Milestone .mp-group-item-left{gap:5px}#view-Milestone .mp-group-item-label{font-size:13.5px}#view-Milestone .mp-group-item-val{font-size:15.5px}}.mp-gauge{position:relative;margin:4px auto 0}.mp-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}@keyframes mpTimelinePulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-primary) 10%,transparent)}}.mp-kpi8-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:var(--card-size-md-padding);display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.mp-kpi8-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-hover);border-color:color-mix(in srgb,var(--kpi8-accent,var(--color-primary)) 35%,var(--card-border))}.mp-kpi8-card:focus-visible{outline:2px solid var(--kpi8-accent,var(--color-primary));outline-offset:2px}.mp-hero3{background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary) 8%,transparent) 0,color-mix(in srgb,var(--color-primary) 4%,transparent) 45%,color-mix(in srgb,var(--color-primary) 2%,transparent) 100%);border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:26px;padding:var(--card-size-lg-padding)}.mp-kpi-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:stretch}@media (max-width:900px){.mp-kpi-summary-grid{gap:10px}}@media (max-width:480px){.mp-kpi-summary-grid{gap:8px}}.mp-kpi-summary-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-size-sm-radius);padding:var(--card-size-sm-padding);min-height:var(--card-size-sm-min-height);display:flex;flex-direction:column;justify-content:space-between;gap:10px;box-shadow:var(--shadow-level-default);transition:transform .18s var(--ease-standard,ease),box-shadow .18s var(--ease-standard,ease),border-color .18s var(--ease-standard,ease)}.mp-kpi-summary-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-level-hover);border-color:color-mix(in srgb,var(--kpi-summary-accent,var(--color-primary)) 35%,var(--card-border))}.mp-kpi-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}.mp-kpi-summary-head .mp-kpi-summary-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-kpi-summary-head .mp-kpi-summary-days-chip{flex-shrink:0}.mp-kpi-summary-label{font-size:11px;font-weight:500;text-transform:none;letter-spacing:.01em;color:var(--text-muted)}.mp-kpi-summary-days-chip{display:flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0;background:color-mix(in srgb,currentColor 12%,transparent)}.mp-kpi-summary-days-chip i{width:10px;height:10px;flex-shrink:0}.mp-kpi-summary-days-chip.up{color:var(--color-success)}.mp-kpi-summary-days-chip.down{color:var(--color-danger)}.mp-kpi-summary-days-chip.flat{color:var(--text-muted)}.mp-kpi-summary-val{font-size:27px;font-weight:650;letter-spacing:-.5px;color:var(--text-main);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mp-kpi-summary-trend{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--text-muted)}.mp-kpi-summary-trend i{width:11px;height:11px;flex-shrink:0}.mp-kpi-summary-trend.up{color:var(--color-success)}.mp-kpi-summary-trend.down{color:var(--color-danger)}.mp-kpi-summary-trend.flat{color:var(--text-muted)}.mp-group-grid-outer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;align-items:stretch}@media (max-width:1100px){.mp-group-grid-outer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.mp-group-grid-outer{grid-template-columns:1fr}}.mp-group-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg,18px);padding:24px 24px 18px;display:flex;flex-direction:column;gap:18px;height:100%;box-shadow:var(--shadow-level-default);transition:box-shadow .2s var(--ease-standard,ease),border-color .2s var(--ease-standard,ease),transform .2s var(--ease-standard,ease)}.mp-group-container:hover{box-shadow:var(--shadow-level-hover);border-color:color-mix(in srgb,var(--group-accent,var(--color-primary)) 22%,var(--card-border));transform:translateY(-1px)}.mp-group-header{justify-content:space-between;padding-bottom:16px;border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}.mp-group-header,.mp-group-header-left{display:flex;align-items:center;gap:12px}.mp-group-icon{width:36px;height:36px;border-radius:var(--radius-sm,10px);display:flex;align-items:center;justify-content:center;background:var(--group-accent-soft,color-mix(in srgb,var(--color-primary) 10%,transparent));color:var(--group-accent,var(--color-primary));flex-shrink:0}.mp-group-icon i{width:17px;height:17px}.mp-group-title{font-size:16px;font-weight:600;color:var(--text-main);letter-spacing:-.15px}.mp-group-count{display:flex;align-items:center;gap:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap;flex-shrink:0;transition:background .2s ease,border-color .2s ease,color .2s ease}.mp-group-count-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.mp-group-count--success{background:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 25%,transparent)}.mp-group-count--success .mp-group-count-dot{background:var(--color-success)}.mp-group-count--warning{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 25%,transparent)}.mp-group-count--warning .mp-group-count-dot{background:var(--color-warning)}.mp-group-count--danger{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 25%,transparent)}.mp-group-count--danger .mp-group-count-dot{background:var(--color-danger)}.mp-group-progress-track{position:relative;width:100%;height:8px;border-radius:20px;background:rgba(255,255,255,.06);margin-top:-2px;margin-bottom:6px}.mp-group-progress-fill{height:100%;border-radius:20px;transition:width .4s ease;position:relative}.mp-group-progress-fill--success{background:linear-gradient(90deg,#22c55e,#a3e635)}.mp-group-progress-fill--warning{background:linear-gradient(90deg,var(--color-warning),#fde047)}.mp-group-progress-fill--danger{background:linear-gradient(90deg,var(--color-danger),#fb923c)}.mp-group-progress-fill:after{content:"";position:absolute;top:50%;right:0;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--card-bg,#0b0f1a);box-shadow:0 1px 4px rgba(0,0,0,.35);transform:translate(50%,-50%)}#main-header:has(+#view-reports.active){margin-bottom:16px}.reports-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,26%);grid-gap:var(--space-8);gap:var(--space-8);align-items:stretch}.reports-main,.reports-side{display:flex;flex-direction:column;min-width:0}.reports-side{gap:var(--space-7)}.reports-side-card{width:100%}#view-reports{padding:var(--space-4) var(--space-6) var(--space-7);box-sizing:border-box}#view-reports .reports-kpi-row{gap:var(--space-7)!important}#view-reports .reports-main>.card{margin-top:var(--space-7)!important}@media (max-width:767.98px){#view-reports{padding-left:var(--space-4);padding-right:var(--space-4)}}#view-reports .reports-main table th{padding:18px 24px}#view-reports .reports-main table td{padding:22px 24px}#view-reports .reports-main table td+td,#view-reports .reports-main table th+th{padding-left:28px}#view-reports .reports-main table th{font-size:12.5px}#view-reports .reports-main table td,#view-reports .reports-main table td .td-desc,#view-reports .reports-main table td .td-val{font-size:14.5px;line-height:1.3}#view-reports .reports-main table td .kpi-trend-row{font-size:13px}.reports-side-card--grow{flex:1 1;min-height:0;display:flex;flex-direction:column}.reports-side-card--grow .chart-header{flex-shrink:0}.reports-side-card--grow .urgency-timeline--vertical{flex:1 1;min-height:0;overflow-y:auto;padding-right:4px}@media (max-width:1024px){.reports-side-card--grow{flex:0 1 auto}#urgency-timeline-card{max-height:420px;min-height:220px}}.reports-kpi-row .card-financial,.reports-side-card{align-items:flex-start}.reports-kpi-row .card,.reports-side-card:not(.reports-side-card--grow){justify-content:flex-start!important}.reports-side-card{box-shadow:var(--shadow-level-hover)}.reports-kpi-row .kpi-label,.reports-side-card .kpi-label{font-size:11.5px;letter-spacing:.1px;line-height:1.3;margin-bottom:10px}.reports-kpi-row .kpi-val,.reports-side-card .kpi-val{font-size:22px!important;line-height:1.15}.reports-kpi-row .kpi-val span,.reports-side-card .kpi-val span{font-size:22px!important}.reports-kpi-row .card-icon-badge,.reports-side-card .card-icon-badge{width:30px;height:30px;margin-bottom:14px}.reports-kpi-row .card,.reports-side-card:not(.reports-side-card--grow){min-height:108px!important;padding:26px 28px!important;box-sizing:border-box}#rep-health-score-card>div:first-child{margin-top:2px}.card-gold-gradient{position:relative;overflow:hidden}html[data-theme=dark] .card-gold-gradient{border-color:color-mix(in srgb,var(--color-accent-gold) 30%,var(--card-border))}html[data-theme=dark] .card-gold-gradient:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent-gold) 14%,transparent) 0,transparent 60%);pointer-events:none}html[data-theme=dark] .card-gold-gradient .card-icon-badge{background:color-mix(in srgb,var(--color-accent-gold) 18%,transparent);color:var(--color-accent-gold)}@media (max-width:1024px){.reports-layout{grid-template-columns:1fr}}@media (max-width:767.98px){.reports-layout{display:block}.reports-side{margin-top:var(--space-7)}}.urgency-timeline{display:flex;flex-direction:column}.urgency-timeline-item{display:flex;align-items:flex-start;gap:14px;padding:0 6px 30px;position:relative}.urgency-timeline-item:first-child{padding-top:2px}.urgency-timeline-item:last-child{padding-bottom:2px}.urgency-timeline-item:hover .urgency-timeline-content{background:var(--sidebar-hover);transform:translateX(1px)}.urgency-timeline-item:hover .urgency-timeline-dot{transform:scale(1.25)}.urgency-timeline-item:hover .urgency-timeline-action i{transform:translateX(3px)}.urgency-timeline-item:hover .urgency-timeline-action{color:var(--tl-color,var(--color-urgency-action))}.urgency-timeline-marker{position:relative;width:10px;flex-shrink:0;display:flex;justify-content:center;padding-top:5px}.urgency-timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--tl-color,var(--text-muted));box-shadow:0 0 0 5px color-mix(in srgb,var(--tl-color,var(--text-muted)) 14%,transparent);position:relative;z-index:1;flex-shrink:0;transition:transform .18s ease,box-shadow .18s ease}.urgency-timeline-item:hover .urgency-timeline-dot{box-shadow:0 0 0 6px color-mix(in srgb,var(--tl-color,var(--text-muted)) 24%,transparent)}.urgency-timeline-item[data-overdue=true] .urgency-timeline-dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--tl-color,var(--text-muted));animation:urgencyPulse 1.8s ease-out infinite}@keyframes urgencyPulse{0%{transform:scale(.7);opacity:.6}to{transform:scale(1.7);opacity:0}}.urgency-timeline-marker:after{content:"";position:absolute;top:15px;bottom:-30px;left:50%;transform:translateX(-50%);width:1px;background:color-mix(in srgb,var(--card-border) 70%,transparent)}.urgency-timeline-item:last-child .urgency-timeline-marker:after{display:none}.urgency-timeline-content{flex:1 1 auto;min-width:0;border-radius:var(--radius-sm);padding:8px 10px;margin:-8px -10px;transition:background .18s ease,transform .18s ease}.urgency-timeline-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.urgency-timeline-label{font-size:16px;font-weight:600;color:var(--text-main);flex:1 1 auto;min-width:0;line-height:1.35;letter-spacing:-.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.urgency-timeline-amount{font-size:18px;font-weight:700;color:var(--text-main);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.urgency-timeline-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:12px 0}.urgency-timeline-date{margin-top:6px;font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.urgency-timeline-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.2px;padding:1.5px 7px;border-radius:999px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;transition:filter .18s ease}.urgency-timeline-item:hover .urgency-timeline-badge{filter:brightness(1.08)}.urgency-timeline-badge i{width:9px;height:9px;flex-shrink:0}.urgency-timeline-days{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:12px;white-space:nowrap}.urgency-timeline-days i{width:12px;height:12px;flex-shrink:0}.urgency-timeline-action{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--color-urgency-action);margin-top:10px;line-height:1.4;transition:color .18s ease}.urgency-timeline-action i{width:12px;height:12px;flex-shrink:0;transition:transform .18s ease}@media (max-width:480px){.urgency-timeline-item{gap:10px;padding:0 2px 24px}.urgency-timeline-label{white-space:normal;overflow:visible;text-overflow:clip}.urgency-timeline-row{flex-wrap:wrap}}.baserow-input,.baserow-select,.brand-text,.btn-baserow,.btn-cta-primary,.btn-cta-secondary,.card,.drawer,.kpi-card-v2,.menu-item,.modal-box,.mp-card,.mp-group-container,.side-card,body,button,input,select,table,td,textarea,th{font-family:Plus Jakarta Sans,sans-serif!important}.mp-group-items{display:flex;flex-direction:column;gap:4px;flex:1 1;justify-content:flex-start}.mp-group-item{display:grid;grid-template-columns:1fr auto;align-items:center;grid-column-gap:16px;column-gap:16px;padding:14px 10px;margin:0 -10px;border-radius:var(--radius-sm,10px);cursor:pointer;transition:background .16s var(--ease-standard,ease),transform .16s var(--ease-standard,ease)}.mp-group-item:focus-visible,.mp-group-item:hover{background:color-mix(in srgb,var(--group-accent,var(--color-primary)) 6%,transparent);outline:none;transform:translateX(2px)}.mp-group-item:not(:last-child){border-bottom:1px dashed color-mix(in srgb,var(--card-border) 55%,transparent)}.mp-group-item-left{display:flex;flex-direction:column;gap:5px;min-width:0}.mp-group-item-label{font-size:14.5px;font-weight:700;color:var(--text-main);letter-spacing:-.05px}.mp-group-item-target{font-size:12px;font-weight:600;color:var(--group-accent,var(--color-primary));opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-group-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.mp-group-item-val{font-size:17.5px;font-weight:600;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0}.mp-repart-trend{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:700}.mp-repart-trend i{width:13px;height:13px}.mp-repart-trend.bad{color:var(--color-danger)}.mp-repart-trend.good{color:var(--color-success)}.mp-repart-trend.flat{color:var(--text-muted)}#view-dashboard .side-card{padding:var(--card-gap-md) var(--card-size-sm-padding);gap:var(--card-gap-sm);min-height:var(--card-size-row-min-height)}#view-dashboard .side-card-header{gap:12px}#view-dashboard .side-card-icon{width:38px;height:38px;border-radius:11px}#view-dashboard .side-card-icon svg{width:18px;height:18px}#view-dashboard .side-card-title{font-size:14px}#view-dashboard .side-card-desc{font-size:12px;margin-top:2px}#view-dashboard table.compact td,#view-dashboard table.compact th{padding:9px 14px}.dash-v2{--dash-gap-xs:10px;--dash-gap-sm:16px;--dash-gap-md:24px;--dash-gap-lg:40px}.dash-v2 .kpi-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;grid-gap:var(--dash-gap-sm);gap:var(--dash-gap-sm);margin-bottom:var(--dash-gap-lg);align-items:stretch}.dash-v2 .kpi-grid>.kpi-card-v2:first-child{padding:var(--space-7);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-level-default)}html[data-theme=dark] .dash-v2 .kpi-grid>.kpi-card-v2:first-child{background:radial-gradient(120% 140% at 0 0,color-mix(in srgb,var(--color-primary) 10%,transparent) 0,color-mix(in srgb,var(--color-primary) 0%,transparent) 55%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%),var(--card-bg);border-color:color-mix(in srgb,var(--color-primary) 14%,transparent)}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-head{margin-bottom:10px}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-label{font-size:14px}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-val{font-size:38px;letter-spacing:-.8px;margin-bottom:10px}.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2){padding:var(--space-7);box-shadow:var(--shadow-level-default);border-color:var(--card-border);min-height:108px;justify-content:center}.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-head{margin-bottom:12px}.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-label{font-size:13px}.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-val{font-size:24px;letter-spacing:-.5px;margin-bottom:10px}.creances-kpi-row .kpi-card-v2{padding:var(--space-7);min-height:108px;justify-content:center}.creances-kpi-row .kpi-card-v2-val{font-size:28px}.dash-v2 #dash-main-layout{display:grid;grid-template-columns:7fr 3fr;grid-template-rows:auto auto;grid-gap:var(--dash-gap-md);gap:var(--dash-gap-md);align-items:stretch;margin-bottom:var(--dash-gap-lg)}.dash-v2 #dash-main-layout .dash-cell-chart{grid-column:1;grid-row:1;min-width:0}.dash-v2 #dash-main-layout .dash-cell-alerts{grid-column:2;grid-row:1;min-width:0}.dash-v2 #dash-main-layout .dash-cell-table{grid-column:1;grid-row:2;min-width:0}.dash-v2 #dash-main-layout .dash-cell-action{grid-column:2;grid-row:2;min-width:0}.dash-v2 #dash-main-layout .dash-cell-action,.dash-v2 #dash-main-layout .dash-cell-alerts,.dash-v2 #dash-main-layout .dash-cell-chart,.dash-v2 #dash-main-layout .dash-cell-table{display:flex;flex-direction:column}.dash-v2 #dash-main-layout .dash-cell-action>*,.dash-v2 #dash-main-layout .dash-cell-chart>*,.dash-v2 #dash-main-layout .dash-cell-table>*{flex:1 1 auto}.dash-v2 #dash-main-layout .card.card-level-2{padding:16px 20px 0}.dash-v2 #dash-main-layout .alerts-container{gap:8px;flex:1 1 auto}.dash-v2 #dash-main-layout .chart-header{margin-bottom:8px}.dash-v2 #dash-main-layout .chart-title{font-size:16px}.dash-v2 #dash-main-layout .card.card-level-2{padding-bottom:10px}.dash-v2 #dash-main-layout .side-card{padding:10px 16px;gap:2px;min-height:0;border-radius:16px}.dash-v2 #dash-main-layout .side-card-icon{width:30px;height:30px;border-radius:9px}.dash-v2 #dash-main-layout .side-card-icon svg{width:16px;height:16px}.dash-v2 #dash-main-layout .side-card-title{font-size:13.5px}.dash-v2 #dash-main-layout #chart-area{height:auto;min-height:282px}.dash-v2 #dash-main-layout .dash-cell-alerts,.dash-v2 #dash-main-layout .dash-cell-chart{min-height:394px}.action-center-card{display:flex;flex-direction:column;justify-content:flex-start}@media (max-width:1200px){.dash-v2 #dash-main-layout{grid-template-columns:1fr;grid-template-rows:none}.dash-v2 #dash-main-layout .dash-cell-chart{grid-column:1;grid-row:1}.dash-v2 #dash-main-layout .dash-cell-alerts{grid-column:1;grid-row:2}.dash-v2 #dash-main-layout .dash-cell-table{grid-column:1;grid-row:3}.dash-v2 #dash-main-layout .dash-cell-action{grid-column:1;grid-row:4}}.dash-v2-detail .card-level-4{padding:var(--card-size-md-padding);background:var(--card-bg)}.dash-v2-detail .chart-title{font-size:13.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.dash-v2 #dash-main-layout .dash-cell-table.dash-v2-detail .chart-title{font-size:18px;font-weight:600;color:var(--text-main);text-transform:none;letter-spacing:-.1px}.dash-v2-detail table.compact th{font-size:12px}.dash-v2-detail table.compact td{font-size:13px;padding:10px 14px}.action-center-card{padding-bottom:20px}@media (max-width:767.98px){#view-dashboard .side-card{padding:20px 16px;gap:12px;min-height:108px}#view-dashboard .side-card-header{gap:12px}#view-dashboard .side-card-icon{width:30px;height:30px;border-radius:9px}#view-dashboard .side-card-icon svg{width:14px;height:14px}#view-dashboard .side-card-title{font-size:14.5px;font-weight:700}#view-dashboard .side-card-header>div[style*="font-size:18px"]{font-size:16px!important}#view-dashboard .side-card-desc{margin-top:2px;font-size:11.5px}.dash-v2 #dash-main-layout .alerts-container{gap:10px}.dash-v2 #dash-main-layout .card.card-level-2,.dash-v2-detail .card-level-4{padding:var(--card-size-sm-padding)}#view-dashboard [data-fin-table] .mobile-card-list{gap:12px;padding:4px 2px;margin-bottom:16px}#view-dashboard .fin-card{padding:var(--card-gap-md) var(--card-size-sm-padding)}}@media (max-width:1279.98px) and (min-width:768.02px){.dash-v2 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-v2 .kpi-grid>.kpi-card-v2:first-child,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2){padding:var(--card-size-md-padding);box-shadow:var(--shadow-level-default);border-color:var(--card-border)}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-label,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-label{font-size:13px}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-val,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-val{font-size:24px;letter-spacing:-.5px;margin-bottom:4px}}@media (max-width:1180px){.dash-v2 #dash-middle-grid>.alerts-container,.dash-v2 #dash-middle-grid>.card.card-level-2{grid-column:span 12}}@media (max-width:767.98px){.dash-v2 .kpi-grid>.kpi-card-v2:first-child,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2){padding:var(--card-size-sm-padding);box-shadow:var(--shadow-level-default);border-color:var(--card-border)}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-label,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-label{font-size:12px}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-val,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-val{font-size:22px;letter-spacing:-.4px;margin-bottom:2px}.dash-v2{--dash-gap-lg:24px}.dash-v2 .kpi-grid{display:flex;flex-direction:column;grid-template-columns:none;gap:14px;margin:0 0 24px;padding:0;overflow:visible}.dash-v2 .kpi-grid>.kpi-card-v2{flex:unset;max-width:none;width:100%;scroll-snap-align:none}.module-grid-toolbar-row{padding:10px 14px!important;gap:8px}.module-grid-toolbar{max-width:100%!important}.grid-toolbar-actions-row{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin:0 -14px;padding:0 14px}.grid-toolbar-actions-row::-webkit-scrollbar{display:none}.grid-toolbar-actions-row>.grid-more-menu,.grid-toolbar-actions-row>.popover-wrapper{flex-shrink:0;scroll-snap-align:start}.popover-card.mobile-fixed{top:50%!important;transform:translate(-50%,-50%)!important;width:min(92vw,420px)!important;max-height:80vh!important}.grid-more-panel.mobile-fixed,.popover-card.mobile-fixed{position:fixed!important;left:50%!important;overflow-y:auto!important;z-index:1000!important}.grid-more-panel.mobile-fixed{top:auto!important;bottom:12px!important;right:auto!important;transform:translateX(-50%)!important;width:min(92vw,340px)!important;max-height:70vh!important}body.grid-popover-open-mobile:after{content:"";position:fixed;inset:0;background:color-mix(in srgb,var(--text-main) 35%,transparent);z-index:999}.grid-more-summary.btn-baserow,.module-grid-toolbar .btn-baserow{min-height:34px;padding:0 12px;font-size:12.5px;gap:6px;border-radius:var(--radius-sm);white-space:nowrap}.grid-more-summary.btn-baserow i[data-lucide],.module-grid-toolbar .btn-baserow i[data-lucide]{width:15px!important;height:15px!important}.grid-more-panel{right:0;left:auto;width:min(88vw,320px);min-width:0}.grid-toolbar-actions-row>.view-switcher-row{flex-shrink:0;scroll-snap-align:end;margin-left:0!important}.view-switcher-row .view-toggle-btn{min-height:30px}.filter-chip-row{gap:6px}.filter-chip{padding:5px 10px;min-height:28px;font-size:11.5px}}.mp-attn-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid transparent}.mp-attn-icon i{width:17px;height:17px}.mp-attn-icon.behind{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 18%,transparent)}.mp-attn-icon.atrisk{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 18%,transparent)}.mp-attn-icon.ontrack{background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 18%,transparent)}.mp-mini-progress-track{width:100%;height:7px;border-radius:20px;background:color-mix(in srgb,var(--text-main) 7%,transparent);overflow:hidden;margin-top:14px}.mp-mini-progress-fill{height:100%;border-radius:20px;transition:width .4s ease}.mp-kb-count{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--sidebar-hover);border-radius:20px;padding:2px 9px;flex-shrink:0}.mp-kb-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:var(--card-size-md-radius);padding:var(--card-size-md-padding);cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-level-default)}.mp-kb-card:hover{background:var(--surface-solid-hover);transform:translateY(-2px);box-shadow:var(--shadow-level-hover)}.mp-kb-empty{font-size:12px;font-weight:600;color:var(--text-muted);text-align:center;padding:22px 10px;border:1px dashed var(--card-border);border-radius:14px}.mp-recent-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:14px;margin-bottom:8px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-level-default)}.mp-recent-row:last-child{margin-bottom:0}.mp-recent-row:hover{background:var(--surface-solid-hover);transform:translateY(-1px);box-shadow:var(--shadow-level-hover)}.session-card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px 22px;min-height:210px;width:100%;display:flex;flex-direction:column;position:relative;overflow:visible;cursor:pointer;transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard)}.session-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-level-default)}.session-card-bg-layer{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0;opacity:0}.session-card-glow-primary{background:radial-gradient(circle,var(--purple-accent) 0,rgba(255,255,255,0) 70%);filter:blur(24px)}.session-card-glow-muted,.session-card-glow-primary{position:absolute;top:-80px;left:-80px;width:260px;height:260px}.session-card-glow-muted{background:rgba(148,163,184,.14);filter:blur(20px)}.session-content-top{flex:1 1;display:flex;flex-direction:column;position:relative;z-index:1;max-width:100%}.session-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-main);margin-bottom:4px;white-space:normal;overflow:visible;word-break:break-word;line-height:1.3}.session-title svg{width:14px;height:14px;stroke-width:2.5;flex-shrink:0}.session-subtitle{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:var(--space-2)}.session-metric{font-size:32px;font-weight:800;color:var(--text-main);letter-spacing:-.5px;line-height:1;margin-top:auto}.session-content-bottom{position:relative;z-index:1;margin-top:var(--space-3)}.session-lined-progress{display:flex;gap:2px;height:22px}.session-lined-bar{flex:1 1;background:color-mix(in srgb,var(--text-main) 7%,transparent);border-radius:3px}.session-lined-bar.filled{background:var(--color-primary)}.session-lined-bar.filled-done{background:var(--color-success)}.session-bar-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);font-weight:600;margin-top:var(--space-2)}.session-card-row{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px}@media (max-width:992px){.session-card-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:576px){.session-card-row{grid-template-columns:repeat(2,1fr)}}.al-collapsible-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.al-collapsible-header .al-chevron{transition:transform .2s var(--ease-standard);flex-shrink:0}.al-collapsible-header.is-collapsed .al-chevron{transform:rotate(-90deg)}#al-top-row>div>.card{height:100%;min-height:var(--card-size-lg-min-height)}.mp-recent-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.mp-recent-title{font-size:13px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-recent-date{font-size:11px;color:var(--text-muted);font-weight:600}.mp-recent-amount{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html[data-theme=dark] body{font-family:Inter,Plus Jakarta Sans,-apple-system,sans-serif;letter-spacing:-.01em}html[data-theme=dark] .card,html[data-theme=dark] .kpi-card-v2,html[data-theme=dark] .side-card{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%),var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-default);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}html[data-theme=dark] .card:hover,html[data-theme=dark] .kpi-card-v2:hover,html[data-theme=dark] .side-card:hover{border-color:color-mix(in srgb,var(--color-primary) 28%,transparent);box-shadow:var(--shadow-level-hover);transform:translateY(-2px)}html[data-theme=dark] .kpi-card-v2-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html[data-theme=dark] .btn-baserow,html[data-theme=dark] .btn-cancel,html[data-theme=dark] .btn-cta-secondary{background:rgba(255,255,255,.04);border:1px solid var(--card-border);color:var(--text-main);border-radius:10px;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .15s ease}html[data-theme=dark] .btn-baserow:hover,html[data-theme=dark] .btn-cancel:hover,html[data-theme=dark] .btn-cta-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}html[data-theme=dark] .btn-baserow.active{background:var(--control-active-bg);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary)}html[data-theme=dark] .btn-cta-primary,html[data-theme=dark] .btn-save{background:var(--color-primary);color:var(--on-primary-text);border:none;border-radius:10px;font-weight:700;box-shadow:0 6px 20px -8px color-mix(in srgb,var(--color-primary) 45%,transparent);transition:filter .15s ease,transform .15s ease}html[data-theme=dark] .btn-cta-primary:hover,html[data-theme=dark] .btn-save:hover{filter:brightness(1.08);transform:translateY(-1px)}html[data-theme=dark] .baserow-input,html[data-theme=dark] .baserow-select,html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group select{background:rgba(255,255,255,.03);border:1px solid var(--field-border);border-radius:10px;color:var(--text-main)}html[data-theme=dark] .baserow-input:focus,html[data-theme=dark] .baserow-select:focus,html[data-theme=dark] .form-group input:focus,html[data-theme=dark] .form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}html[data-theme=dark] .baserow-select option,html[data-theme=dark] .form-group select option,html[data-theme=dark] select option{background-color:#1c1c1e;color:var(--text-main)}html[data-theme=dark] .baserow-select option:checked,html[data-theme=dark] .form-group select option:checked,html[data-theme=dark] select option:checked{background-color:var(--control-active-bg);color:var(--color-primary)}html[data-theme=dark] .custom-scroll table thead th{background:rgba(20,20,20,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em;border-bottom:1px solid var(--card-border)}html[data-theme=dark] tbody tr{border-bottom:1px solid rgba(255,255,255,.04)}html[data-theme=dark] tbody tr:nth-child(2n){background-color:rgba(255,255,255,.015)}html[data-theme=dark] tbody tr:hover{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)!important}html[data-theme=dark] tbody tr.row-selected{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent)!important}html[data-theme=dark] tbody tr.row-selected:hover{background-color:color-mix(in srgb,var(--color-primary) 13%,transparent)!important}html[data-theme=dark] .drawer,html[data-theme=dark] .modal-box{background:rgba(20,20,20,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}html[data-theme=dark] .drawer-overlay,html[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html[data-theme=dark] .card-info .card-icon-badge{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}html[data-theme=dark] .timeline-avatar{background:linear-gradient(135deg,var(--color-primary),#B8D93A);color:var(--on-primary-text)}html[data-theme=dark] .app-dropdown-option.selected,html[data-theme=dark] .filter-chip{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}html[data-theme=dark] .modal-actions .btn-save{background:var(--color-primary);color:var(--on-primary-text)}html[data-theme=dark] .cmdk-match{color:var(--color-primary)}.cal-header{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);flex-shrink:0;z-index:50;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.cal-header-left-group{display:flex;align-items:center;gap:16px;flex-wrap:wrap;width:100%}.cal-title-area h2{font-size:18px;color:var(--text-main);font-weight:700;margin:0;white-space:nowrap}.cal-header-controls{display:flex;align-items:center;gap:var(--space-3)}.gcal-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--card-bg);color:var(--text-main);font-size:13px;font-weight:600;cursor:pointer;transition:background .18s var(--ease-standard),color .18s var(--ease-standard);font-family:inherit}.gcal-btn:hover{background-color:var(--control-hover-bg)}.gcal-nav-arrows{display:flex;align-items:center;gap:2px}.gcal-icon-btn{width:var(--icon-btn-size,32px);height:var(--icon-btn-size,32px);border-radius:var(--control-radius);border:1px solid transparent;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s var(--ease-standard),color .18s var(--ease-standard)}.gcal-icon-btn:hover{background-color:var(--control-hover-bg);color:var(--text-main)}.gcal-date-picker-wrapper{position:relative;display:flex;align-items:center;cursor:pointer;padding:6px var(--space-2);border-radius:var(--control-radius);transition:background .18s var(--ease-standard);margin-left:var(--space-1)}.gcal-date-picker-wrapper:hover{background-color:var(--control-hover-bg)}.cal-date-range-text{font-size:15px;font-weight:700;color:var(--text-main);margin-right:6px;white-space:nowrap}.cal-date-picker-popup{position:absolute;top:calc(100% + 4px);left:0;background:var(--sidebar-active);border-radius:var(--radius-md);box-shadow:var(--shadow-level-hover);border:1px solid var(--card-border);padding:16px;z-index:1000;display:none;width:280px;font-family:inherit;cursor:default}.cal-date-picker-popup.show{display:block}.cal-dp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-dp-month-year{font-weight:700;color:var(--text-main);font-size:14px}.cal-dp-nav{display:flex;gap:4px}.cal-dp-nav-btn{background:transparent;border:none;cursor:pointer;color:var(--text-muted);width:28px;height:28px;border-radius:var(--control-radius);display:flex;align-items:center;justify-content:center;transition:background .18s var(--ease-standard)}.cal-dp-nav-btn:hover{background:var(--control-hover-bg)}.cal-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;text-align:center}.cal-dp-day-name{font-size:10px;color:var(--text-muted);font-weight:700;text-transform:uppercase;margin-bottom:8px}.cal-dp-day{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;transition:background .18s var(--ease-standard);margin:auto}.cal-dp-day:hover:not(.empty){background:var(--control-hover-bg)}.cal-dp-day.selected{background:var(--color-primary);color:var(--on-primary-text);font-weight:700}.cal-dp-day.empty{cursor:default}.cal-body-wrapper{flex:1 1;display:flex;overflow:auto;position:relative;background:transparent;height:100%;min-height:900px}#cal-scroll-area::-webkit-scrollbar{width:6px;height:6px}#cal-scroll-area::-webkit-scrollbar-track{background:transparent}#cal-scroll-area::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}#cal-scroll-area{scrollbar-width:thin;min-height:0}.cal-time-axis{width:56px;flex-shrink:0;position:-webkit-sticky;position:sticky;left:0;background:var(--card-bg);z-index:40;border-right:1px solid var(--cal-grid-line);display:flex;flex-direction:column}.cal-month-wrapper{padding:16px 20px 20px;overflow-y:auto;height:100%}.cal-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.cal-month-weekdays span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:center}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.cal-month-day{min-height:78px;border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg-opaque);padding:8px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.cal-month-day:hover{transform:translateY(-1px);box-shadow:var(--shadow-level-hover);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--card-border))}.cal-month-day.is-muted{visibility:hidden;cursor:default}.cal-month-day.is-today{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 25%,transparent)}.cal-month-day.is-today .cal-month-day-num{color:var(--color-primary)}.cal-month-day-num{font-size:13px;font-weight:700;color:var(--text-main)}.cal-month-day-count{align-self:flex-start;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}@media (max-width:767.98px){.cal-month-day{min-height:56px}.cal-month-day-count{font-size:9.5px;padding:1px 5px}}.cal-time-header-spacer{height:50px;border-bottom:1px solid var(--cal-grid-line);flex-shrink:0}.cal-time-label{position:absolute;font-size:10px;color:var(--text-muted);font-weight:600;right:8px}.cal-grid-area{display:flex;width:max-content;min-width:100%;height:100%;position:relative}.cal-body-wrapper.cal-student-scoped{overflow-x:hidden}.cal-body-wrapper.cal-student-scoped .cal-grid-area{width:100%;min-width:0}.cal-body-wrapper.cal-student-scoped .cal-day-col{min-width:0}.cal-day-col{flex:1 0 auto;min-width:448px;border-right:1px solid var(--cal-grid-line);background:transparent;height:100%}.cal-day-col,.cal-day-header{display:flex;flex-direction:column}.cal-day-header{height:50px;align-items:center;justify-content:center;gap:2px;background:var(--card-bg);position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--cal-grid-line);flex-shrink:0;line-height:1.2}.cal-day-capacity{margin-top:2px;font-size:var(--font-size-2xs,10px);font-weight:700;letter-spacing:.2px;padding:1px 6px;border-radius:999px;line-height:1.4}.cal-day-capacity--ok{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.cal-day-capacity--near{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.cal-day-capacity--full{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.cal-day-name{font-size:11.5px;text-transform:uppercase;letter-spacing:.02em}.cal-day-date,.cal-day-name{font-weight:600;color:var(--text-muted)}.cal-day-date{font-size:11px}.cal-day-col.is-today .cal-day-date,.cal-day-col.is-today .cal-day-name{color:var(--color-primary);font-weight:700}.cal-day-col.is-today .cal-day-header{border-bottom:2px solid var(--color-primary)}.cal-day-col.is-today{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.cal-events-container{position:relative;flex:1 1;background-image:linear-gradient(to bottom,var(--cal-grid-line) 1px,transparent 1px);background-size:100% calc(100% / 12)}.cal-event{position:absolute;background:linear-gradient(var(--purple-accent),var(--purple-accent)),var(--card-bg-opaque);border-radius:var(--radius-sm);padding:6px 8px;font-size:11px;color:var(--purple-text);overflow:hidden;box-sizing:border-box;box-shadow:var(--shadow-xs);border:1px solid var(--card-bg-opaque);display:flex;flex-direction:column;gap:2px;min-height:0;transition:box-shadow .15s var(--ease-standard),filter .15s var(--ease-standard),height .15s var(--ease-standard);cursor:pointer}.cal-event:hover{box-shadow:var(--shadow-level-hover);z-index:30!important;filter:brightness(.98);height:auto!important;overflow:visible}.cal-event-exam{background:var(--color-primary-pale)!important;border-color:var(--card-bg)!important}.cal-event-exam .cal-ev-title{color:var(--purple-text)!important;font-weight:700}.cal-event-confirmed{background:linear-gradient(color-mix(in srgb,#D6409F 22%,transparent),color-mix(in srgb,#D6409F 22%,transparent)),var(--card-bg-opaque)!important;color:#9D1B6B!important;border:1px solid color-mix(in srgb,#d6409f 50%,transparent)!important}html[data-theme=dark] .cal-event-confirmed{color:#F5A3D6!important}.cal-event-confirmed .cal-ev-loc,.cal-event-confirmed .cal-ev-loc span,.cal-event-confirmed .cal-ev-time,.cal-event-confirmed .cal-ev-title{color:inherit!important}.cal-event.is-reported{background:linear-gradient(color-mix(in srgb,var(--color-danger) 12%,transparent),color-mix(in srgb,var(--color-danger) 12%,transparent)),var(--card-bg-opaque)!important;border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)!important;opacity:.85}.cal-event.is-reported .cal-ev-title{text-decoration:line-through;color:var(--color-danger)!important}.cal-event-past{opacity:.78;filter:grayscale(.12)}.cal-event-stack{background:var(--color-primary)!important;border-color:var(--color-primary)!important;justify-content:center;gap:2px}.cal-event-stack .cal-ev-loc,.cal-event-stack .cal-ev-loc span,.cal-event-stack .cal-ev-time,.cal-event-stack .cal-ev-title{color:var(--on-primary-text)!important;opacity:.95}.cal-event-stack:hover{filter:brightness(1.06)}#planning-live-strip{flex-direction:column;gap:10px}.pl-live-group{display:flex;flex-direction:column;gap:6px}.pl-live-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.pl-live-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pl-live-empty{font-size:12.5px;color:var(--text-muted);padding:6px 2px}.pl-live-chip{display:flex;align-items:center;gap:var(--space-2);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-xs)}.pl-live-chip-body{display:flex;flex-direction:column;gap:1px;line-height:1.25}.pl-live-chip-name{font-size:12.5px;font-weight:700;color:var(--text-main)}.pl-live-chip-meta{font-size:11px;color:var(--text-muted)}.pl-live-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pl-live-chip--active{border-color:color-mix(in srgb,var(--color-success) 35%,var(--card-border))}.pl-live-chip--active .pl-live-dot{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 20%,transparent);animation:pl-live-pulse 1.8s infinite}.pl-live-chip--upcoming .pl-live-dot{background:var(--color-warning)}@keyframes pl-live-pulse{0%,to{opacity:1}50%{opacity:.4}}.cal-ev-title{font-weight:600;font-size:12px;line-height:1.2;white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-width:0}.cal-ev-time{opacity:.8;white-space:nowrap}.cal-ev-loc,.cal-ev-time{font-size:10.5px;line-height:1.2;font-weight:600}.cal-ev-loc{white-space:normal;color:inherit;display:flex;align-items:center;gap:var(--space-1);overflow:hidden}.cal-ev-loc span{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.cal-real-time-line{left:0;right:0;height:2px;z-index:25;pointer-events:none;transition:top .6s linear}.cal-real-time-line,.cal-real-time-line:before{position:absolute;background:var(--color-danger)}.cal-real-time-line:before{content:"";left:-5px;top:-4px;width:10px;height:10px;border-radius:50%}@media (max-width:767.98px){.cal-day-col{min-width:220px}.cal-header{flex-direction:column;align-items:stretch;gap:10px;padding:14px var(--space-4)}.cal-header-left-group{width:100%;justify-content:space-between;gap:10px}.cal-header-controls{width:100%}.cal-header-controls[style*="gap:8px"]{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px!important;gap:8px!important;width:100%}.cal-header-controls[style*="gap:8px"] .baserow-select{width:100%!important}.cal-title-area h2{font-size:16px}.gcal-btn{padding:7px var(--space-3);font-size:12px}}.cal-empty-state{position:absolute;top:50px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6);pointer-events:none}.cal-empty-state .empty-state-v2{pointer-events:auto}#clp-root,#sp-root,#tup-root,.sp-wrap{display:flex;flex-direction:column;gap:var(--space-7)}.sp-header{flex-direction:column}.sp-header,.sp-header-top{display:flex;gap:var(--space-4)}.sp-header-top{align-items:center;justify-content:space-between}.sp-breadcrumb{font-size:12px;font-weight:600;letter-spacing:.1px;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-1)}.sp-breadcrumb .sp-crumb-current{color:var(--text-main);font-weight:700}.sp-sync{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap}.sp-sync svg{width:14px;height:14px}.sp-header-main{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.sp-header-actions{display:flex;align-items:center;gap:14px}.sp-notif-btn{position:relative}.sp-notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-danger);border:2px solid var(--card-bg)}.sp-notif-panel{padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.sp-notif-item{display:flex;align-items:center;gap:10px;padding:10px var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.sp-notif-item:hover{background:var(--sidebar-hover)}.sp-header h1{font-size:24px;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.02em}.sp-header p{margin:5px 0 0;font-size:13px;color:var(--text-muted)}.sp-journey-chip{display:flex;flex-direction:column;gap:1px;padding:6px var(--space-3);border-radius:var(--radius-sm);background:var(--control-bg);border:1px solid var(--card-border);line-height:1.15}.sp-journey-chip-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sp-journey-chip-value{font-size:13px;font-weight:700;color:var(--text-main)}#main-header{width:100%;max-width:1600px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:16px;margin-bottom:40px}#main-header.is-planning-view{margin-bottom:28px}#main-header.is-student-portal-view #page-title-badge{display:none}#main-header.is-student-portal-view>div:first-child{min-height:0}#main-header.is-student-portal-view{max-width:1240px}.sp-kpi-row{grid-template-columns:repeat(4,1fr);grid-gap:var(--space-5)}.sp-grid-2col,.sp-kpi-row{display:grid;gap:var(--space-5)}.sp-grid-2col{grid-template-columns:1.6fr 1fr;grid-gap:var(--space-5);align-items:start}.clp-grid{grid-template-columns:1.45fr 1.15fr}#sp-root{max-width:1240px}#sp-root .card.card-level-4{padding:var(--space-5);border-radius:var(--radius-md,14px)}.roster-row{transition:border-color .12s ease,background-color .12s ease}.roster-row:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--card-border));background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg-opaque))}#clp-root .card.card-level-4{border-radius:var(--radius-md,14px);box-shadow:0 1px 2px rgba(15,15,25,.04)}#clp-root #clp-roster{overflow:hidden;min-height:0;height:auto}#clp-root #clp-roster .sp-card-title{flex-shrink:0}#clp-root #clp-roster-list{flex:0 1 auto;min-height:0;max-height:min(58vh,520px);overflow-y:auto;overflow-x:hidden}#clp-root .sp-kpi-row{gap:14px}#clp-root .sp-card-title{font-size:14px}.sp-card-title{font-size:15px;font-weight:700;color:var(--text-main);padding:var(--space-4) var(--space-6) var(--space-3);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--card-border);margin-bottom:4px}#sp-paiements:hover{border-color:var(--card-border)}#sp-paiements .sp-pay-subtitle{padding:0 26px 16px;margin-top:-2px;font-size:12.5px;font-weight:500;color:var(--text-muted)}#sp-paiements tbody tr:nth-child(2n){background-color:color-mix(in srgb,var(--color-primary) 1.2%,transparent)}#sp-paiements tbody tr:hover{background-color:color-mix(in srgb,var(--color-primary) 3.5%,transparent)!important}#sp-paiements .sp-pay-ref{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;letter-spacing:.2px}#sp-paiements .sp-pay-amount{font-size:14.5px}#sp-paiements table.compact td,#sp-paiements table.compact th{padding:10px 18px}#sp-paiements table.compact td:first-child,#sp-paiements table.compact th:first-child{padding-left:22px}#sp-paiements table.compact td:last-child,#sp-paiements table.compact th:last-child{padding-right:22px}#sp-paiements .sp-pay-view{background:transparent;border-color:var(--card-border);color:var(--text-muted);font-weight:600}#sp-paiements .sp-pay-view:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--control-hover-bg)}#sp-paiements .sp-pay-download{background:transparent;border-color:var(--card-border);color:var(--text-muted);font-weight:600;width:38px;height:38px;min-width:38px;padding:0;justify-content:center;align-items:center;display:inline-flex;flex-shrink:0}#sp-paiements .sp-pay-download i,#sp-paiements .sp-pay-download svg{width:18px;height:18px}#sp-paiements .sp-pay-download:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--control-hover-bg)}#sp-paiements .sp-pay-download:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}@media (max-width:640px){#sp-paiements .sp-pay-download{width:44px;height:44px;min-width:44px}}#sp-paiements .sp-pay-status-cell{text-align:left;padding-left:24px}#sp-paiements .sp-pay-total td{border-top:1px solid var(--card-border);font-weight:700;color:var(--text-main);padding-top:12px}#sp-paiements .sp-pay-note{padding:10px 22px 16px;font-size:12px;color:var(--text-muted)}.sp-seg{display:inline-flex;padding:2px;gap:2px;background:var(--sidebar-active);border-radius:9px}.sp-seg-btn{border:none;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);padding:5px 12px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.sp-seg-btn.active,.sp-seg-btn:hover{color:var(--text-main)}.sp-seg-btn.active{background:var(--card-bg);box-shadow:0 1px 2px rgba(0,0,0,.08)}.sp-seg-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.sp-seg-count{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}.sp-pay-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:2px 26px 16px}.sp-pay-status-ok{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--color-success)}.sp-pay-status-ok i{width:16px;height:16px;flex-shrink:0}.sp-pay-status-amount{font-size:20px;font-weight:800;color:var(--color-danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.sp-pay-status-amount span{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-left:5px}.sp-pay-status-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.sp-pay-status-sub strong{color:var(--text-main);font-weight:700}.sp-quote-empty{display:flex;align-items:center;gap:8px;padding:2px 22px 18px;font-size:12.5px;color:var(--text-muted)}.sp-quote-empty i{width:15px;height:15px;color:var(--color-success);flex-shrink:0}.sp-emploi-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.sp-emploi-select-btn,.sp-emploi-today-chip{background:transparent;border:1px solid transparent;padding:8px 12px;min-height:40px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .18s var(--ease-standard),color .18s var(--ease-standard);font-family:inherit;-webkit-tap-highlight-color:transparent}.sp-emploi-select-btn:hover,.sp-emploi-today-chip:hover{background:rgba(0,0,0,.04);color:var(--text-main)}.sp-emploi-select-btn:active,.sp-emploi-today-chip:active{transform:scale(.98)}.sp-emploi-select-btn.active,.sp-emploi-today-chip.active{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.sp-emploi-select-btn:focus-visible,.sp-emploi-today-chip:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.sp-emploi-select-btn[disabled],.sp-emploi-today-chip[disabled]{opacity:.45;cursor:not-allowed}.sp-emploi-select-btn i,.sp-emploi-today-chip i{width:16px;height:16px;flex-shrink:0}.sp-emploi-divider{width:1px;height:18px;background:var(--card-border);margin:0 2px}.sp-emploi-today-chip .sp-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}.sp-emploi-today-chip.active .sp-dot{opacity:1}.sp-emploi-segment{display:inline-flex;align-items:center;height:40px;border-radius:var(--radius-sm);border:1px solid var(--control-border);background:transparent;padding:2px;gap:2px}.sp-emploi-segment-btn{background:transparent;border:none;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:5px;transition:.15s;line-height:1}.sp-emploi-segment-btn i{width:13px;height:13px}.sp-emploi-segment-btn:hover{background:var(--sidebar-hover);color:var(--text-main)}.sp-emploi-segment-btn.active{background:var(--purple-accent);color:var(--purple-text);box-shadow:var(--shadow-level-default)}.sp-emploi-expand-btn,.sp-emploi-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--icon-btn-size,32px);height:var(--icon-btn-size,32px);border-radius:var(--control-radius);border:1px solid var(--control-border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .18s var(--ease-standard),color .18s var(--ease-standard),border-color .18s var(--ease-standard)}.sp-emploi-expand-btn i,.sp-emploi-icon-btn i{width:15px;height:15px}.sp-emploi-expand-btn:hover,.sp-emploi-icon-btn:hover{background:var(--control-hover-bg);color:var(--text-main)}.sp-emploi-expand-btn:active,.sp-emploi-icon-btn:active{background:var(--control-active-bg)}.sp-emploi-expand-btn:focus-visible,.sp-emploi-icon-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.sp-emploi-expand-btn[disabled],.sp-emploi-icon-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}@media (max-width:480px){.sp-emploi-toolbar{gap:6px}.sp-emploi-select-btn,.sp-emploi-today-chip{font-size:12px;padding:6px 10px;min-height:36px}}.sp-emploi-list{display:flex;flex-direction:column;padding:12px 14px var(--space-4)}.sp-emploi-row{display:flex;align-items:center;gap:var(--space-4);padding:13px var(--space-3);border-radius:var(--radius-md);transition:background .12s ease}.sp-emploi-row:hover{background:var(--surface-solid-hover)}.sp-emploi-row+.sp-emploi-row{border-top:1px solid var(--card-border)}.sp-emploi-datebadge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:12px;background:var(--card-bg);border:1px solid var(--card-border)}.sp-emploi-datebadge.is-today{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border))}.sp-emploi-datebadge-month{font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--text-muted)}.sp-emploi-datebadge.is-today .sp-emploi-datebadge-month{color:var(--color-primary)}.sp-emploi-datebadge-day{font-size:16px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.sp-emploi-row-main{flex:1.4 1;min-width:0}.sp-emploi-row-col{flex:1 1;min-width:0}.sp-emploi-row-title{font-size:13.5px;font-weight:700;color:var(--text-main)}.sp-emploi-row-sub,.sp-emploi-row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-emploi-row-sub{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:2px}@media (max-width:720px){.sp-emploi-row-col:nth-of-type(3){display:none}}@media (max-width:560px){.sp-emploi-row{gap:10px}.sp-emploi-row-col{display:none}}.sp-week-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 18px 14px;-ms-overflow-style:none;scrollbar-width:none}.sp-week-tabs::-webkit-scrollbar{display:none}.sp-week-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:8px 10px;border-radius:14px;border:1px solid var(--card-border);background:var(--surface-solid);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.sp-week-tab:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border))}.sp-week-tab-name{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.sp-week-tab-num{font-size:13.5px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-week-tab.is-today .sp-week-tab-name,.sp-week-tab.is-today .sp-week-tab-num{color:var(--color-primary)}.sp-week-tab.active{background:var(--color-primary);border-color:var(--color-primary)}.sp-week-tab.active .sp-week-tab-name,.sp-week-tab.active .sp-week-tab-num{color:var(--on-primary-text,#fff)}.sp-week-list{display:flex;flex-direction:column;gap:8px;padding:2px 14px 16px}.sp-week-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-md,12px);background:var(--surface-solid)}.sp-week-row-time{flex:0 0 auto;font-size:12.5px;font-weight:700;color:var(--text-main);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-week-row-divider{flex:0 0 auto;width:1px;align-self:stretch;background:var(--card-border)}.sp-week-row-main{flex:1 1;min-width:0}.sp-week-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:700;color:var(--text-main)}.sp-week-row-sub{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-week-row-status{flex:0 0 auto}@media (max-width:480px){.sp-week-row{gap:10px;padding:10px 12px}.sp-week-row-time{font-size:11.5px}}.sp-next-list--compact{display:flex;flex-direction:column;padding:2px 4px 4px}.sp-next-row--compact{display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-radius:var(--radius-sm);transition:background .12s ease}.sp-next-row--compact:hover{background:var(--surface-solid-hover)}.sp-next-row--compact+.sp-next-row--compact{border-top:1px solid var(--card-border)}.sp-next-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sp-next-daylabel{font-size:13px;font-weight:700;color:var(--text-main)}.sp-next-daylabel.is-today{color:var(--color-primary)}.sp-next-row-top .sp-next-time{font-size:13px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sp-next-course{font-size:14.5px;font-weight:700;color:var(--text-main);letter-spacing:-.01em}.sp-next-metaline{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:420px){.sp-next-row--compact{padding:10px 6px}}.pl-search-wrap{position:relative;display:flex;align-items:center}.pl-search-wrap i{position:absolute;left:10px;width:14px;height:14px;color:var(--text-muted);pointer-events:none}.pl-search{height:30px;padding:0 10px 0 30px;border-radius:8px;border:1px solid var(--card-border);background:transparent;color:var(--text-main);font-size:12.5px;font-weight:500;width:170px;transition:border-color .15s ease,width .2s ease;font-family:inherit}.pl-search:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--card-border));width:210px}.pl-search::placeholder{color:var(--text-muted)}.planification-primary-subtitle{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:3px}.planification-secondary-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:color-mix(in srgb,var(--text-main) 6%,transparent);border-radius:999px;padding:3px 9px}.pl-class-overview-grid{display:flex;flex-direction:column}.pl-class-overview-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;border:none;border-bottom:1px solid var(--card-border);border-radius:0;background:transparent;cursor:pointer;transition:background .12s ease}.pl-class-overview-grid .pl-class-overview-card:last-child{border-bottom:none}.pl-class-overview-card:hover{border-color:var(--card-border);background:var(--sidebar-hover)}.pl-class-overview-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.pl-class-overview-left{display:flex;align-items:center;gap:12px;min-width:0}.pl-class-overview-name{font-weight:700;font-size:13.5px;color:var(--text-main)}.pl-class-overview-meta{font-size:11.5px;color:var(--text-muted);font-weight:500;margin-top:1px}.pl-class-overview-right{display:flex;align-items:center;gap:10px;flex:none}.pl-class-overview-conflict{font-size:11px;font-weight:700;color:var(--color-danger);display:flex;align-items:center;gap:3px}.pl-class-overview-chevron{color:var(--text-muted);width:16px;height:16px}.pl-slotmgmt-table{display:flex;flex-direction:column;position:relative;padding-left:18px;margin-top:4px}.pl-slotmgmt-table:before{content:"";position:absolute;left:6px;top:34px;bottom:26px;width:1px;background:color-mix(in srgb,var(--color-primary) 25%,var(--card-border))}.pl-slotmgmt-row{display:grid;grid-template-columns:92px 96px 1fr 90px 100px 110px auto;align-items:center;grid-gap:10px;gap:10px;padding:8px;font-size:12.5px;position:relative}.pl-slotmgmt-row--dated{grid-template-columns:92px 118px 96px 1fr 90px 100px 110px auto}.pl-slotmgmt-row:not(.pl-slotmgmt-header):before{content:"";position:absolute;left:-12px;top:50%;width:10px;height:1px;background:color-mix(in srgb,var(--color-primary) 25%,var(--card-border))}.pl-slotmgmt-row:not(.pl-slotmgmt-header):not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--card-border) 55%,transparent)}.pl-slotmgmt-row--conflict{border-left:3px solid var(--color-danger);padding-left:8px;margin-left:-8px;background:color-mix(in srgb,var(--color-danger) 5%,transparent);border-radius:6px}.pl-slotmgmt-header{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-top:0;padding-bottom:8px;border-bottom:1px solid var(--card-border);margin-bottom:2px}.pl-slotmgmt-header:before{display:none}.pl-slotmgmt-cell-day,.pl-slotmgmt-cell-time{font-weight:700;color:var(--text-main)}.pl-slotmgmt-cell-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-slotmgmt-cell-prof,.pl-slotmgmt-cell-room,.pl-slotmgmt-cell-type{color:var(--text-muted)}.pl-slotmgmt-cell-actions{display:flex;align-items:center;gap:2px;justify-content:flex-end}.pl-slotmgmt-cell-actions .icon-btn--xs:hover{background:color-mix(in srgb,var(--text-main) 8%,transparent)}.pl-slotmgmt-cell-actions .icon-btn--xs[title=Supprimer]:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.pl-slotmgmt-cell-actions .icon-btn--xs:disabled{opacity:.45;cursor:not-allowed}.pl-slotmgmt-today-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:999px;padding:1px 6px;margin-left:4px;vertical-align:1px}.pl-slotmgmt-date{display:inline-flex;align-items:center;gap:5px}.pl-slotmgmt-date-empty{color:var(--text-muted)}.pl-slotmgmt-date-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;border-radius:999px;padding:1px 6px}.pl-slotmgmt-date-tag.is-past{color:var(--text-muted);background:color-mix(in srgb,var(--text-main) 8%,transparent)}.pl-slotmgmt-date-tag.is-future{color:#14b8a6;background:rgba(20,184,166,.12)}@media (max-width:900px){.pl-slotmgmt-row,.pl-slotmgmt-row--dated{grid-template-columns:72px 80px 1fr 84px auto}.pl-slotmgmt-cell-date,.pl-slotmgmt-cell-status,.pl-slotmgmt-cell-type{display:none}}.pl-board{display:grid;grid-template-columns:repeat(7,minmax(228px,1fr));grid-gap:16px;gap:16px;align-items:start;min-width:max-content}@media (max-width:991px){.pl-board{grid-template-columns:repeat(7,228px)}}.pl-day-col{display:flex;flex-direction:column;border-radius:16px;background:color-mix(in srgb,var(--text-muted) 8%,transparent);border:1px solid transparent;padding:4px;min-height:120px;transition:border-color .15s ease,background .15s ease}.pl-day-col.is-today{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:color-mix(in srgb,var(--color-primary) 5%,color-mix(in srgb,var(--text-muted) 8%,transparent))}.pl-day-head{justify-content:space-between;padding:12px 12px 10px}.pl-day-head,.pl-day-head-name{display:flex;align-items:center}.pl-day-head-name{gap:8px;font-size:13px;font-weight:800;color:var(--text-main);letter-spacing:-.1px}.pl-day-dot{width:7px;height:7px;border-radius:50%;background:var(--card-border);flex-shrink:0}.pl-day-col.is-today .pl-day-dot{background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent)}.pl-day-count{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--card-border);border-radius:999px;padding:2px 8px;min-width:20px;text-align:center}.pl-day-col.is-today .pl-day-count{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}.pl-day-body{display:flex;flex-direction:column;gap:9px;padding:0 8px 8px;flex:1 1}.pl-slot-card{position:relative;background:var(--card-bg-opaque);border:1px solid var(--card-border);border-radius:13px;padding:12px 13px;cursor:pointer;transition:transform .15s var(--ease-standard),box-shadow .15s var(--ease-standard),border-color .15s ease;overflow:hidden}.pl-slot-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--slot-accent,var(--color-primary))}.pl-slot-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-level-hover);border-color:color-mix(in srgb,var(--slot-accent,var(--color-primary)) 35%,var(--card-border))}.pl-slot-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.pl-slot-time{font-size:11.5px;font-weight:800;letter-spacing:-.1px;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--slot-accent,var(--color-primary)) 12%,transparent);color:var(--slot-accent,var(--color-primary));padding:3px 8px;border-radius:7px}.pl-slot-class{font-size:13.5px;font-weight:700;color:var(--text-main);line-height:1.25;margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pl-slot-prof-row{gap:7px;margin-bottom:9px}.pl-avatar,.pl-slot-prof-row{display:flex;align-items:center}.pl-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0;justify-content:center;font-size:9.5px;font-weight:800;color:var(--on-primary-text);background:var(--slot-accent,var(--color-primary))}.pl-slot-prof-name{font-size:12px;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-slot-badges{display:flex;flex-wrap:wrap;gap:5px}.pl-slot-badges .badge-nature{font-size:10.5px;padding:3px 8px}.pl-slot-menu{position:absolute;top:10px;right:10px;opacity:0;transition:opacity .12s ease}.pl-slot-card:hover .pl-slot-menu,.pl-slot-menu.is-open{opacity:1}.pl-day-empty{flex:1 1;display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--card-border);border-radius:12px;padding:18px 8px;color:var(--text-muted);font-size:11.5px;font-weight:600;min-height:64px}.pl-day-chips{display:flex;flex-wrap:wrap;gap:6px}.pl-day-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--card-border);background:var(--surface-solid);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .12s ease;font-family:inherit}.pl-day-chip:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border));color:var(--text-main)}.pl-day-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--on-primary-text)}.pl-slot-header{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.pl-slot-body{display:flex;flex-direction:column;gap:20px;margin-top:16px}.pl-slot-row.collapsed .pl-slot-body{display:none!important}.pl-slot-section{display:flex;flex-direction:column;gap:10px}.pl-slot-section-label{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted)}#pl-slots-list .pl-slot-row+.pl-slot-row{border-top:1px solid var(--card-border);margin-top:4px;padding-top:22px}#pl-slots-list .pl-slot-row:only-child .pl-slot-header{display:none}#planification-modal .pl-add-slot-link{display:inline-flex;margin-top:18px;padding:6px 2px;border:none;background:none;color:var(--color-primary);font-size:12.5px}#planification-modal .pl-add-slot-link:hover{text-decoration:underline}#planification-modal .modal-box{border-radius:18px}#planification-modal .modal-header-row{padding:26px 28px 18px}#planification-modal .modal-title{font-size:20px}#planification-modal .modal-body{padding:4px 28px 22px}#planification-modal .pl-slot-row{gap:0!important;border-radius:0!important;background:transparent!important}#planification-modal .field-row{gap:16px}#planification-modal .pl-day-chips{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}#planification-modal .pl-day-chip{padding:8px 0;text-align:center}#planification-modal .pl-row-summary{margin-top:1px}#planification-modal .pl-f-class{font-size:14.5px;font-weight:600;padding-top:10px;padding-bottom:10px}#planification-modal .pl-slot-section{gap:14px;padding-bottom:0;border-bottom:none}#planification-modal .pl-slot-section-label{text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:700;color:var(--text-main)}#planification-modal .form-group label{margin-bottom:7px;font-weight:600;font-size:12px;color:var(--text-main)}#planification-modal .form-group input,#planification-modal .form-group select{padding:9px 12px;font-size:13.5px}#planification-modal .modal-footer{background:var(--surface-solid)}#planification-modal .btn-cancel,#planification-modal .btn-save{border-radius:999px;padding:9px 20px;font-size:13px}#planification-modal .field-wrap,#planification-modal .pl-f-class-locked{background:color-mix(in srgb,var(--text-muted) 6%,var(--surface-solid));border-color:transparent;border-radius:10px}#planification-modal .field-wrap:hover{border-color:color-mix(in srgb,var(--text-muted) 25%,transparent)}#planification-modal .field-wrap:focus-within{border-color:var(--color-primary);background:var(--surface-solid)}#planification-modal .pl-f-room[readonly]{background:transparent}#planification-modal .pl-day-chip{border-radius:9px}#planification-modal .modal-title-wrap{text-align:center;width:100%}#planification-modal .modal-header-row{flex-direction:column;gap:10px;position:relative}#planification-modal .pl-header-actions{position:absolute;top:26px;right:28px}#planification-modal .field-wrap,#planification-modal .pl-f-class-locked{background:color-mix(in srgb,var(--color-primary) 9%,var(--surface-solid))}#planification-modal .field-wrap:focus-within{background:color-mix(in srgb,var(--color-primary) 4%,var(--surface-solid))}#planification-modal .modal-footer{flex-direction:column;align-items:stretch}#planification-modal .btn-save{order:1;width:100%;justify-content:center;padding:13px 20px;font-size:14px}#planification-modal .btn-cancel{order:2;align-self:center;background:none;border:none;box-shadow:none;color:var(--text-muted);font-weight:600;padding:2px 8px}#planification-modal .btn-cancel:hover{color:var(--text-main);text-decoration:underline;background:none}.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}button.app-dropdown-option,button.grid-menu-item,button.pl-mrow{display:flex;width:100%;text-align:left;background:none;border:none;font:inherit;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.pl-mrow{display:block}.app-dropdown-option:focus-visible,.btn-cancel:focus-visible,.btn-save:focus-visible,.grid-menu-item:focus-visible,.modal-close-btn:focus-visible,.pl-mrow:focus-visible,.pl-selday-seeall:focus-visible,.planification-add-slot-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}[role=menu] .app-dropdown-option:focus-visible,[role=menu] [role=menuitem]:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.pl-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;align-items:stretch}@media (max-width:900px){.pl-week-grid{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}.pl-week-grid .pl-day-card{flex:0 0 108px;scroll-snap-align:start}}.pl-day-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:left;background:var(--card-bg-opaque);border:1px solid var(--card-border);border-radius:13px;padding:13px 12px;cursor:pointer;font-family:inherit;position:relative;height:100%;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease,transform .15s ease,box-shadow .15s ease}.pl-day-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--card-border))}.pl-day-card:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.pl-day-card-head{display:flex;align-items:baseline;gap:6px}.pl-day-card-name{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text-muted)}.pl-day-card-date{font-size:15px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-day-card.is-today .pl-day-card-date,.pl-day-card.is-today .pl-day-card-name{color:var(--color-primary)}.pl-day-card-count{font-size:21px;font-weight:800;color:var(--text-main);margin-top:10px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-day-card-count-label{font-size:10.5px;font-weight:500;color:var(--text-muted);margin-top:1px}.pl-day-card-sub{font-size:11px;font-weight:500;color:var(--text-muted);margin-top:7px}.pl-day-card-warn-dot{position:absolute;top:10px;right:10px;width:15px;height:15px;color:var(--color-warning);display:flex;align-items:center;justify-content:center}.pl-day-card-warn-dot svg{width:14px;height:14px}.pl-day-card-load-row{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-day-card-load{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto}.pl-day-card-load.is-high{background:var(--color-success)}.pl-day-card-load.is-medium{background:var(--color-warning)}.pl-day-card-load.is-low{background:var(--color-danger)}.pl-day-card-load.is-unknown{background:color-mix(in srgb,var(--text-muted) 35%,transparent)}.pl-day-card-load-row.is-high{color:var(--color-success)}.pl-day-card-load-row.is-medium{color:var(--color-warning)}.pl-day-card-load-row.is-low{color:var(--color-danger)}.pl-day-card-load-row.is-unknown{color:var(--text-muted)}.pl-day-card-load-bar{display:block;width:100%;height:5px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);overflow:hidden}.pl-day-card-load-bar-fill{display:block;height:100%;border-radius:999px;transition:width .2s ease}.pl-day-card-load-bar-fill.is-high{background:var(--color-success)}.pl-day-card-load-bar-fill.is-medium{background:var(--color-warning)}.pl-day-card-load-bar-fill.is-low{background:var(--color-danger)}.pl-day-card-load-bar-fill.is-unknown{background:color-mix(in srgb,var(--text-muted) 45%,transparent)}.pl-day-card-occ-badge{font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;margin-left:auto}.pl-day-card-occ-badge.is-high{color:var(--color-success);background:var(--color-success-pale)}.pl-day-card-occ-badge.is-medium{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.pl-day-card-occ-badge.is-low{color:var(--color-danger);background:var(--color-danger-pale)}.pl-day-card-head{position:relative}.pl-day-card.is-busiest{border-left:3px solid var(--color-warning);padding-left:9px}.pl-day-card.is-selected.is-busiest{border-left-color:var(--on-primary-text,var(--color-warning))}.pl-day-card-rooms-row{display:flex;align-items:center;gap:3px;margin-top:6px}.pl-day-card-room-dot{width:5px;height:5px;border-radius:50%;flex:0 0 auto;background:color-mix(in srgb,var(--text-muted) 30%,transparent)}.pl-day-card-room-dot.is-filled{background:var(--color-primary)}.pl-day-card.is-selected .pl-day-card-room-dot{background:color-mix(in srgb,var(--text-main) 30%,transparent)}.pl-day-card.is-selected .pl-day-card-room-dot.is-filled{background:var(--text-main)}.pl-day-card.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));border-color:var(--color-primary);box-shadow:var(--shadow-xs)}.pl-day-card.is-selected .pl-day-card-count,.pl-day-card.is-selected .pl-day-card-count-label,.pl-day-card.is-selected .pl-day-card-date,.pl-day-card.is-selected .pl-day-card-name,.pl-day-card.is-selected .pl-day-card-sub{color:var(--text-main)}.pl-day-card.is-selected .pl-day-card-load.is-high{background:var(--color-success)}.pl-day-card.is-selected .pl-day-card-load.is-medium{background:var(--color-warning)}.pl-day-card.is-selected .pl-day-card-load.is-low{background:var(--color-danger)}.pl-day-card.is-selected .pl-day-card-load.is-unknown{background:color-mix(in srgb,var(--text-muted) 35%,transparent)}.pl-selday-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.pl-selday-title{font-size:15px;font-weight:800;color:var(--text-main)}.pl-selday-stat-value--na{color:var(--text-muted);font-weight:500;font-style:italic}.pl-selday-issue{font-size:11.5px;font-weight:700;color:var(--color-danger);background:var(--color-danger-pale);border-radius:999px;padding:4px 11px;flex:0 0 auto}.pl-selday-date{font-size:12px;font-weight:600;color:var(--text-muted);display:block;margin-top:2px}.pl-selday-stats{align-items:center;gap:28px;margin-top:12px;padding:16px 18px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg))}.pl-selday-stat{gap:11px;min-width:0}.pl-selday-stat-icon{width:38px;height:38px;border-radius:10px;background:var(--color-primary-pale);color:var(--color-primary);flex:0 0 auto}.pl-selday-stat-icon i{width:18px;height:18px}.pl-selday-stat-text{display:flex;flex-direction:column;gap:1px;line-height:1.2}.pl-selday-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.03em}.pl-selday-stat-value{font-size:22px;letter-spacing:-.3px}.pl-selday-mini-donut{position:relative;width:38px;height:38px;flex:0 0 auto}.pl-selday-mini-donut svg{display:block}.pl-selday-mini-donut-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--text-main)}.pl-selday-subhead{font-size:12px;font-weight:700;color:var(--text-main);margin:14px 0 8px}.pl-selday-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:4px}.pl-selday-empty{font-size:12.5px;color:var(--text-muted);margin-top:14px}.pl-selday-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--card-border);border-left:3px solid;border-radius:var(--radius-md);padding:9px 12px;background:var(--card-bg)}.pl-selday-slot-main{display:flex;flex-direction:column;gap:2px;min-width:0}.pl-selday-slot-time{font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-selday-slot-subject{font-size:12.5px;font-weight:600;color:var(--text-main)}.pl-selday-slot-meta,.pl-selday-slot-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-selday-slot-meta{font-size:11px;font-weight:500;color:var(--text-muted)}.pl-selday-slot-right{display:flex;align-items:center;gap:4px;flex:0 0 auto}.pl-selday-footer{display:flex;justify-content:flex-end;margin-top:10px}.pl-selday-seeall{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:var(--color-primary);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.pl-selday-seeall i{width:13px;height:13px}.pl-selday-seeall:hover{text-decoration:underline}.pl-week-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:24px;gap:24px;align-items:start;margin-bottom:20px}.pl-week-col-right{display:flex;flex-direction:column;gap:12px}@media (max-width:991px){.pl-week-layout{grid-template-columns:1fr;gap:16px}}.planification-week-col{margin-bottom:16px}.pl-cal-shell{width:100%;margin:0}.pl-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.pl-cal-weekdays span{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.pl-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:0;gap:0}.pl-cal-day{position:relative;width:100%;aspect-ratio:1/1;min-height:34px;border:none;background:transparent;border-radius:50%;font-size:12.5px;font-weight:500;color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:background .1s ease,color .1s ease}.pl-cal-day:hover{background:var(--sidebar-hover)}.pl-cal-day.is-muted{color:var(--text-muted);opacity:.45}.pl-cal-day.is-today{color:var(--color-primary);font-weight:700}.pl-cal-day.is-selected{background:var(--color-primary);font-weight:700}.pl-cal-day.is-selected,.pl-cal-day.is-today.is-selected{color:var(--on-primary-text,#fff)}@media (max-width:480px){.pl-cal-day{min-height:36px;font-size:13px}}.planification-calendar-hero{background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)) 0,var(--card-bg) 55%);border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--card-border));box-shadow:0 8px 24px -12px color-mix(in srgb,var(--color-primary) 25%,transparent),var(--shadow-xs,none);position:relative;overflow:hidden}.planification-calendar-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 16%,transparent) 0,transparent 70%);pointer-events:none}.pl-cal-hero-icon{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 65%,var(--color-primary-light)));color:var(--on-primary-text,#fff);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 35%,transparent)}.pl-cal-hero-icon i{width:16px;height:16px}.planification-calendar-hero .pl-cal-day{box-shadow:0 1px 2px color-mix(in srgb,#000 4%,transparent)}@media (max-width:767.98px){.planification-calendar-hero:before{display:none}}.pl-selday-inline:empty,.pl-sess-table{display:none}.pl-timeline{display:flex;flex-direction:column;padding:14px 14px 6px}.pl-timeline-group{position:relative;display:grid;grid-template-columns:52px 20px 1fr;grid-column-gap:12px;column-gap:12px;padding-bottom:22px}.pl-timeline-group:last-child{padding-bottom:4px}.pl-timeline-time{text-align:right;font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:2px}.pl-timeline-rail{position:relative;display:flex;justify-content:center}.pl-timeline-rail:before{content:"";position:absolute;top:14px;bottom:-22px;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(var(--color-primary),var(--card-border));opacity:.5}.pl-timeline-group:last-child .pl-timeline-rail:before{display:none}.pl-timeline-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:4px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 60%,var(--color-primary-light)));border:2px solid var(--card-bg-opaque);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent),0 2px 6px color-mix(in srgb,var(--color-primary) 30%,transparent)}.pl-timeline-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.pl-sess-card{position:relative;overflow:hidden;border:1px solid var(--card-border);border-radius:var(--radius-lg,14px);padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;background:linear-gradient(155deg,var(--card-bg-opaque) 0,color-mix(in srgb,var(--color-primary) 3%,var(--card-bg-opaque)) 100%)}.pl-sess-card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border));box-shadow:0 6px 16px -6px color-mix(in srgb,var(--color-primary) 25%,transparent);transform:translateY(-2px)}.pl-sess-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pl-sess-card-time{font-size:13px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-sess-card-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}.pl-sess-card-class{font-size:13px;font-weight:600;color:var(--text-main)}.pl-sess-card-meta{font-size:11.5px;font-weight:500;color:var(--text-muted)}.pl-sess-card-detail{margin-top:2px}@media (max-width:560px){.pl-timeline{display:none}}.pl-sess-table td{cursor:pointer;padding:12px 14px}.pl-sess-table tbody tr.pl-detail-row{cursor:default}.pl-sess-table tbody tr.pl-detail-row,.pl-sess-table tbody tr.pl-detail-row:hover{background:color-mix(in srgb,var(--color-primary) 3%,transparent)!important}.pl-sess-table .pl-col-time{font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pl-sess-table .pl-col-class{color:var(--text-main);font-weight:500}.pl-sess-table .pl-col-room,.pl-sess-table .pl-col-teacher{color:var(--text-muted);font-weight:500}.pl-sess-table .pl-col-room{white-space:nowrap}.pl-room-missing,.pl-status-conflict{color:var(--color-danger);font-weight:700}.pl-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:16px;gap:16px;padding:14px 14px 16px;margin-bottom:6px;background:var(--sidebar-active);border:1px solid var(--card-border);border-radius:12px}.pl-detail-item-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.pl-detail-item-value{font-size:13.5px;font-weight:700;color:var(--text-main)}.pl-detail-actions{display:flex;gap:8px;padding:2px 0 0}.pl-action-btn,.pl-detail-actions .btn-cancel{flex:1 1;justify-content:center}.pl-action-btn{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:9px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;border:1px solid var(--field-border);background:var(--surface-solid);color:var(--text-muted)}.pl-action-btn:hover{transform:translateY(-1px);color:var(--text-main);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--field-border))}.pl-action-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--on-primary-text);box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 30%,transparent)}.pl-action-btn--primary:hover{background:var(--purple-text);border-color:var(--purple-text);color:var(--on-primary-text);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 35%,transparent)}.pl-action-btn--danger{color:var(--color-danger)}.pl-action-btn--danger:hover{background:color-mix(in srgb,var(--color-danger) 8%,transparent);border-color:color-mix(in srgb,var(--color-danger) 35%,var(--field-border));color:var(--color-danger)}@media (max-width:900px){.pl-sess-table .pl-col-teacher{display:none}}@media (max-width:720px){.pl-sess-table .pl-col-room{display:none}}.pl-mobile-list{display:none}@media (max-width:560px){.pl-sess-table{display:none}.pl-mobile-list{display:flex;flex-direction:column;padding:6px 4px}.pl-mrow{padding:12px 8px;cursor:pointer}.pl-mrow+.pl-mrow{border-top:1px solid var(--card-border)}.pl-mrow-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pl-mrow-time{font-size:13px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-mrow-sub{font-size:12.5px;font-weight:500;color:var(--text-muted);margin-top:3px}.pl-mrow-detail{margin-top:10px}}.planification-active-card .chart-title{font-size:15px}.planification-table th{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:9px 18px;border-bottom:1px solid var(--card-border);text-align:left}.planification-table td{padding:9px 18px}.planification-table-row{cursor:pointer;transition:background .12s ease}.planification-table-row:hover{background:color-mix(in srgb,var(--text-main) 3%,transparent)}.planification-plan-name{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--text-main)}.pl-row-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;flex-shrink:0;border:1px solid var(--card-border)}.pl-row-icon i{width:15px;height:15px;stroke-width:1.75}.pl-row-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.planification-plan-namecol{display:flex;flex-direction:column;gap:2px;min-width:0}.planification-plan-namecol>span:first-child{font-size:14.5px;font-weight:700;color:var(--text-main);line-height:1.25}.planification-plan-subtitle{font-size:12px;font-weight:500;color:var(--text-muted)}.planification-col-classes,.planification-col-muted,.planification-col-period,.planification-col-slots{color:var(--text-muted);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.planification-col-occ{min-width:150px}.planification-occupancy{display:flex;flex-direction:column;gap:6px}.planification-occupancy-pct{font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.planification-occupancy-bar{height:7px;border-radius:999px;background:color-mix(in srgb,var(--text-main) 10%,transparent);overflow:hidden;width:100%;max-width:140px}.planification-occupancy-fill{height:100%;border-radius:999px;min-width:3px;transition:width .4s ease}.planification-status .status-badge{padding:3px 10px;font-size:11px;min-width:76px;display:inline-flex;justify-content:center;text-align:center}.planification-col-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.planification-col-actions .icon-btn{border-radius:8px;transition:background .12s ease}.planification-col-actions .icon-btn:hover{background:color-mix(in srgb,var(--text-main) 8%,transparent)}.planification-col-actions .icon-btn:focus-visible,.planification-table-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.planification-subrows{display:flex;flex-direction:column;padding:6px 4px 10px 40px}.planification-subrow{display:grid;grid-template-columns:80px 96px 100px 1fr 1fr 100px 90px auto;align-items:center;grid-gap:10px;gap:10px;padding:7px 6px;font-size:12.5px}.planification-subrow-actions{display:inline-flex;align-items:center;gap:6px;justify-self:end}.pl-subrow-btn{border:1px solid var(--card-border);background:transparent;color:var(--text-main);font:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.pl-subrow-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-primary);color:var(--color-primary)}.pl-subrow-btn--danger{color:var(--text-muted)}.pl-subrow-btn--danger:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:var(--color-danger);color:var(--color-danger)}.pl-subrow-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.planification-subrow--link{cursor:pointer;border-radius:8px;transition:background .12s ease}.planification-subrow--link:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.planification-subrow--link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.planification-subrow-chevron{width:14px;height:14px;color:var(--text-muted);opacity:0;transition:opacity .12s ease;justify-self:end}.planification-subrow--link:focus-visible .planification-subrow-chevron,.planification-subrow--link:hover .planification-subrow-chevron{opacity:1}.planification-subrow--conflict{border-left:3px solid var(--color-danger);padding-left:8px;margin-left:-8px;background:color-mix(in srgb,var(--color-danger) 5%,transparent);border-radius:6px}.planification-subrow:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--card-border) 55%,transparent)}.planification-subrow-day{font-weight:700;color:var(--text-muted);font-size:11px;text-transform:uppercase}.planification-subrow-time{font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.planification-subrow-session{color:var(--text-muted)}.planification-subrow-class{color:var(--text-main);font-weight:500}.planification-subrow-prof,.planification-subrow-room{color:var(--text-muted)}.planification-add-slot-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;border-radius:8px;border:1px dashed var(--card-border);background:transparent;color:var(--color-primary);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.planification-add-slot-btn i,.planification-add-slot-btn svg{width:14px;height:14px}.planification-add-slot-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:var(--color-primary)}@media (max-width:1100px){.planification-subrow{grid-template-columns:70px 84px 1fr 1fr 90px auto}.planification-subrow-room,.planification-subrow-session{display:none}}@media (max-width:760px){.planification-subrow{grid-template-columns:70px 1fr 90px auto}.planification-subrow-prof,.planification-subrow-status{display:none}}.pl-hour-list{display:flex;flex-direction:column;gap:12px;padding:4px 2px}.pl-hour-row{display:grid;grid-template-columns:96px 1fr 160px;align-items:center;grid-gap:12px;gap:12px}.pl-hour-label{font-size:12px;font-weight:700;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-hour-bar{height:7px;border-radius:999px;background:var(--purple-accent);overflow:hidden}.pl-hour-bar-fill{height:100%;border-radius:999px;background:var(--color-primary);transition:width .4s ease}.pl-hour-value{font-size:12.5px;font-weight:600;color:var(--text-main);text-align:right;white-space:nowrap}.pl-hour-pct{color:var(--text-muted);font-weight:500}@media (max-width:600px){.pl-hour-row{grid-template-columns:1fr;gap:4px}.pl-hour-value{text-align:left}}.pl-alert-list{display:flex;flex-direction:column;gap:6px;padding:0}.pl-alert-row{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--card-border)}.pl-alert-row--critical{background:color-mix(in srgb,var(--color-danger) 4%,var(--card-bg))}.pl-alert-row--warning{background:color-mix(in srgb,var(--color-warning) 4%,var(--card-bg))}.pl-alert-row--information{background:color-mix(in srgb,var(--purple-text,var(--color-accent-blue)) 4%,var(--card-bg))}.pl-alert-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pl-alert-icon i{width:15px;height:15px}.pl-alert-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1}.pl-alert-title{font-size:13px;font-weight:700;color:var(--text-main);line-height:1.3;display:flex;align-items:center;gap:7px}.pl-alert-sub{font-size:11.5px;font-weight:500;color:var(--text-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pl-alert-count{font-size:11px;font-weight:800;line-height:1;flex-shrink:0;padding:3px 7px;border-radius:999px;background:var(--card-bg-opaque,var(--card-bg));border:1px solid var(--card-border)}.pl-alert-cat{align-self:flex-start;margin-top:1px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;white-space:nowrap}.pl-alert-secondary{font-size:11.5px;font-weight:500;color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-alert-category{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;padding:4px 9px;border-radius:999px;white-space:nowrap}.pl-alert-row--critical .pl-alert-cat,.pl-alert-row--critical .pl-alert-category{background:var(--color-danger-pale);color:var(--color-danger)}.pl-alert-row--warning .pl-alert-cat,.pl-alert-row--warning .pl-alert-category{background:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning)}.pl-alert-row--information .pl-alert-cat,.pl-alert-row--information .pl-alert-category{background:var(--purple-accent);color:var(--purple-text)}.pl-alert-seeall{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:var(--color-primary);cursor:pointer;white-space:nowrap}.pl-alert-seeall:hover{text-decoration:underline}.pl-alert-row--critical .pl-alert-icon{background:var(--color-danger-pale);color:var(--color-danger)}.pl-alert-row--critical .pl-alert-count{color:var(--color-danger)}.pl-alert-row--warning .pl-alert-icon{background:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning)}.pl-alert-row--warning .pl-alert-count{color:var(--color-warning)}.pl-alert-row--information .pl-alert-icon{background:var(--purple-accent);color:var(--purple-text)}.pl-alert-row--information .pl-alert-count{color:var(--purple-text)}.pl-alert-empty{display:flex;align-items:center;gap:10px;padding:14px 12px;color:var(--color-success);font-weight:600;font-size:13px}.pl-alert-detail-list{display:flex;flex-direction:column;gap:8px}.pl-alert-detail-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg)}.pl-alert-detail-item-main{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:2px}.pl-alert-detail-item-time{font-size:12px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-alert-detail-item-class{font-size:13px;font-weight:700;color:var(--text-main)}.pl-alert-detail-item-meta{font-size:11.5px;font-weight:500;color:var(--text-muted)}.pl-alert-detail-item-note{font-size:11px;font-weight:600;color:var(--color-warning);margin-top:2px}.pl-alert-detail-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pl-sess-card{min-height:104px}.pl-cal-today-btn{white-space:nowrap}.pl-selday-summary{display:flex;flex-direction:column;gap:10px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:linear-gradient(150deg,var(--card-bg) 0,color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)) 100%)}.pl-selday-summary-date{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--text-main);text-transform:capitalize}.pl-selday-stats{display:flex;flex-wrap:wrap;gap:10px}.pl-selday-stat{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg-opaque,var(--card-bg));min-width:116px;flex:1 1 auto}.pl-selday-stat-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pl-selday-stat-icon i{width:16px;height:16px}.pl-selday-stat-value{font-size:16px;font-weight:800;color:var(--text-main);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-selday-stat-label{font-size:10.5px;font-weight:600;color:var(--text-muted)}.pl-class-summary{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg)}.pl-class-summary-item{display:flex;flex-direction:column;gap:1px;min-width:0}.pl-class-summary-item-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pl-class-summary-item-value{font-size:12.5px;font-weight:700;color:var(--text-main)}.pl-room-avail{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px}.pl-room-avail-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:6px;font-size:10.5px;font-weight:700;border:1px solid transparent;line-height:1.3}.pl-room-avail-pill.is-free{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.pl-room-avail-pill.is-busy{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.pl-room-avail-pill.is-current{border-color:currentColor}.pl-room-avail-count{font-size:10.5px;font-weight:700;color:var(--text-muted);margin-left:2px;padding-left:6px;border-left:1px solid var(--card-border)}.pl-alert-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.pl-alert-action-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--color-primary);font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.pl-alert-action-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.pl-alert-count-inline{color:var(--text-muted);font-weight:600}@media (max-width:640px){.pl-alert-row{flex-wrap:nowrap}.pl-alert-actions{width:100%;justify-content:flex-start;margin-top:6px}}@media (max-width:600px){.pl-alert-secondary{white-space:normal}}.planification-page{overflow-x:hidden}.planification-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--dash-gap-sm,16px);gap:var(--dash-gap-sm,16px);margin-bottom:16px;align-items:stretch}.planification-kpis>.kpi-card-v2{padding:var(--card-size-md-padding);box-shadow:var(--shadow-level-default);border-color:var(--card-border);min-height:84px;justify-content:center}.planification-kpis>.kpi-card-v2 .kpi-card-v2-head{margin-bottom:8px}.planification-kpis>.kpi-card-v2 .kpi-card-v2-label{font-size:13px}.planification-kpis>.kpi-card-v2 .kpi-card-v2-val{font-size:24px;letter-spacing:-.5px;margin-bottom:4px}.planification-active-card{margin-bottom:16px;padding:var(--card-size-lg-padding,24px);max-height:none}.planification-active-card .chart-header{padding:0 0 var(--space-3,12px)}.planification-active-card .custom-scroll{max-height:480px}.planification-active-card table.planification-table td,.planification-active-card table.planification-table th{padding:12px 14px}.planification-week-preview{padding:var(--card-size-md-padding);justify-content:flex-start;display:flex;flex-direction:column}.planification-week-preview .pl-week-grid{flex:1 1}.planification-detail-card{margin-bottom:16px;min-height:360px;max-height:520px}.planification-detail-card #planification-table-view{max-height:460px}.planification-row-2col{display:grid;grid-template-columns:1.45fr 1.3fr;grid-gap:16px;gap:16px;align-items:stretch;margin-bottom:16px}.planification-row-2col:has(#pl-alerts-row){grid-template-columns:2fr 1fr}.planification-dash-main,.planification-dash-side{display:flex;flex-direction:column;gap:16px;min-width:0}.planification-dash-main>.planification-active-card{margin-bottom:0}.planification-row-2col--equal{grid-template-columns:1fr 1fr}.planification-row-2col>#pl-class-planning-mount,.planification-row-2col>#pl-class-planning-mount>.card,.planification-row-2col>#pl-selday-row>.card,.planification-row-2col>.planification-week-preview{height:100%}#pl-class-planning-mount.pl-classes-compact{display:flex;flex-direction:column}#pl-class-planning-mount.pl-classes-compact>.card{display:flex;flex-direction:column;margin-bottom:0}#pl-class-planning-mount.pl-classes-compact .pl-class-overview-grid{max-height:268px!important;flex:none}@media (max-width:900px){.planification-row-2col{grid-template-columns:1fr}}@media (max-width:1300px) and (min-width:901px){.planification-row-2col{grid-template-columns:1fr 1fr;gap:14px}.planification-row-2col:has(#pl-alerts-row){grid-template-columns:1.4fr 1fr}}@media (max-width:900px){.planification-table .planification-col-period{display:none}}@media (max-width:700px){.planification-table .planification-col-classes{display:none}}@media (max-width:1100px) and (min-width:768px){.planification-page{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.planification-kpis{grid-column:1/-1;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:0}.planification-active-card,.planification-row-2col{grid-column:1/-1;margin-bottom:0}.planification-row-2col{grid-template-columns:1fr;gap:12px}.planification-detail-card{grid-column:1/-1;margin-bottom:0}.planification-week-preview{padding:var(--card-size-sm-padding,16px)}.planification-alerts{grid-column:1/-1;margin-bottom:0}}@media (max-width:767.98px){.planification-page{display:block}.planification-kpis{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.planification-active-card{margin-bottom:14px}.planification-row-2col{gap:12px;margin-bottom:14px}.planification-detail-card{margin-bottom:14px}.planification-week-preview{padding:var(--card-size-sm-padding,14px)}.planification-alerts{margin-bottom:0}.planification-table td,.planification-table th{padding:9px 10px;font-size:12.5px}.planification-col-occ{min-width:100px}}@media (max-width:480px){.planification-kpis{grid-template-columns:1fr}}.pl-top-grid{display:grid;grid-template-columns:1fr 430px;grid-gap:28px;gap:28px;align-items:start;margin-bottom:16px}.pl-top-main{gap:20px}.pl-top-main,.pl-top-side{display:flex;flex-direction:column;min-width:0}.pl-top-side{gap:14px;width:100%}.pl-top-side .card-level-2{padding:var(--card-size-sm-padding,16px);min-height:0}.pl-top-side .card-level-2 .chart-header{margin-bottom:10px}.pl-minical-card{padding:var(--card-size-sm-padding,16px);width:100%}.pl-cal-mode-btn{flex:1 1;border:none;background:transparent;padding:7px 6px;border-radius:8px;font-size:11.5px;font-weight:700;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.pl-cal-mode-btn:hover{color:var(--text-main)}.pl-cal-mode-btn.active{background:var(--card-bg-opaque);color:var(--color-primary);box-shadow:0 1px 2px rgba(15,23,42,.06)}.pl-week-grid{display:flex}.pl-week-grid .pl-day-card{flex:0 0 92px;scroll-snap-align:start}.pl-minical .pl-cal-grid,.pl-minical.pl-cal-grid{gap:4px;background:transparent;border:none;border-radius:0;overflow:visible}.pl-minical .pl-cal-weekdays{margin-bottom:8px}.pl-minical .pl-cal-weekdays span{font-size:10px}.pl-minical .pl-cal-day{min-height:32px;font-size:12px;border-radius:var(--radius-sm);background:transparent;margin:0;transition:background .18s var(--ease-standard)}.pl-minical .pl-cal-day:hover:not(.is-selected){background:var(--control-hover-bg,var(--sidebar-hover))}.pl-minical .pl-cal-day.is-today{background:color-mix(in srgb,var(--color-primary) 10%,transparent);font-weight:700}.pl-minical .pl-cal-day.is-selected{background:var(--color-primary);color:var(--on-primary-text,#fff);font-weight:700;border-radius:var(--radius-sm)}.pl-minical .pl-cal-day.is-today.is-selected{background:var(--color-primary)}.pl-minical-card .pl-selday-inline:not(:empty){margin-top:12px}.pl-classes-compact>.card{padding:var(--card-size-sm-padding,16px);margin-bottom:0}.pl-top-main>.planification-active-card,.pl-top-main>.planification-detail-card{margin-bottom:0}@media (max-width:1100px){.planification-page{display:block}.pl-top-grid{grid-template-columns:1fr 300px}}@media (max-width:900px){.pl-top-grid{grid-template-columns:1fr}}.planification-alerts--full{margin-bottom:20px}.planification-alerts--full:empty{margin-bottom:0}html body #pl-alerts-row.planification-alerts--full .pl-ac{flex-direction:row;flex-wrap:wrap;gap:12px}html body #pl-alerts-row.planification-alerts--full .pl-ac-item{display:block;flex:1 1 280px;min-width:240px}html body #pl-alerts-row.planification-alerts--full .pl-ac-rail,html body #pl-alerts-row.planification-alerts--full .pl-ac-time{display:none}html body #pl-alerts-row.planification-alerts--full .pl-ac-card{height:100%;padding:14px 16px}@media (max-width:640px){html body #pl-alerts-row.planification-alerts--full .pl-ac-item{flex:1 1 100%}}.sp-crit-pill{font-size:11px;font-weight:700;color:var(--color-danger);background:var(--color-danger-pale);padding:3px 10px;border-radius:999px}.sp-hero{padding:var(--card-size-lg-padding);display:flex;flex-direction:column;gap:var(--space-5)}.sp-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.sp-hero-title{font-size:20px;font-weight:800;color:var(--text-main);letter-spacing:-.01em}.sp-hero-sub{font-size:13px;color:var(--text-muted);margin-top:var(--space-1)}.sp-progress-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.sp-progress-bar{height:6px;border-radius:999px;background:var(--purple-accent);overflow:hidden}.sp-progress-fill{height:100%;border-radius:999px;background:var(--tl-color,var(--purple-text));transition:width .6s ease}.sp-progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.sp-hero-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.sp-fact{display:flex;align-items:flex-start;gap:var(--space-3)}.sp-fact svg{width:16px;height:16px;color:var(--purple-text);margin-top:2px;flex-shrink:0}.sp-fact-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sp-fact-value{font-size:13px;font-weight:600;color:var(--text-main);margin-top:1px}.sp-actions{padding-bottom:var(--space-4)}.sp-actions-single{padding-bottom:0}.sp-action-item{display:flex;align-items:center;gap:14px;padding:15px var(--space-7);cursor:pointer;border-top:1px solid var(--card-border);transition:background .15s ease}.sp-action-item:hover{background:var(--sidebar-hover)}.sp-action-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-action-icon svg{width:16px;height:16px}.sp-level-critical{background:var(--color-danger-pale);color:var(--color-danger)}.sp-level-attention{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning)}.sp-level-info{background:var(--purple-accent);color:var(--purple-text)}.sp-level-success{background:var(--color-success-pale);color:var(--color-success)}.sp-level-neutral{background:var(--bg-subtle,rgba(148,163,184,.12));color:var(--text-muted)}.sp-action-body{flex:1 1;min-width:0}.sp-action-title{font-size:12px;font-weight:600;color:var(--text-muted)}.sp-action-value{font-size:15px;font-weight:700;color:var(--text-main)}.sp-action-desc{font-size:12px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sp-parcours-timeline{display:flex;flex-direction:column;position:relative}.sp-parcours-timeline:before{content:"";position:absolute;top:9px;bottom:9px;left:5px;width:2px;background:var(--card-border);z-index:0}.sp-parcours-item{display:flex;flex-direction:column;position:relative;z-index:1}.sp-parcours-item:not(:last-child){padding-bottom:var(--space-7)}.sp-parcours-row{display:flex;align-items:center;gap:14px}.sp-parcours-marker{position:relative;width:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sp-parcours-dot{width:8px;height:8px;border-radius:50%;background:var(--tl-color,var(--text-muted));box-shadow:0 0 0 5px color-mix(in srgb,var(--tl-color,var(--text-muted)) 14%,transparent);position:relative;z-index:1;flex-shrink:0}.sp-parcours-item[data-active=true] .sp-parcours-dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--tl-color,var(--text-muted));animation:urgencyPulse 1.8s ease-out infinite}.sp-parcours-marker:after{display:none}.sp-journey{flex-wrap:wrap;gap:16px 12px;padding:6px 4px}.sp-journey,.sp-journey-step{display:flex;align-items:flex-start}.sp-journey-step{gap:10px;flex:1 1 150px;min-width:130px}.sp-journey-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-journey-icon i{width:15px;height:15px}.sp-journey-step--current .sp-journey-icon{background:var(--purple-accent);color:var(--purple-text)}.sp-journey-body{min-width:0}.sp-journey-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sp-journey-value{font-size:13px;font-weight:700;color:var(--text-main);margin-top:2px;line-height:1.3}.sp-journey-value--muted{font-weight:600;color:var(--text-muted)}.sp-journey-arrow{display:flex;align-items:center;color:var(--card-border);flex-shrink:0;padding-top:6px}.sp-journey-arrow i{width:15px;height:15px}@media (max-width:640px){.sp-journey{flex-direction:column}.sp-journey-arrow{display:none}}.sp-path-wrap{padding:4px 22px 6px}.sp-parcours-layout{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);grid-gap:var(--space-5,20px);gap:var(--space-5,20px);align-items:start}.sp-parcours-layout--solo{grid-template-columns:minmax(0,1fr)}@media (max-width:900px){.sp-parcours-layout{grid-template-columns:minmax(0,1fr)}}.sp-path{display:flex;flex-direction:column;gap:16px;padding:20px 22px;border-radius:var(--radius-md,14px);background:color-mix(in srgb,var(--purple-accent) 92%,var(--card-bg) 8%);border:1px solid color-mix(in srgb,var(--purple-text) 28%,var(--card-border) 72%)}.sp-path-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sp-path-program{font-size:18px;font-weight:800;color:var(--text-main);letter-spacing:-.01em;line-height:1.25}.sp-path-group{font-size:12.5px;color:var(--text-muted);margin-top:2px}.sp-path-progress{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-path-bar{flex:0 0 160px;max-width:160px;height:6px;border-radius:999px;background:var(--card-bg);overflow:hidden}.sp-path-bar-fill{height:100%;border-radius:999px;background:var(--purple-text);transition:width .6s ease}.sp-path-pct{font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-path-pct-muted{font-size:12px;color:var(--text-muted)}.sp-path-meta{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));grid-gap:10px 22px;gap:10px 22px;padding-top:2px;border-top:1px solid color-mix(in srgb,var(--purple-text) 16%,transparent)}.sp-path-meta-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted);min-width:0}.sp-path-meta-item i,.sp-path-meta-item svg{width:14px;height:14px;flex-shrink:0;color:var(--purple-text)}.sp-path-meta-item strong{color:var(--text-main);font-weight:700}@media (max-width:640px){.sp-path-meta{grid-template-columns:1fr}}.sp-path-next{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;margin-top:2px;border-top:1px dashed var(--card-border);flex-wrap:wrap}.sp-path-next-info{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.sp-path-next-info i,.sp-path-next-info svg{width:15px;height:15px;color:var(--purple-text);flex-shrink:0}.sp-path-next-info strong{color:var(--text-main);font-weight:700}.sp-path-next--muted{font-size:12px}.sp-path-next--muted,.sp-path-next--muted i,.sp-path-next--muted svg{color:var(--text-muted)}.sp-history-list{display:flex;flex-direction:column}.sp-history-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 22px;border-top:1px solid var(--card-border)}.sp-history-dot{width:7px;height:7px;border-radius:50%;background:var(--tl-color,var(--text-muted));flex-shrink:0}.sp-history-body{min-width:0}.sp-history-name{font-size:13px;font-weight:600;color:var(--text-main)}.sp-history-sub{font-size:11.5px;color:var(--text-muted);margin-top:1px}.sp-history-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.sp-history-date{font-size:11px;color:var(--text-muted);white-space:nowrap;min-width:130px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-history-status{display:flex;width:104px}.sp-history-code{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-parcours-section{padding:12px 22px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sp-parcours-section+.sp-history-list>.sp-history-row:first-child{border-top:none}.sp-history-row--current{background:var(--purple-accent);border-radius:var(--radius-sm,8px)}.sp-history-row--current .sp-history-name{font-size:15px;font-weight:800}.sp-next-level-body{display:flex;align-items:center;gap:14px;padding:2px 22px 6px}.sp-next-level-body--muted{color:var(--text-muted);font-size:12.5px;padding-bottom:20px}.sp-next-level-body--muted i,.sp-next-level-body--muted svg{width:16px;height:16px;flex-shrink:0}.sp-next-level-icon{width:40px;height:40px;border-radius:12px;background:var(--purple-accent);color:var(--purple-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-next-level-icon i,.sp-next-level-icon svg{width:20px;height:20px}.sp-next-level-info{flex:1 1;min-width:0}.sp-next-level-name{font-size:18px;font-weight:800;color:var(--text-main);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-next-level-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.sp-next-level-btn{flex-shrink:0;min-height:40px;padding:0 18px;justify-content:center}.sp-next-level-hint{padding:8px 22px 18px;font-size:12px;color:var(--text-muted)}@media (max-width:640px){.sp-path-progress{width:100%}.sp-path-bar{flex:1 1 auto;max-width:none}.sp-history-right{align-items:flex-start}.sp-history-row{grid-template-columns:7px minmax(0,1fr)}.sp-history-right{grid-column:2;flex-wrap:wrap;gap:6px 12px}.sp-history-status{width:auto}.sp-history-date{min-width:0;text-align:left}.sp-next-level-body:not(.sp-next-level-body--muted){flex-wrap:wrap}.sp-next-level-btn{width:100%}}.tbl-tooltip-wrap{position:relative;display:inline-block;cursor:default}.tbl-tooltip-fixed{display:none;position:fixed;background:var(--card-bg);color:var(--text-main);border:1px solid var(--card-border);padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);z-index:var(--z-tooltip);text-align:left;pointer-events:none}.tbl-tooltip-fixed:after{bottom:100%;border:5px solid transparent;border-bottom:5px solid var(--card-bg)}.tbl-tooltip-fixed:after,.tbl-tooltip-fixed:before{content:"";position:absolute;left:var(--tt-arrow-left,50%);transform:translateX(-50%)}.tbl-tooltip-fixed:before{bottom:calc(100% + 1px);border:6px solid transparent;border-bottom:6px solid var(--card-border)}.tbl-tooltip-fixed .tbl-tooltip-item{display:flex;align-items:center;gap:6px;padding:2px 0}.tbl-tooltip-fixed .tbl-tooltip-item:before{content:"";width:4px;height:4px;min-width:4px;border-radius:50%;background:currentColor}.sp-action-cta{font-size:12px;font-weight:600;color:var(--purple-text);white-space:nowrap}.sp-timeline-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-4) var(--space-7) 10px}.sp-session{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-7)}.sp-session-time{font-size:13.5px;font-weight:700;color:var(--text-main);min-width:64px}.sp-session-time span{display:block;font-size:11px;font-weight:500;color:var(--text-muted)}.sp-session-body{flex:1 1;min-width:0}.sp-session-name{font-size:13.5px;font-weight:600;color:var(--text-main)}.sp-session-meta{font-size:12px;color:var(--text-muted);margin-top:3px}.sp-doc-row{display:flex;align-items:center;gap:14px;padding:var(--space-4) var(--space-7);border-top:1px solid var(--card-border)}.sp-exam-details-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--card-border);border-radius:var(--radius-sm,8px);padding:6px 12px;min-height:34px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--text-main);cursor:pointer;white-space:nowrap;transition:background .18s var(--ease-standard),border-color .18s var(--ease-standard),color .18s var(--ease-standard);-webkit-tap-highlight-color:transparent}.sp-exam-details-btn i,.sp-exam-details-btn svg{width:14px;height:14px;flex-shrink:0}.sp-exam-details-btn:hover{background:var(--sidebar-hover);border-color:var(--color-primary);color:var(--color-primary)}.sp-exam-details-btn:active{transform:scale(.98)}.sp-exam-details-btn:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}.sp-exam-list{display:flex;flex-direction:column}.sp-exam-line{display:grid;grid-template-columns:minmax(0,1fr) 190px 96px 152px;align-items:center;grid-column-gap:22px;column-gap:22px;padding:11px 22px;border-bottom:1px solid var(--card-border);border-radius:var(--radius-sm,8px)}.sp-exam-line:last-child{border-bottom:none}.sp-exam-main{display:flex;flex-direction:column;gap:1px;min-width:0}.sp-exam-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sp-exam-title{font-size:13.5px;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-exam-ref{font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-exam-date{font-size:12.5px;color:var(--text-muted);white-space:nowrap;text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-exam-status{display:flex;justify-content:center}.sp-exam-action{display:flex;justify-content:flex-end}.sp-exam-line--next{background:var(--purple-accent)}.sp-exam-line--next .sp-exam-title{font-weight:800}.sp-exam-line--next .sp-exam-date{color:var(--text-main);font-weight:600}.sp-exam-line--past .sp-exam-date,.sp-exam-line--past .sp-exam-ref,.sp-exam-line--past .sp-exam-title{opacity:.7}.sp-exam-group{display:flex;align-items:center;gap:8px;padding:14px 22px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sp-exam-group:first-child{padding-top:4px}.sp-exam-group-count{background:rgba(0,0,0,.06);border-radius:999px;padding:1px 8px;letter-spacing:0}.sp-exam-result{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:5px;font-size:12px}.sp-exam-result-label{color:var(--text-muted);font-weight:600}.sp-exam-score{display:inline-flex;align-items:baseline;gap:5px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--color-success) 12%,transparent)}.sp-exam-score span{color:var(--text-muted)}.sp-exam-score strong{color:var(--text-main);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:860px){.sp-exam-line{grid-template-columns:minmax(0,1fr) 170px 96px}.sp-exam-action{grid-column:1/-1;justify-content:flex-start}}@media (max-width:640px){.sp-exam-line{grid-template-columns:1fr;row-gap:6px}.sp-exam-action,.sp-exam-status{justify-content:flex-start}}.sp-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6)}#clp-emploi.card-level-4,#sp-emploi.card-level-4,#tup-emploi.card-level-4{padding:0}#clp-emploi .sp-card-title,#sp-emploi .sp-card-title,#tup-emploi .sp-card-title{padding:var(--space-4) 18px var(--space-3)}#sp-root .card.card-level-4{padding:0;background:var(--surface-solid)}#sp-root .sp-card-title{padding:16px 22px 12px;margin-bottom:2px}#sp-root{gap:16px}#sp-root .sp-kpi-row{gap:14px}#sp-root .sp-grid-2col{gap:18px}#sp-root .sp-emploi-list{padding:8px 14px 12px}#sp-root .sp-emploi-row{padding:12px}#sp-root .sp-doc-row,#sp-root .sp-session{padding:12px 22px}#sp-root .sp-timeline-label{padding:var(--space-5) 22px 10px}#sp-root .sp-parcours-item:not(:last-child){padding-bottom:20px}#sp-root .sp-enroll{padding:var(--space-2) 22px var(--space-4)}#sp-root .sp-empty{padding:26px 20px}#sp-root .sp-actions .sp-action-row{padding:9px 0}#sp-root .sp-pay-subtitle{padding:0 22px 12px!important}#sp-root .sp-pay-status{padding:0 22px 14px}#sp-root .sp-quote-empty{padding:0 22px 16px}#sp-paiements .sp-card-title{padding-bottom:2px}#sp-emploi .sp-card-title{padding:var(--space-4) 18px var(--space-3)}@media (min-width:1400px){#sp-root .sp-grid-2col{grid-template-columns:1.5fr 1fr}}#sp-emploi .cal-day-header,#sp-emploi .cal-time-header-spacer,#tup-emploi .cal-day-header,#tup-emploi .cal-time-header-spacer{height:48px}#sp-emploi .cal-day-col,#tup-emploi .cal-day-col{min-width:120px}#clp-emploi .sp-emploi-list{padding:4px 14px 10px}#clp-emploi .sp-emploi-row{padding:var(--space-2,8px) var(--space-3,12px)}#sp-emploi .cal-ev-title,#tup-emploi .cal-ev-title{font-size:10.5px;font-weight:700}#sp-emploi .cal-ev-loc,#sp-emploi .cal-ev-time,#tup-emploi .cal-ev-loc,#tup-emploi .cal-ev-time{font-size:9.5px}#sp-emploi.sp-emploi-expanded,#tup-emploi.sp-emploi-expanded{position:fixed;top:96px;right:24px;width:75vw;height:75vh;max-width:calc(100vw - 48px);max-height:calc(100vh - 120px);z-index:60;box-shadow:var(--shadow-level-hover),0 24px 64px rgba(0,0,0,.28);overflow-y:auto;display:flex;flex-direction:column}.sp-emploi-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--text-main) 45%,transparent);z-index:59}@media (max-width:900px){#sp-emploi.sp-emploi-expanded{top:16px;right:16px;left:16px;width:auto;height:calc(100vh - 32px);max-width:none}}#class-modal-cal-mount .cal-day-header,#class-modal-cal-mount .cal-time-header-spacer{height:34px}#class-modal-cal-mount .cal-day-col{min-width:78px}#class-modal-cal-mount .cal-ev-title{font-size:10px;font-weight:700}#class-modal-cal-mount .cal-ev-loc{font-size:9px}.sp-empty svg{width:28px;height:28px;color:var(--text-muted);opacity:.6;margin-bottom:10px}.sp-empty-title{font-size:14px;font-weight:700;color:var(--text-main)}.sp-empty-sub{font-size:12px;color:var(--text-muted);margin-top:3px;max-width:320px}.sp-enroll{display:flex;gap:var(--space-5);padding:var(--space-2) var(--space-7) var(--space-5)}.sp-enroll-main{flex:1 1;min-width:0}.sp-enroll-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.sp-enroll-name{font-size:13.5px;font-weight:700;color:var(--text-main)}.sp-enroll-meta{font-size:12px;color:var(--text-muted);margin-top:3px}.sp-enroll-side{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;justify-content:center}.sp-enroll-debt{font-size:16px;font-weight:800;color:var(--color-danger)}.sp-enroll-debt span{display:block;font-size:11px;font-weight:500;color:var(--text-muted)}.sp-enroll-paid{font-size:13px;font-weight:700;color:var(--color-success)}.sp-enroll-exam{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.sp-enroll-exam svg{width:13px;height:13px}.sp-receipt{font-family:inherit}.sp-receipt-brand{font-size:20px;font-weight:800;color:var(--text-main)}.sp-receipt-brand span{color:var(--purple-text)}.sp-receipt-title{font-size:15px;font-weight:700;color:var(--text-main);margin-top:10px}.sp-receipt-ref{font-size:12px;color:var(--text-muted);margin-bottom:14px}.sp-receipt-grid{display:flex;flex-direction:column;border:1px solid var(--card-border);border-radius:var(--radius-md);overflow:hidden}.sp-receipt-row{display:flex;justify-content:space-between;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--card-border)}.sp-receipt-row:last-child{border-bottom:none}.sp-receipt-row span{color:var(--text-muted)}.sp-receipt-row strong{color:var(--text-main)}.sp-receipt-foot{font-size:11px;color:var(--text-muted);margin-top:14px;text-align:center}@media print{body *{visibility:hidden}#sp-receipt-modal,#sp-receipt-modal *{visibility:visible}#sp-receipt-modal{position:fixed;inset:0;background:#fff}#sp-receipt-modal .btn-cta,#sp-receipt-modal .btn-cta-secondary,#sp-receipt-modal .modal-close-btn{display:none!important}}@media (max-width:1200px){.sp-grid-2col{grid-template-columns:1fr}}@media (max-width:767.98px){.sp-kpi-row{grid-template-columns:1fr 1fr}.sp-hero-facts{grid-template-columns:1fr}.sp-header h1{font-size:20px}.sp-header-main{align-items:flex-start}.sp-header-actions .baserow-select{min-width:0;flex:1 1 auto}}#sp-root{max-width:1160px;margin:0 auto;width:100%;gap:var(--space-7)}#sp-root .sp-header{gap:var(--space-2);padding-bottom:var(--space-2)}#sp-root .sp-breadcrumb{opacity:.7}#sp-root .sp-header h1{font-size:22px;font-weight:700;letter-spacing:-.2px}#sp-root .sp-header-actions .baserow-select,#sp-root .sp-header-actions .btn-baserow{box-shadow:none}.sp-tabs{display:flex;align-items:stretch;gap:2px;border-bottom:1px solid var(--card-border);overflow-x:auto;overflow-y:hidden}.sp-tab-btn{position:relative;display:flex;align-items:center;gap:6px;padding:9px 4px;margin:0 10px -1px 0;border:none;background:none;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;line-height:1;color:var(--text-muted);transition:color .15s}.sp-tab-btn i{width:14px;height:14px;flex:none;opacity:.7;transition:opacity .15s}.sp-tab-btn:hover{color:var(--text-main)}.sp-tab-btn:hover i{opacity:.9}.sp-tab-btn--active{color:var(--text-main);font-weight:700}.sp-tab-btn--active i{opacity:1}.sp-tab-btn--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--color-primary)}#sp-root .sp-tabs{margin-top:var(--space-2);margin-bottom:var(--space-1)}#sp-root .sp-kpi-row{display:flex;gap:var(--space-7);background:none;border:none;box-shadow:none;padding:var(--space-2) 0 var(--space-5);border-bottom:1px solid var(--card-border)}#sp-root .sp-kpi-row>*{background:none!important;border:none!important;box-shadow:none!important;padding:0!important;flex:1 1;position:relative}#sp-root .sp-kpi-row>:not(:last-child):after{content:"";position:absolute;top:2px;bottom:2px;right:calc(var(--space-7) / -2);width:1px;background:var(--card-border)}#clp-root .card,#sp-root .card{padding:var(--space-5)}#sp-root .chart-title,#sp-root .sp-card-title{font-size:13px;font-weight:700;color:var(--text-main);letter-spacing:0;text-transform:none;margin-bottom:var(--space-4)}#sp-root .sp-action-row,#sp-root .sp-priority-banner,#sp-root .sp-receipt,#sp-root [id^=sp-paiements] .card{background:var(--sidebar-hover);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);box-shadow:none}#sp-root .sp-crit-pill{background:transparent;padding:0;font-weight:700}#sp-root .badge,#sp-root .pill{background:transparent;border:none;box-shadow:none}#sp-root .sp-pay-amount{background:none;border:none;padding:0;box-shadow:none}#sp-root .sp-action-icon,#sp-root .sp-journey-icon{background:none;box-shadow:none;opacity:.8}#sp-root .sp-doc-row,#sp-root .sp-exam-line,#sp-root .sp-next-row,#sp-root .sp-parcours-row{border:none;border-bottom:1px solid var(--card-border);border-radius:0;box-shadow:none;background:none;padding:var(--space-4) 22px}#sp-root .sp-exam-line--next{background:var(--purple-accent)}#sp-root .sp-emploi-row{border:none;border-bottom:1px solid var(--card-border);border-radius:0;box-shadow:none;background:none}#sp-root .sp-doc-row:last-child,#sp-root .sp-emploi-row:last-child,#sp-root .sp-exam-line:last-child,#sp-root .sp-next-row:last-child,#sp-root .sp-parcours-row:last-child{border-bottom:none}#sp-documents .sp-doc-row{padding:10px 22px;gap:12px}#sp-documents .sp-timeline-label{padding:var(--space-6) 22px 6px}#sp-documents .sp-timeline-label:first-of-type{padding-top:var(--space-4)}#sp-documents .sp-action-icon{width:20px;height:20px;background:none;opacity:.5}#sp-documents .sp-action-icon i,#sp-documents .sp-action-icon svg{width:15px;height:15px}#sp-documents .sp-doc-name{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.3}#sp-documents .sp-doc-meta{font-size:11.5px;color:var(--text-muted);margin-top:1px}#sp-documents .sp-doc-action-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;background:none;border:none;padding:4px 2px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}#sp-documents .sp-doc-action-btn i{width:13px;height:13px}#sp-documents .sp-doc-action-btn:hover{text-decoration:underline}#sp-documents .sp-doc-action-btn--ready{color:var(--color-success)}#sp-documents .sp-doc-action-btn--pending{color:var(--purple-text)}#sp-documents .sp-doc-action-btn--neutral{color:var(--text-main)}#sp-documents .sp-doc-status-muted{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}#sp-documents .sp-doc-row.sp-doc-row--empty{color:var(--text-muted)}#sp-documents .sp-doc-enr-list{display:flex;flex-direction:column;gap:12px;padding:4px 22px 20px}#sp-documents .sp-doc-enr{border:1px solid var(--card-border);border-radius:var(--radius-sm,8px);padding:14px;display:flex;flex-direction:column;gap:12px}#sp-documents .sp-doc-enr-head{min-width:0}#sp-documents .sp-doc-enr-head .sp-doc-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-documents .sp-doc-enr-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}#sp-documents .sp-doc-tile{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:10px 12px;border:1px solid var(--card-border);border-radius:var(--radius-sm,8px);background:transparent;color:inherit;font-family:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background .18s var(--ease-standard),border-color .18s var(--ease-standard);-webkit-tap-highlight-color:transparent}#sp-documents .sp-doc-tile:hover{background:var(--sidebar-hover);border-color:var(--color-primary)}#sp-documents .sp-doc-tile:active{transform:scale(.99)}#sp-documents .sp-doc-tile:focus-visible{outline:none;box-shadow:var(--control-shadow-focus)}#sp-documents .sp-doc-tile-icon{display:flex;flex-shrink:0;color:var(--text-muted)}#sp-documents .sp-doc-tile-icon i,#sp-documents .sp-doc-tile-icon svg{width:20px;height:20px}#sp-documents .sp-doc-tile-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1;min-width:0}#sp-documents .sp-doc-tile-name{font-size:13.5px;font-weight:700;color:var(--text-main)}#sp-documents .sp-doc-tile-action{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:12.5px;font-weight:600;white-space:nowrap}#sp-documents .sp-doc-tile-action i,#sp-documents .sp-doc-tile-action svg{width:15px;height:15px}#sp-documents .sp-doc-tile--ready .sp-doc-tile-action{color:var(--color-success)}#sp-documents .sp-doc-tile--pending .sp-doc-tile-action{color:var(--purple-text)}@media (max-width:520px){#sp-documents .sp-doc-enr-tiles{grid-template-columns:minmax(0,1fr)}}#sp-root .sp-grid-2col{gap:var(--space-6)}#sp-root .sp-progress-fill{background:var(--accent,#6366F1)}@media (max-width:1240px){#sp-root{padding:0 var(--space-2)}#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:100%}}@media (min-width:1440px) and (max-width:1919.98px){#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:1280px}}@media (min-width:1920px){#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:1400px}}@media (max-width:720px){#sp-root .sp-kpi-row{flex-wrap:wrap;gap:var(--space-5)}#sp-root .sp-kpi-row>:not(:last-child):after{display:none}}#main-header.is-student-portal-view,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:1160px}#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:1600px!important}@media (min-width:1920px){#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:1720px!important}}@media (max-width:1240px){#main-header.is-student-portal-view,#sp-root,#view-ClassPortal.view-section,#view-StudentPortal.view-section,#view-TutorPortal.view-section{max-width:100%!important}}.is-student-portal-view .header-title-row{gap:var(--space-3)}.is-student-portal-view #page-title-icon{opacity:.85}.is-student-portal-view #sp-back-to-students-btn{order:-1;opacity:.6;margin-right:var(--space-3,10px)}.is-student-portal-view #sp-back-to-students-btn:hover{opacity:1}.is-student-portal-view #header-toolbar-row{justify-content:flex-end;gap:var(--space-4)}.is-student-portal-view #search-calendar-row{order:1;gap:var(--space-2)}.is-student-portal-view #search-calendar-row .search-icon-btn{opacity:.7}.is-student-portal-view #search-calendar-row .search-icon-btn:hover{opacity:1}.is-student-portal-view .search-kbd-hint{display:none}.is-student-portal-view #sp-pay-invoice-btn{margin-left:var(--space-2);padding-left:var(--space-4);border-left:1px solid var(--card-border)}.is-student-portal-view #sp-manage-enrollment-btn{font-weight:600}.is-student-portal-view #header-actions-row{order:2;gap:var(--space-3);margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--card-border)}.is-student-portal-view #theme-toggle-student{transform:scale(.9);opacity:.85}#sp-root .sp-tabs{margin-top:0}@media (max-width:900px){.is-student-portal-view #header-toolbar-row{justify-content:flex-start;flex-wrap:wrap}.is-student-portal-view #header-actions-row{border-left:none;margin-left:0;padding-left:0}}#clp-root .clp-header{display:flex;align-items:center;gap:var(--space-4,16px);padding-bottom:var(--space-3,12px);margin-bottom:var(--space-4,16px);border-bottom:1px solid var(--card-border)}#clp-root .clp-header-brand{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:14.5px;font-weight:800;letter-spacing:-.2px;color:var(--text-main)}#clp-root .clp-header-brand i{width:18px;height:18px;color:var(--color-primary)}#clp-root .clp-topnav{display:flex;align-items:center;gap:4px;flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#clp-root .clp-topnav::-webkit-scrollbar{display:none}#clp-root .clp-topnav-item{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border-radius:8px;border:none;background:none;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}#clp-root .clp-topnav-item i{width:14px;height:14px;opacity:.75}#clp-root .clp-topnav-item:hover{color:var(--text-main);background:var(--bg-subtle,rgba(148,163,184,.08))}#clp-root .clp-topnav-item.active{color:var(--text-main);background:var(--bg-subtle,rgba(148,163,184,.1))}#clp-root .clp-topnav-item.is-disabled{opacity:.4;cursor:not-allowed}#clp-root .clp-topnav-item.is-disabled:hover{background:none;color:var(--text-muted)}#clp-root .clp-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}#clp-root .clp-header-actions .theme-toggle{transform:scale(.9)}#clp-root .clp-header-identity{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--text-main);background:var(--bg-subtle,rgba(148,163,184,.1))}#clp-root .clp-header-identity i{width:14px;height:14px;opacity:.8}#clp-root .clp-identity{margin-bottom:var(--space-3,12px)}#clp-root .clp-identity-eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}#clp-root .clp-identity-title{font-size:24px;font-weight:800;letter-spacing:-.3px;color:var(--text-main)}#clp-root .clp-identity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--text-muted)}#clp-root .clp-identity-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.5}#clp-root .sp-tabs{margin-top:var(--space-2,8px);margin-bottom:var(--space-4,16px)}#clp-root .clp-tabpanel{min-width:0}#clp-root .clp-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4,16px);flex-wrap:wrap;margin-bottom:var(--space-4,16px)}#clp-root .clp-hero-eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);width:100%}#clp-root .clp-hero-main{display:flex;flex-direction:column;gap:6px}#clp-root .clp-hero-when{display:flex;align-items:baseline;gap:10px}#clp-root .clp-hero-day{font-size:20px;font-weight:800;color:var(--text-main)}#clp-root .clp-hero-time{font-size:14px;font-weight:600;color:var(--text-muted)}#clp-root .clp-hero-details{display:flex;align-items:center;gap:16px;flex-wrap:wrap}#clp-root .clp-hero-details span{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-muted)}#clp-root .clp-hero-details i{width:14px;height:14px;opacity:.7}#clp-root .clp-summary-row{display:flex;gap:var(--space-4,16px);flex-wrap:wrap;margin-bottom:var(--space-4,16px)}#clp-root .clp-summary-block{display:flex;align-items:flex-start;gap:10px;min-width:160px;flex:1 1}#clp-root .clp-summary-block i{width:18px;height:18px;opacity:.6;margin-top:2px;flex-shrink:0}#clp-root .clp-summary-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}#clp-root .clp-summary-value{font-size:14.5px;font-weight:700;color:var(--text-main);margin-top:1px}#clp-root .clp-summary-sub{font-size:12px;color:var(--text-muted);margin-top:1px}#clp-root .clp-quick-actions{display:flex;flex-direction:column;gap:6px}#clp-root .clp-quick-action{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:10px;border:none;background:var(--bg-subtle,rgba(148,163,184,.06));cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-main);text-align:left;transition:background .15s}#clp-root .clp-quick-action:hover{background:var(--bg-subtle,rgba(148,163,184,.12))}#clp-root .clp-quick-action i{width:16px;height:16px;opacity:.7;flex-shrink:0}#clp-root .clp-overview-cards{display:grid;grid-template-columns:repeat(var(--clp-ov-cols,3),minmax(0,1fr));grid-gap:var(--space-4,14px);gap:var(--space-4,14px);margin-bottom:var(--space-4,16px)}#clp-root .clp-ov-card{display:flex;align-items:flex-start;gap:12px;min-width:0;background:var(--card-bg,#fff);border:1px solid var(--card-border);border-radius:var(--radius-lg,14px);padding:16px;position:relative}#clp-root .clp-ov-card.is-clickable{cursor:pointer;transition:border-color .15s,transform .15s}#clp-root .clp-ov-card.is-clickable:hover{border-color:var(--color-primary);transform:translateY(-1px)}#clp-root .clp-ov-icon{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}#clp-root .clp-ov-icon i{width:18px;height:18px}#clp-root .clp-ov-body{min-width:0;flex:1 1;padding-right:14px}#clp-root .clp-ov-label{font-size:12px;font-weight:600;color:var(--text-muted)}#clp-root .clp-ov-value{font-size:15px;font-weight:800;color:var(--text-main);margin-top:3px}#clp-root .clp-ov-sub,#clp-root .clp-ov-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-ov-sub{font-size:12px;color:var(--text-muted);margin-top:2px}#clp-root .clp-ov-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;opacity:.35}#clp-root .clp-ov-status{flex-shrink:0}@media (max-width:1100px){#clp-root .clp-overview-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){#clp-root .clp-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#clp-root .clp-overview-cards>.clp-ov-card:first-child:nth-last-child(3){grid-column:1/-1}}@media (max-width:560px){#clp-root .clp-overview-cards{grid-template-columns:minmax(0,1fr)}#clp-root .clp-overview-cards>.clp-ov-card:first-child:nth-last-child(3){grid-column:auto}}#clp-root .sp-week-tabs--rect,#sp-root .sp-week-tabs--rect{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;overflow:visible}#clp-root .sp-week-tabs--rect .sp-week-tab,#sp-root .sp-week-tabs--rect .sp-week-tab{flex-direction:row;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:38px;padding:0 8px;border-radius:10px;position:relative}#clp-root .sp-week-tabs--rect .sp-week-tab-num,#sp-root .sp-week-tabs--rect .sp-week-tab-num{font-size:13px}#clp-root .sp-week-tabs--rect .sp-week-tab.active,#sp-root .sp-week-tabs--rect .sp-week-tab.active{box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 32%,transparent)}#clp-root .sp-week-tabs--rect .sp-week-tab.is-today:not(.active):after,#sp-root .sp-week-tabs--rect .sp-week-tab.is-today:not(.active):after{content:"";position:absolute;top:4px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--color-primary)}@media (max-width:720px){#clp-root .sp-week-tabs--rect,#sp-root .sp-week-tabs--rect{display:flex;overflow-x:auto;padding:12px 0 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#clp-root .sp-week-tabs--rect .sp-week-tab,#sp-root .sp-week-tabs--rect .sp-week-tab{flex:0 0 auto;min-width:78px;min-height:44px;scroll-snap-align:center}}#clp-root .clp-slots-head{display:flex;flex-direction:column;gap:3px;min-width:0}#clp-root .clp-slots-title{display:flex;align-items:center;gap:8px}#clp-root .clp-slots-title>i{width:16px;height:16px;color:var(--color-primary)}#clp-root .clp-slots-count{background:var(--bg-subtle,rgba(148,163,184,.12));color:var(--text-muted)}#clp-root .clp-slots-sub{font-size:12px;font-weight:500;color:var(--text-muted)}#clp-root .clp-slot-row{border-radius:10px;transition:background .12s ease}#clp-root .clp-slot-row:hover{background:var(--surface-solid-hover,rgba(148,163,184,.06))}#clp-root .clp-slot-row--today{background:color-mix(in srgb,var(--color-primary) 6%,transparent);box-shadow:inset 3px 0 0 var(--color-primary)}#clp-root .clp-today-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);vertical-align:1px}#clp-root .clp-cren-list{padding:2px 6px 8px}#clp-root .clp-cren-headrow,#clp-root .clp-cren-row{display:grid;grid-template-columns:minmax(118px,1.2fr) minmax(100px,.78fr) minmax(0,1.35fr) auto;grid-column-gap:18px;column-gap:18px;align-items:center}#clp-root .clp-cren-headrow{padding:0 10px 8px;margin:0 6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--card-border)}#clp-root .clp-cren-headrow>span:last-child{min-width:28px}#clp-root .clp-cren-row{padding:11px 10px;border-radius:10px;min-width:0}#clp-root .clp-cren-row+.clp-cren-row{border-top:1px solid var(--card-border)}#clp-root .clp-cren-when{min-width:0}#clp-root .clp-cren-date{font-size:14px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-cren-time{margin-top:2px;font-size:12px;font-weight:600;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}#clp-root .clp-cren-meta{display:contents}#clp-root .clp-cren-type{min-width:0}#clp-root .clp-cren-prof{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;color:var(--text-main)}#clp-root .clp-cren-prof i{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}#clp-root .clp-cren-prof span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767.98px){#clp-root .clp-cren-headrow{display:none}#clp-root .clp-cren-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"when more" "meta more";row-gap:7px;column-gap:10px;padding:12px 8px}#clp-root .clp-cren-when{grid-area:when}#clp-root .clp-cren-meta{display:flex;align-items:center;gap:10px;min-width:0;grid-area:meta}#clp-root .clp-cren-meta .clp-cren-prof{flex:1 1;min-width:0}#clp-root .clp-cren-row .row-more-wrap{grid-area:more;align-self:start}}#clp-root .card.card-level-4.clp-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin-bottom:var(--space-4,16px);overflow:hidden}#clp-root .clp-strip-cell{min-width:0;padding:16px 20px;cursor:pointer;border-left:1px solid var(--card-border);transition:background .12s ease}#clp-root .clp-strip-cell:first-child{border-left:none}#clp-root .clp-strip-cell:hover{background:var(--surface-solid-hover,rgba(148,163,184,.06))}#clp-root .clp-strip-label{font-size:12px;font-weight:600;color:var(--text-muted)}#clp-root .clp-strip-value{margin-top:4px;font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1.15;color:var(--text-main)}#clp-root .clp-strip-sub,#clp-root .clp-strip-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-strip-sub{margin-top:2px;font-size:12px;color:var(--text-muted)}#clp-root .clp-progress{height:8px;border-radius:999px;background:var(--bg-subtle,rgba(148,163,184,.16));overflow:hidden}#clp-root .clp-progress--thin{height:5px;margin-top:8px}#clp-root .clp-progress>span{display:block;height:100%;border-radius:999px;background:var(--color-primary);transition:width .3s var(--ease-standard,ease)}#clp-root .clp-stat-body{padding:12px 18px 6px;display:flex;flex-direction:column;gap:12px}#clp-root .clp-split{display:flex;gap:3px;height:8px}#clp-root .clp-split>span{display:block;height:100%;border-radius:999px;min-width:6px}#clp-root .clp-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;font-weight:600;color:var(--text-muted)}#clp-root .clp-legend b{margin-left:5px;font-weight:800;color:var(--text-main)}#clp-root .clp-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}#clp-root .clp-owe-list{display:flex;flex-direction:column;margin-top:4px;border-top:1px solid var(--card-border)}#clp-root .clp-owe-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,transparent);font-size:13px}#clp-root .clp-owe-name{min-width:0;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root .clp-owe-amount{flex-shrink:0;font-weight:700;color:var(--color-danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-owe-more{padding:8px 0 2px;font-size:12px;color:var(--text-muted)}#clp-root .clp-timeline{display:flex;flex-direction:column;padding:8px 18px 6px}#clp-root .clp-tl-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:9px 0 9px 22px}#clp-root .clp-tl-item:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:var(--card-border)}#clp-root .clp-tl-item:first-child:before{top:18px}#clp-root .clp-tl-item:last-child:before{bottom:calc(100% - 18px)}#clp-root .clp-tl-dot{position:absolute;left:0;top:14px;width:10px;height:10px;border-radius:50%;background:var(--card-bg,#fff);border:2px solid var(--color-primary);box-sizing:border-box}#clp-root .clp-tl-item.is-exam .clp-tl-dot{background:#d97706;border-color:#d97706}#clp-root .clp-tl-main{flex:1 1;min-width:0}#clp-root .clp-tl-title{font-size:13.5px;font-weight:700;color:var(--text-main)}#clp-root .clp-tl-sub{margin-top:2px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-tl-when{flex-shrink:0;text-align:right;font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-tl-when small{display:block;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--text-muted)}#clp-root .clp-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:12px 18px 6px}#clp-root .clp-mini-stat{padding:12px 14px;border-radius:10px;background:var(--bg-subtle,rgba(148,163,184,.08))}#clp-root .clp-mini-stat-label{font-size:12px;font-weight:600;color:var(--text-muted)}#clp-root .clp-mini-stat-value{margin-top:2px;font-size:20px;font-weight:800;color:var(--text-main)}@media (max-width:900px){#clp-root .card.card-level-4.clp-strip{grid-template-columns:repeat(2,minmax(0,1fr))}#clp-root .clp-strip-cell:nth-child(odd){border-left:none}#clp-root .clp-strip-cell:nth-child(n+3){border-top:1px solid var(--card-border)}}@media (max-width:767.98px){#clp-root .clp-tabpanel>.clp-overview-cards,#clp-root .clp-tabpanel>.clp-strip{margin-bottom:0}#clp-root .clp-mini-stats,#clp-root .clp-stat-body,#clp-root .clp-timeline{padding-left:0;padding-right:0}#clp-root .clp-strip-cell{padding:14px 16px}}#clp-root .clp-ov-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:var(--space-4,16px);gap:var(--space-4,16px);align-items:stretch;margin-bottom:var(--space-4,16px)}#clp-root .clp-hero.clp-hero--v2{flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:12px;margin-bottom:0}#clp-root .clp-hero--v2 .clp-hero-main{flex:1 1}#clp-root .clp-hero--done .clp-hero-day{color:var(--color-success)}#clp-root .clp-hero-foot{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--card-border)}#clp-root .clp-hero-foot-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;font-size:13px;color:var(--text-muted)}#clp-root .clp-hero-foot-row b{font-size:15px;font-weight:800;color:var(--text-main)}#clp-root .clp-hero-foot-meta{margin-left:auto;font-weight:600}#clp-root .clp-watch{justify-content:flex-start;gap:0}#clp-root .clp-watch .clp-hero-eyebrow{margin-bottom:8px}#clp-root .clp-watch-row{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 0;border-top:1px solid var(--card-border);cursor:pointer}#clp-root .clp-watch-chip{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}#clp-root .clp-watch-chip i{width:16px;height:16px}#clp-root .clp-watch-body{flex:1 1;min-width:0}#clp-root .clp-watch-label{font-size:13px;font-weight:600;color:var(--text-main)}#clp-root .clp-watch-sub{margin-top:1px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-watch-value{flex-shrink:0;font-size:18px;font-weight:800;letter-spacing:-.2px;color:var(--text-main);white-space:nowrap}#clp-root .clp-watch-chevron{width:14px;height:14px;flex-shrink:0;opacity:.35;transition:opacity .12s ease,transform .12s ease}#clp-root .clp-watch-row:hover .clp-watch-chevron{opacity:.8;transform:translateX(2px)}#clp-root .clp-watch-row:hover .clp-watch-label{color:var(--color-primary)}#clp-root .clp-note{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--text-muted);background:var(--bg-subtle,rgba(148,163,184,.1))}#clp-root .clp-note i{width:15px;height:15px;flex-shrink:0;color:var(--color-success)}@media (max-width:900px){#clp-root .clp-ov-row{grid-template-columns:minmax(0,1fr)}}@media (max-width:767.98px){#clp-root .clp-tabpanel>.clp-ov-row{margin-bottom:0}#clp-root .clp-hero-foot-meta{margin-left:0;width:100%}}#clp-root .clp-sched-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-gap:var(--space-4,16px);gap:var(--space-4,16px);align-items:start}#clp-root .clp-sched-row>*{min-width:0}#clp-root #clp-week-schedule{container-type:inline-size}@container (max-width: 620px){#clp-root .sp-week-tabs--rect{display:flex;overflow-x:auto;padding:12px 0 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#clp-root .sp-week-tabs--rect .sp-week-tab{flex:0 0 auto;min-width:78px;min-height:44px;scroll-snap-align:center}}@media (max-width:1000px){#clp-root .clp-sched-row{grid-template-columns:minmax(0,1fr)}}#clp-root .clp-hero--v2{cursor:pointer}#clp-root .clp-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-4,16px);gap:var(--space-4,16px);align-items:stretch}#clp-root .clp-kpi{justify-content:flex-start;gap:4px;cursor:pointer;transition:border-color .15s,transform .15s}#clp-root .clp-kpi:hover{border-color:var(--color-primary);transform:translateY(-1px)}#clp-root .clp-kpi-top{display:flex;align-items:center;gap:10px;min-width:0}#clp-root .clp-kpi-label{flex:1 1;min-width:0;font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-kpi-chevron{width:14px;height:14px;flex-shrink:0;opacity:.35}#clp-root .clp-kpi-value{margin-top:8px;font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1.1;color:var(--text-main);white-space:nowrap}#clp-root .clp-kpi-sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-prof-grid{display:flex;flex-direction:column;gap:6px}@media (max-width:1200px){#clp-root .clp-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}#clp-root .clp-kpi-row>.clp-hero{grid-column:1/-1;order:-1}}@media (max-width:600px){#clp-root .clp-kpi-row{grid-template-columns:minmax(0,1fr)}#clp-root .clp-kpi-value{font-size:26px}}#clp-root .clp-ac-list{display:flex;flex-direction:column;gap:2px}#clp-root .clp-ac-row{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 4px;border-top:1px solid var(--card-border);cursor:pointer;transition:background-color .12s ease}#clp-root .clp-ac-list .clp-ac-row:first-child{border-top:none}#clp-root .clp-ac-row:hover{background-color:var(--bg-subtle,rgba(148,163,184,.06));border-radius:8px}#clp-root .clp-ac-chip{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}#clp-root .clp-ac-chip i{width:16px;height:16px}#clp-root .clp-ac-chip--danger{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger)}#clp-root .clp-ac-chip--warning{background:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning)}#clp-root .clp-ac-chip--info{background:color-mix(in srgb,#2563eb 14%,transparent);color:#2563eb}#clp-root .clp-ac-chip--muted{background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted)}#clp-root .clp-ac-body{flex:1 1;min-width:0}#clp-root .clp-ac-title{font-size:13.5px;font-weight:700;color:var(--text-main)}#clp-root .clp-ac-sub{margin-top:1px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .clp-ac-cta{flex-shrink:0;display:flex;align-items:center;gap:3px;font-size:12.5px;font-weight:600;color:var(--color-primary);white-space:nowrap}@media (max-width:600px){#clp-root .clp-ac-sub{white-space:normal}#clp-root .clp-ac-cta span{display:none}}#clp-root .clp-owe-row{position:relative}#clp-root .clp-owe-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}#clp-root .clp-owe-actions .clp-quick-action{padding:5px 10px;font-size:11.5px}#clp-root .clp-num,#tup-root .clp-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-stu-summary,#tup-root .clp-stu-summary{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}#clp-root .clp-stu-table,#tup-root .clp-stu-table{display:flex;flex-direction:column;gap:9px}#clp-root .clp-stu-head,#clp-root .clp-stu-row,#tup-root .clp-stu-head,#tup-root .clp-stu-row{display:grid;grid-template-columns:minmax(190px,1.6fr) 148px 140px 160px minmax(128px,auto);grid-column-gap:20px;column-gap:20px;align-items:center}#clp-root .clp-solde,#tup-root .clp-solde{font-weight:700;padding-right:4px}#clp-root .clp-stu-details,#tup-root .clp-stu-details{display:contents}#clp-root .clp-stu-head,#tup-root .clp-stu-head{padding:8px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}#clp-root .clp-stu-row,#tup-root .clp-stu-row{padding:13px 18px;border-radius:10px;font-size:13px;color:var(--text-main);background:var(--bg-subtle,rgba(148,163,184,.06));transition:background .12s ease}#clp-root .clp-stu-row:hover,#tup-root .clp-stu-row:hover{background:color-mix(in srgb,var(--color-primary) 5%,var(--bg-subtle,rgba(148,163,184,.06)))}#clp-root .clp-stu-who,#tup-root .clp-stu-who{min-width:0}#clp-root .clp-stu-act,#tup-root .clp-stu-act{display:flex;justify-content:flex-end}#clp-root .clp-stu-muted,#tup-root .clp-stu-muted{color:var(--text-muted)}#clp-root .clp-stu-rest,#tup-root .clp-stu-rest{font-weight:800;color:var(--color-danger)}#clp-root .clp-stu-ok,#tup-root .clp-stu-ok{font-weight:700;color:var(--color-success)}@media (max-width:1280px){#clp-root .clp-stu-head,#clp-root .clp-stu-row,#tup-root .clp-stu-head,#tup-root .clp-stu-row{grid-template-columns:minmax(180px,1.5fr) 128px 120px 148px minmax(128px,auto)}#clp-root .clp-hide-md{display:none}}@media (max-width:900px){#clp-root .clp-stu-head,#tup-root .clp-stu-head{display:none}#clp-root .clp-stu-row,#tup-root .clp-stu-row{grid-template-columns:minmax(0,1fr) auto;row-gap:10px;padding:14px 16px}#clp-root .clp-stu-who,#tup-root .clp-stu-who{grid-column:1;grid-row:1}#clp-root .clp-stu-act,#tup-root .clp-stu-act{grid-column:2;grid-row:1}#clp-root .clp-stu-details,#tup-root .clp-stu-details{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;grid-column:1/-1;grid-row:2}#clp-root .clp-stu-details>div,#tup-root .clp-stu-details>div{text-align:left}#clp-root .clp-stu-details>div[data-label]:before,#tup-root .clp-stu-details>div[data-label]:before{content:attr(data-label) " : ";font-size:11.5px;color:var(--text-muted);font-weight:600}#clp-root .clp-stu-details>.clp-hide-md,#tup-root .clp-stu-details>.clp-hide-md{display:block}#clp-root .clp-stu-details>div:empty,#tup-root .clp-stu-details>div:empty{display:none}}#clp-root .clp-pay-row{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);grid-gap:var(--space-4,16px);gap:var(--space-4,16px);align-items:stretch}#clp-root .clp-pay-row>div{display:flex;flex-direction:column;min-width:0}#clp-root .clp-pay-row>div>.card{flex:1 1;justify-content:flex-start}#clp-root .clp-pay-sum{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid var(--card-border)}#clp-root .clp-pay-sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,transparent);font-size:13px;color:var(--text-muted)}#clp-root .clp-pay-sum b{font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-pay-sum .rest b{color:var(--color-danger)}#clp-root .clp-pay-sum .ok b{color:var(--color-success)}#clp-root .clp-owe-head,#clp-root .clp-owe-row{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(88px,.6fr)) minmax(112px,auto);grid-column-gap:12px;column-gap:12px;align-items:center}#clp-root .clp-owe-head{padding:9px 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:1px solid var(--card-border)}#clp-root .clp-owe-row{padding:11px 0}#clp-root .clp-owe-who{min-width:0}#clp-root .clp-owe-bar{height:4px;max-width:240px;margin-top:6px;border-radius:999px;background:var(--bg-subtle,rgba(148,163,184,.16));overflow:hidden}#clp-root .clp-owe-bar>span{display:block;height:100%;border-radius:999px;background:var(--color-success)}#clp-root .clp-owe-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 2px;font-size:13px;font-weight:700;color:var(--text-main)}#clp-root .clp-owe-total .clp-owe-amount{font-size:16px;font-weight:800}@media (max-width:1000px){#clp-root .clp-pay-row{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){#clp-root .clp-hide-sm{display:none}#clp-root .clp-owe-head,#clp-root .clp-owe-row{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(72px,.6fr))}#clp-root .clp-owe-actions,#clp-root .clp-owe-head span:last-child{display:none}}#clp-root .clp-subject-row{display:flex;align-items:flex-start;gap:14px}#clp-root .clp-subject-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#clp-root .clp-subject-icon i{width:20px;height:20px}#clp-root .clp-subject-body{flex:1 1;min-width:0}#clp-root .clp-subject-name{font-size:16px;font-weight:700;color:var(--text-main)}#clp-root .clp-subject-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:12.5px;color:var(--text-muted)}#clp-root .clp-doc-row,#clp-root .clp-prof-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:var(--bg-subtle,rgba(148,163,184,.06))}#clp-root .clp-prof-row i{width:16px;height:16px;opacity:.7;flex-shrink:0}#clp-root .clp-doc-body,#clp-root .clp-prof-body{flex:1 1;min-width:0}#clp-root .clp-prof-name,#tup-root .clp-prof-name{font-size:13.5px;font-weight:700;color:var(--text-main)}#clp-root .clp-prof-meta{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#clp-root .card.card-level-4.clp-kpi{padding:14px 16px;gap:8px}#clp-root .clp-kpi-label{font-size:12.5px}#clp-root .clp-kpi-value{margin-top:4px;font-size:24px;letter-spacing:-.4px}#clp-root .clp-kpi-sub{margin-top:2px}#clp-root .card.card-level-4.clp-hero{padding:14px 18px}#clp-root .clp-hero--v2{gap:6px}#clp-root .clp-hero-day{font-size:18px}#clp-root .clp-enr-pct{font-size:13px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-enr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:14px 18px;gap:14px 18px}#clp-root .clp-enr-fact{display:flex;flex-direction:column;gap:3px;min-width:0}#clp-root .clp-enr-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}#clp-root .clp-enr-value{font-size:14px;font-weight:700;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root .clp-enr .clp-progress--thin{margin-top:16px}#clp-root .clp-btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;flex-shrink:0;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--card-border);background:transparent;color:var(--text-main);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}#clp-root .clp-btn-sm i{width:13px;height:13px;opacity:.75;flex-shrink:0}#clp-root .clp-btn-sm:hover{background:var(--bg-subtle,rgba(148,163,184,.12))}#clp-root .clp-btn-sm--primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-color:transparent;color:var(--color-primary)}#clp-root .clp-btn-sm--primary:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent)}#clp-root .card.card-level-4.clp-ch{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:16px 32px;gap:16px 32px;align-items:center;padding:18px 22px}#clp-root .clp-ch-main{min-width:0;display:flex;flex-direction:column;gap:6px}#clp-root .clp-ch-title{font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1.2;color:var(--text-main);overflow-wrap:anywhere}#clp-root .clp-ch-code{font-size:12.5px;font-weight:600;color:var(--text-muted)}#clp-root .clp-ch-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:4px;font-size:13px;color:var(--text-muted)}#clp-root .clp-ch-meta b{color:var(--text-main);font-weight:700}#clp-root .clp-ch-tutors{min-width:0;display:flex;flex-direction:column;gap:6px;padding-left:28px;border-left:1px solid var(--card-border)}#clp-root .clp-ch-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}#clp-root .clp-ch-none{font-size:13px;color:var(--text-muted)}#clp-root .clp-ch-tutor{display:flex;align-items:center;gap:8px;min-width:0}#clp-root .clp-ch-tutor-ico{width:16px;height:16px;opacity:.6;flex-shrink:0}#clp-root .clp-ch-tutor-name{flex:1 1;min-width:0;font-size:13.5px;font-weight:700;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root .clp-kpi-row.clp-kpi-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){#clp-root .card.card-level-4.clp-ch{grid-template-columns:minmax(0,1fr)}#clp-root .clp-ch-tutors{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid var(--card-border)}#clp-root .clp-kpi-row.clp-kpi-row--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){#clp-root .clp-ch-title{font-size:19px}}#clp-root .clp-info-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-4,16px);gap:var(--space-4,16px);align-items:stretch}#clp-root .clp-info-row>.card{min-width:0}#clp-root .clp-exam-card{cursor:pointer;transition:border-color .15s}#clp-root .clp-exam-card:hover{border-color:var(--color-primary)}#clp-root .clp-exam-list{display:flex;flex-direction:column}#clp-root .clp-exam-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0}#clp-root .clp-exam-row+.clp-exam-row{border-top:1px solid var(--card-border)}#clp-root .clp-exam-type{font-size:13px;font-weight:600;color:var(--text-muted)}#clp-root .clp-exam-date{font-size:15px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-exam-row.is-past{opacity:.6}#clp-root .clp-exam-empty{padding:10px 0 2px;font-size:13px;color:var(--text-muted)}@media (max-width:1300px){#clp-root .clp-info-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media (max-width:900px){#clp-root .clp-info-row{grid-template-columns:minmax(0,1fr)}}#clp-root .clp-pay-sum--v2{margin-top:4px}#clp-root .clp-pay-pct{margin-left:6px;font-size:12px;font-weight:700;color:var(--text-muted)}#clp-root .clp-pay-sum .clp-pay-key{padding:14px 0;font-size:14px;font-weight:700;color:var(--text-main)}#clp-root .clp-pay-sum .clp-pay-key b{font-size:22px;letter-spacing:-.3px}#clp-root .clp-pay-sum>div:last-child{border-bottom:none}#clp-root .sp-card-title+.sp-doc-row,#sp-root .sp-card-title+.sp-doc-row,#sp-root .sp-card-title+.sp-exam-list>.sp-exam-line:first-child{border-top:none}#clp-root .sp-doc-row:last-child{border-bottom:none}#sp-root .sp-enr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:12px 16px;gap:12px 16px;padding-top:16px;border-top:1px solid var(--card-border)}#sp-root .sp-enr-fact{display:flex;flex-direction:column;gap:3px;min-width:0}#sp-root .sp-enr-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}#sp-root .sp-enr-value{font-size:13.5px;font-weight:700;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .card.card-level-4.sp-pay-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;overflow:hidden}#sp-root .sp-pay-cell{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:14px 20px}#sp-root .sp-pay-cell+.sp-pay-cell{border-left:1px solid var(--card-border)}#sp-root .sp-pay-cell-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}#sp-root .sp-pay-cell-value{font-size:20px;font-weight:800;letter-spacing:-.3px;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}#sp-root .sp-pay-cell--rest .sp-pay-cell-value{font-size:26px}#sp-root .sp-pay-cell-badge{display:inline-flex}#sp-root .sp-pay-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}@media (max-width:1200px){#sp-root .sp-pay-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){#sp-root .card.card-level-4.sp-pay-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#sp-root .sp-pay-cell+.sp-pay-cell{border-left:none}#sp-root .sp-pay-cell:nth-child(2n){border-left:1px solid var(--card-border)}#sp-root .sp-pay-cell:nth-child(n+3){border-top:1px solid var(--card-border)}#sp-root .sp-pay-cell--rest .sp-pay-cell-value{font-size:22px}}@media (max-width:900px){#clp-root .clp-header{flex-wrap:wrap;row-gap:10px}#clp-root .clp-header-brand{order:1}#clp-root .clp-header-actions{order:2}#clp-root .clp-topnav{order:3;flex-basis:100%}#clp-root .clp-topnav-item span{display:none}#clp-root .clp-topnav-item{padding:9px}#clp-root .clp-identity-title{font-size:20px}}@media (max-width:1100px){.kpi-card-v2{min-width:0}}@media (max-width:767.98px){.middle-grid.students-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi-card-v2-label,.kpi-card-v2-val{overflow-wrap:anywhere}#al-top-row{grid-template-columns:minmax(0,1fr)!important}.page-title{font-size:clamp(24px,7vw,32px);overflow-wrap:anywhere;white-space:normal;text-overflow:clip}}@media (max-width:359.98px){.middle-grid.students-kpi-row{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:767.98px){.cal-day-col{min-width:440px;scroll-snap-align:start}.cal-body-wrapper{scroll-snap-type:x proximity;scroll-padding-left:56px;-webkit-overflow-scrolling:touch}.cal-event{padding:4px 5px;font-size:10.5px;overflow-wrap:break-word;word-break:normal}}@media (max-width:991.98px){.is-planning-view #theme-toggle-planning{display:none}}@media (max-width:767.98px){.header-actions-row:has(>#dynamic-left-actions>.popover-wrapper+button),.header-actions-row:has(>#dynamic-left-actions>button+button),.is-planning-view .header-actions-row{display:flex;width:100%;flex:1 1 100%}#dynamic-left-actions.header-center-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;align-items:center}#dynamic-left-actions.header-center-actions>button{flex:1 1 auto;min-height:44px;justify-content:center;white-space:normal;text-align:center}#dynamic-left-actions.header-center-actions>.popover-wrapper{flex:1 1 auto}#dynamic-left-actions.header-center-actions>.popover-wrapper>button{width:100%;min-height:44px;justify-content:center}.is-planning-view #dynamic-left-actions.header-center-actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}body:has(#dynamic-left-actions>.popover-wrapper+button) .fab-action-btn,body:has(#dynamic-left-actions>button+button) .fab-action-btn,body:has(.is-planning-view) .fab-action-btn,body:not(:has(#module-add-action button,#dynamic-left-actions button)) .fab-action-btn{display:none}}@media (max-width:767.98px){#view-reports{padding-left:0;padding-right:0}#view-reports .mp-kpi-summary-grid{grid-template-columns:minmax(0,1fr);gap:10px}#view-reports .mp-kpi-summary-card{padding:16px;gap:10px;min-height:0}}@media (min-width:768px) and (max-width:768.02px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.middle-grid.students-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kanban-board-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.kanban-column{width:calc(50% - 12px);scroll-snap-align:start}.dash-v2 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-v2 .kpi-grid>.kpi-card-v2:first-child,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2){padding:var(--card-size-md-padding);box-shadow:var(--shadow-level-default);border-color:var(--card-border)}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-label,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-label{font-size:13px}.dash-v2 .kpi-grid>.kpi-card-v2:first-child .kpi-card-v2-val,.dash-v2 .kpi-grid>.kpi-card-v2:nth-child(n+2) .kpi-card-v2-val{font-size:24px;letter-spacing:-.5px;margin-bottom:4px}}@media (max-width:767.98px){.row-more-wrap>.icon-btn,.view-toggle-btn{min-width:40px;min-height:40px}.view-toggle-btn{height:40px}.pl-alert-action-btn,.pl-cal-mode-btn,.sp-card-title button{min-height:36px}#clp-root .sp-kpi-row,#tup-root .sp-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:359.98px){#clp-root .sp-kpi-row,#tup-root .sp-kpi-row{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:1200px){.sp-grid-2col{grid-template-columns:minmax(0,1fr)}.sp-grid-2col>*{min-width:0}}@media (max-width:767.98px){body:has(#view-ClassPortal.active) .fab-action-btn,body:has(#view-StudentPortal.active) .fab-action-btn,body:has(#view-TutorPortal.active) .fab-action-btn{display:none}}@media (max-width:767.98px){#clp-root table[style*="table-layout:fixed"],#sp-root table[style*="table-layout:fixed"],#tup-root table[style*="table-layout:fixed"]{table-layout:auto!important;min-width:420px}#sp-paiements table td:nth-child(2){max-width:112px}}#clp-root{max-width:100%}#clp-root,#clp-root .card,#clp-root .clp-tabpanel>*{min-width:0}#clp-root .clp-identity-title{overflow-wrap:anywhere}@media (pointer:coarse){#clp-root .btn-baserow,#clp-root .clp-quick-action,#clp-root .clp-topnav-item,#clp-root .sp-emploi-select-btn,#clp-root .sp-emploi-today-chip,#clp-root .sp-tab-btn{min-height:44px}#clp-root .row-more-wrap>.icon-btn{min-width:44px;min-height:44px}}@media (min-width:561px) and (max-width:1200px){#clp-root .clp-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}}@media (max-width:1200px){#clp-root .sp-emploi-row-title{white-space:normal;overflow-wrap:anywhere}}@media (max-width:900px){#clp-root .clp-topnav{gap:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#clp-root .clp-topnav-item span{display:inline}#clp-root .clp-topnav-item{min-height:44px;padding:0 14px;font-size:14px;scroll-snap-align:start}#clp-root .clp-topnav-item i{width:16px;height:16px}#clp-root .clp-header-actions .theme-toggle{position:relative}#clp-root .clp-header-actions .theme-toggle:before{content:"";position:absolute;inset:-9px -4px}}@media (max-width:767.98px){#clp-root{overflow-x:clip;padding-bottom:env(safe-area-inset-bottom,0)}body:has(#view-ClassPortal.active) #main-header.is-student-portal-view{margin-bottom:14px;gap:10px}body:has(#view-ClassPortal.active) #main-header .page-title{font-size:20px;line-height:1.25}#clp-root .clp-header{margin-bottom:12px;padding-bottom:10px;row-gap:8px}#clp-root .clp-identity{margin-bottom:8px}#clp-root .clp-identity-title{font-size:20px;line-height:1.25}#clp-root .clp-identity-meta{gap:4px 8px}#clp-root .sp-tabs{margin:0 0 14px;gap:4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}#clp-root .sp-tabs::-webkit-scrollbar{display:none}#clp-root .sp-tab-btn{min-height:44px;padding:0 4px;font-size:14px;scroll-snap-align:start}#clp-root .clp-tabpanel{display:flex;flex-direction:column;gap:14px}#clp-root .clp-tabpanel>.clp-hero,#clp-root .clp-tabpanel>.clp-summary-row{margin-bottom:0}#clp-root .clp-tabpanel .clp-grid,#clp-root .clp-tabpanel .clp-grid>div{display:contents!important}#clp-root .clp-tabpanel>.clp-hero{order:0}#clp-root .clp-tabpanel .clp-grid>div:first-child>*{order:1}#clp-root .clp-tabpanel>.clp-summary-row{order:2}#clp-root .clp-tabpanel .clp-grid>div:last-child>*{order:3}#clp-root .card.card-level-4{padding:16px}#clp-root #clp-documents.card-level-4,#clp-root #clp-emploi.card-level-4,#clp-root #clp-examens.card-level-4,#clp-root #clp-payments.card-level-4,#tup-root #tup-classes.card-level-4{padding:0}#clp-root .card .sp-card-title{padding:0 0 12px}#clp-root #clp-documents .sp-card-title,#clp-root #clp-emploi .sp-card-title,#clp-root #clp-examens .sp-card-title,#clp-root #clp-payments .sp-card-title,#tup-root #tup-classes .sp-card-title{padding:14px 16px 10px;margin-bottom:0}#clp-root [style*="padding:0 22px"]{padding:12px 16px 16px!important}#clp-root .sp-doc-row{padding:12px 16px;gap:12px}#clp-root .sp-empty{padding:24px 8px}#clp-root .card.card-level-4.clp-hero{flex-direction:column;align-items:stretch;gap:10px;padding:16px}#clp-root .clp-hero-day{font-size:22px}#clp-root .clp-hero-details{gap:6px 14px}#clp-root .clp-hero-details span{min-width:0;overflow-wrap:anywhere}#clp-root .clp-hero>.btn-baserow{width:100%;justify-content:center;min-height:44px;border:1px solid var(--card-border)}#clp-root .clp-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}#clp-root .clp-summary-block{min-width:0}#clp-root .clp-summary-sub,#clp-root .clp-summary-value{overflow-wrap:anywhere}#clp-root .clp-summary-block--class,#clp-root .clp-summary-block--next{display:none}#clp-root .clp-summary-row:not(:has(.clp-summary-block:not(.clp-summary-block--class):not(.clp-summary-block--next))){display:none}#clp-root .clp-quick-action{min-height:48px;font-size:14px}#clp-root .sp-emploi-list{padding:0}#clp-root #clp-emploi .sp-emploi-list{padding:4px 12px 12px}#clp-root .sp-emploi-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-column-gap:12px;column-gap:12px;grid-row-gap:6px;row-gap:6px;align-items:start;padding:12px 4px;border-radius:0}#clp-root .sp-emploi-row>.sp-emploi-row-main{grid-column:1/3;grid-row:1}#clp-root .sp-emploi-row>.sp-emploi-row-col{display:block}#clp-root .sp-emploi-row>.sp-emploi-row-col:nth-of-type(2){grid-column:1;grid-row:2}#clp-root .sp-emploi-row>.sp-emploi-row-col:nth-of-type(3){grid-column:2;grid-row:2}#clp-root .sp-emploi-row>.row-more-wrap{grid-column:3;grid-row:1/span 2;align-self:start}#clp-root .sp-emploi-row-title{font-size:14px}#clp-root .sp-emploi-row-sub,#clp-root .sp-emploi-row-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}#clp-root .sp-emploi-row-sub{font-size:12.5px}#clp-root #clp-emploi>.sp-emploi-row{display:none}#clp-root #clp-emploi{overflow:visible}#clp-root #clp-emploi .sp-emploi-toolbar{width:100%;gap:8px}#clp-root #clp-emploi .sp-emploi-divider{display:none}#clp-root #clp-emploi .sp-emploi-toolbar>div[style*="position:relative"]{position:static!important;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);min-width:0}#clp-root #clp-emploi .sp-emploi-toolbar>button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);min-width:0}#clp-root #clp-emploi .sp-emploi-select-btn,#clp-root #clp-emploi .sp-emploi-today-chip{width:100%;min-height:44px;font-size:13px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:6px}#clp-root #clp-emploi .app-dropdown{top:auto;left:12px;right:12px;margin-top:6px;min-width:0!important}#clp-root #clp-emploi .app-dropdown-option{min-height:44px;display:flex;align-items:center}#clp-root .row-more-wrap .grid-menu-item{min-height:44px}#clp-root .row-more-wrap>.icon-btn{min-width:44px;min-height:44px}#clp-root .clp-prof-row{flex-wrap:wrap;gap:10px 12px}#clp-root .clp-prof-body{flex:1 1}#clp-root .clp-prof-meta{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}#clp-root .clp-doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px 12px;gap:10px 12px}#clp-root .clp-doc-row>.clp-quick-action,#clp-root .clp-prof-row>.clp-quick-action{width:100%!important;flex:1 1 100%;justify-content:center;min-height:44px;background:var(--surface-solid,var(--card-bg));border:1px solid var(--card-border)}#clp-root .clp-doc-row>.clp-quick-action{grid-column:1/-1}#clp-root .clp-subject-meta{flex-direction:column;align-items:flex-start;gap:2px}#clp-root .clp-subject-meta .clp-identity-dot{display:none}#clp-root .clp-subject-row{flex-wrap:wrap;gap:12px}#clp-root .clp-subject-body{flex:1 1}#clp-root .clp-subject-row>.btn-baserow{flex:1 1 100%;justify-content:center;min-height:44px;border:1px solid var(--card-border)}}@media (max-width:480px){#clp-root .clp-header-identity{display:none}}@media (max-width:359.98px){#clp-root .clp-summary-row{grid-template-columns:minmax(0,1fr)}#clp-root #clp-emploi .sp-emploi-toolbar>button,#clp-root #clp-emploi .sp-emploi-toolbar>div[style*="position:relative"]{flex-basis:100%}#clp-root .card.card-level-4.clp-hero{padding:14px}#clp-root .clp-hero-day{font-size:20px}}:root{--canvas-bg:#F5F6FC;--canvas-line:rgba(10,37,64,0.08);--canvas-track:rgba(10,37,64,0.08);--body-bg-gradient:#F5F6FC}html[data-theme=dark]{--canvas-bg:#08090A;--canvas-line:rgba(255,255,255,0.06);--canvas-track:rgba(255,255,255,0.08);--card-bg-opaque:#141516;--body-bg-gradient:radial-gradient(1200px 620px at 50% -22%,rgba(255,255,255,0.05) 0%,rgba(255,255,255,0) 70%),#08090A}html{background:var(--canvas-bg)}body{background:var(--body-bg-gradient);background-attachment:fixed}@media (min-width:992px){html:not([data-theme=dark]) #sidebar,html:not([data-theme=dark]) .sidebar,html[data-theme=dark] #sidebar,html[data-theme=dark] .sidebar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-right:1px solid var(--canvas-line)}}@media (max-width:991.98px){html:not([data-theme=dark]) #sidebar,html:not([data-theme=dark]) .sidebar{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;border-right:1px solid var(--canvas-line)}html[data-theme=dark] #sidebar,html[data-theme=dark] .sidebar{background:#0B0C0E;border-right:1px solid var(--canvas-line)}.top-app-bar{background:color-mix(in srgb,var(--canvas-bg) 88%,transparent);border-bottom:1px solid var(--canvas-line)}}.mp-group-progress-track{background:var(--canvas-track)}#planification-modal{--pl-accent:var(--color-primary);--pl-accent-soft:color-mix(in srgb,var(--color-primary) 13%,transparent);--pl-on-accent:var(--on-primary-text);--pl-field-fill:color-mix(in srgb,var(--text-muted) 5%,var(--surface-solid));--pl-border:color-mix(in srgb,var(--text-main) 11%,transparent);--pl-border-soft:color-mix(in srgb,var(--text-main) 7%,transparent)}#planification-modal .modal-box{width:560px!important;background:var(--surface-solid)!important;border-radius:12px;box-shadow:0 1px 1px rgba(0,0,0,.02),0 12px 24px -8px rgba(0,0,0,.18),0 24px 48px -16px rgba(0,0,0,.14)}#planification-modal .modal-body,#planification-modal .modal-footer,#planification-modal .modal-header-row{background:transparent!important}#planification-modal .modal-header-row{padding:18px 20px 15px}#planification-modal .modal-title{font-size:14.5px;letter-spacing:-.006em}#planification-modal .modal-subtitle{font-size:12px;letter-spacing:-.003em}#planification-modal .modal-header-row{align-items:flex-start;justify-content:space-between}#planification-modal .pl-header-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-top:0}#planification-modal .pl-header-actions-sep{width:1px;height:16px;background:var(--pl-border);margin:0 4px}#planification-modal .modal-close-btn{position:static;top:auto;right:auto}#planification-modal .icon-btn.icon-btn--sm{width:26px;height:26px;border-radius:7px;color:var(--text-muted);transition:background .1s ease,color .1s ease}#planification-modal .icon-btn.icon-btn--sm i{width:15px;height:15px}#planification-modal .icon-btn.icon-btn--sm:hover{background:var(--pl-field-fill);color:var(--text-main)}#planification-modal #pl-add-slot-btn{color:var(--pl-accent)}#planification-modal #pl-add-slot-btn:hover{background:var(--pl-accent-soft);color:var(--pl-accent)}#planification-modal .modal-body{padding:18px 20px 2px}#planification-modal .modal-footer{padding:14px 20px 18px;gap:8px;margin-top:16px}#planification-modal .pl-slot-body{gap:14px!important;margin-top:0!important}#planification-modal .pl-slot-body>.form-group.full,#planification-modal .pl-slot-section{display:flex!important;flex-direction:column;gap:14px;background:transparent;border:none;border-radius:0;padding:0!important;margin:0!important}#planification-modal .pl-slot-section-label{display:none!important}#planification-modal .pl-slot-section .form-group{margin:0}#pl-slots-list .pl-slot-row+.pl-slot-row{padding-top:16px!important}#planification-modal .form-group>label,#planification-modal .pl-slot-body>.form-group.full>label{display:block;grid-column:auto!important;padding-top:0!important;margin:0 0 7px!important;font-size:11px!important;letter-spacing:.02em!important;text-transform:uppercase!important}#planification-modal .form-group>label span{font-weight:400;text-transform:none;color:var(--text-muted)}#planification-modal .form-group>label i,#planification-modal .form-group>label svg{display:none!important}#planification-modal .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px}#planification-modal input:not([type=hidden]),#planification-modal select{height:36px;border-radius:7px!important;background:var(--pl-field-fill)!important;font-size:13px!important;transition:border-color .1s ease,box-shadow .1s ease,background .1s ease}#planification-modal input:hover:not(:focus),#planification-modal select:hover:not(:focus){border-color:color-mix(in srgb,var(--text-main) 22%,transparent)}#planification-modal input:focus,#planification-modal select:focus{border-color:var(--pl-accent)!important;box-shadow:0 0 0 3px var(--pl-accent-soft)!important;background:var(--surface-solid)!important}#planification-modal .pl-f-class{height:38px!important;font-size:13.5px!important;padding:0 13px!important}#planification-modal .pl-day-chips{display:flex!important;grid-template-columns:none;flex-wrap:wrap;gap:5px;background:transparent;padding:0;border-radius:0}#planification-modal .pl-day-chip{flex:1 1;min-width:0;width:auto;height:30px;padding:0;border-radius:7px!important;border:1px solid var(--pl-border);background:var(--pl-field-fill);color:var(--text-muted);font-size:11.5px;box-shadow:none;transition:background .1s ease,color .1s ease,border-color .1s ease}#planification-modal .pl-day-chip:hover{color:var(--text-main);border-color:color-mix(in srgb,var(--text-main) 22%,transparent)}#planification-modal .pl-day-chip.active{background:var(--pl-accent);border-color:var(--pl-accent);color:var(--pl-on-accent)}#planification-modal .pl-when-note{display:flex;align-items:center;height:100%;font-size:13px;color:var(--text-main);font-weight:500}#planification-modal .btn-cancel,#planification-modal .btn-save{border-radius:7px;padding:8px 14px;font-size:12.5px;box-shadow:none;height:34px}#planification-modal .btn-cancel{background:transparent}#planification-modal .btn-cancel:hover{background:var(--pl-field-fill)}#planification-modal .btn-save{background:var(--pl-accent);border:1px solid color-mix(in srgb,black 10%,var(--pl-accent));color:var(--pl-on-accent)}#planification-modal .btn-save:hover{filter:brightness(.96);transform:none}#planification-modal .pl-add-slot-link{align-self:flex-start;margin-top:4px;padding:6px 12px;border:1px solid var(--pl-border);border-radius:7px;background:transparent;font-size:12px}#planification-modal .pl-slot-header{margin-bottom:12px!important}#planification-modal .pl-row-badge{color:var(--pl-accent)!important}@media (max-width:520px){#planification-modal .field-row{grid-template-columns:1fr}}#planification-modal .modal-box{box-shadow:0 1px 2px rgba(15,23,42,.06),0 24px 48px -12px rgba(15,23,42,.24)}#planification-modal .modal-header-row{padding:22px 28px 12px;border-bottom:none}#planification-modal .modal-title{font-size:17px;letter-spacing:-.2px}#planification-modal .modal-subtitle{margin-top:2px}#planification-modal .modal-body{padding:6px 28px 4px;max-height:68vh}#planification-modal .pl-slot-body{gap:12px!important}#planification-modal .pl-slot-body>.form-group.full,#planification-modal .pl-slot-section{gap:12px}#planification-modal .form-group>label,#planification-modal .pl-slot-body>.form-group.full>label{font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 6px!important;color:var(--text-muted)!important}#planification-modal input:not([type=hidden]),#planification-modal select{height:40px}#planification-modal .field-row{gap:12px}#planification-modal .pl-day-chips{display:grid!important;grid-gap:6px!important;gap:6px!important}#planification-modal .pl-day-chip{flex:none!important;width:100%!important;min-width:0!important;height:36px!important;padding:0!important;border-radius:10px!important;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}#planification-modal .pl-add-slot-link{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:14px 0 0!important;padding:0;border:1.5px dashed color-mix(in srgb,var(--pl-accent) 45%,transparent);background:color-mix(in srgb,var(--pl-accent) 5%,transparent);color:var(--pl-accent);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .12s ease,border-color .12s ease}#planification-modal .pl-add-slot-link:hover{background:var(--pl-accent-soft);border-color:var(--pl-accent);text-decoration:none}#planification-modal .pl-add-slot-link i,#planification-modal .pl-add-slot-link svg{width:15px;height:15px}#planification-modal .modal-footer{border-top:none;padding:16px 28px 22px}#planification-modal .btn-save{width:auto}#planification-modal .btn-cancel{order:1}#pl-slots-list .pl-slot-row+.pl-slot-row{padding-top:14px!important;margin-top:14px}@media (max-width:520px){#planification-modal .modal-header-row{padding:18px 18px 10px}#planification-modal .modal-body{padding:6px 18px 4px}#planification-modal .modal-footer{padding:14px 18px 18px}#planification-modal .pl-day-chip{font-size:11.5px}}#planification-modal .modal-box{width:600px!important;max-width:94vw;border-radius:16px;border:1px solid var(--pl-border);box-shadow:0 1px 2px rgba(15,23,42,.05),0 20px 40px -16px rgba(15,23,42,.22);overflow:hidden}#planification-modal .modal-header-row{display:flex;gap:12px;padding:20px 22px 16px 28px;flex-direction:row;position:static}#planification-modal .pl-head-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--pl-accent-soft);color:var(--pl-accent)}#planification-modal .pl-head-icon i,#planification-modal .pl-head-icon svg{width:18px;height:18px}#planification-modal .modal-title-wrap{flex:1 1;min-width:0;text-align:left;width:auto}#planification-modal .modal-title{font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.3}#planification-modal .modal-subtitle{font-size:12.5px;margin-top:1px}#planification-modal .pl-header-actions{position:static;margin:0}#planification-modal .modal-close-btn.icon-btn.icon-btn--sm{width:32px;height:32px;border-radius:9px}#planification-modal .modal-body{padding:22px 28px 6px}#planification-modal .pl-slot-body{display:flex!important;flex-direction:column;gap:20px!important;margin:0!important}#planification-modal .pl-slot-body>:first-child{padding-top:0;border-top:none}#planification-modal .pl-sec{display:flex;flex-direction:column;gap:8px;min-width:0}#planification-modal .pl-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}#planification-modal .pl-lbl{display:block;margin:0;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-main)}#planification-modal .pl-sublbl{display:block;margin-bottom:6px;font-size:11.5px;font-weight:500;color:var(--text-muted)}#planification-modal .pl-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}#planification-modal .field-wrap{position:relative;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;min-height:0!important;border-radius:0!important}#planification-modal input:not([type=hidden]),#planification-modal select{width:100%;height:40px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid var(--pl-border)!important;background:var(--surface-solid)!important;font-size:14px!important;font-weight:500;color:var(--text-main);box-shadow:none}#planification-modal input::placeholder{color:var(--text-faint,#98A2B3);font-weight:400}#planification-modal input[type=time]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#planification-modal input:focus:not([type=hidden]){border-color:var(--pl-accent)!important;box-shadow:0 0 0 3px var(--pl-accent-soft)!important;outline:none}#planification-modal .pl-has-icon input:not([type=hidden]){padding-left:36px!important}#planification-modal .pl-f-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-faint,#98A2B3);pointer-events:none;z-index:1}#planification-modal .pl-f-class{height:40px!important;font-size:14px!important;font-weight:600!important;padding:0 12px 0 36px!important}#planification-modal .pl-f-class-locked{height:40px;box-sizing:border-box;border-radius:10px;font-size:14px}#planification-modal .pl-day-chips,#planification-modal .pl-seg{display:grid!important;grid-gap:2px!important;gap:2px!important;padding:2px;height:40px;box-sizing:border-box;background:var(--pl-field-fill);border:1px solid var(--pl-border-soft);border-radius:10px}#planification-modal .pl-day-chips{grid-template-columns:repeat(7,minmax(0,1fr))!important}#planification-modal .pl-seg{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}#planification-modal .pl-day-chip,#planification-modal .pl-seg-btn{flex:none!important;width:100%!important;min-width:0!important;height:100%!important;padding:0!important;border:none!important;border-radius:8px!important;background:transparent!important;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transition:background .12s ease,color .12s ease}#planification-modal .pl-day-chip:hover:not(.active),#planification-modal .pl-seg-btn:hover:not(.active){color:var(--text-main);background:color-mix(in srgb,var(--text-main) 5%,transparent)!important}#planification-modal .pl-day-chip.active,#planification-modal .pl-seg-btn.active{background:var(--pl-accent)!important;color:var(--pl-on-accent)!important}#planification-modal .pl-day-chip:focus-visible,#planification-modal .pl-seg-btn:focus-visible{outline:2px solid var(--pl-accent);outline-offset:1px}#planification-modal .pl-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:end}#planification-modal .pl-time-arrow{display:inline-flex;align-items:center;justify-content:center;height:40px;color:var(--text-faint,#98A2B3)}#planification-modal .pl-time-arrow i,#planification-modal .pl-time-arrow svg{width:16px;height:16px}#planification-modal .pl-duration{padding:2px 8px;border-radius:999px;background:var(--pl-accent-soft);color:var(--pl-accent);font-size:11.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#planification-modal .pl-duration:empty{display:none}#planification-modal .pl-row-conflict-warning{border-radius:10px!important}#planification-modal .pl-add-slot-link{height:40px;margin:18px 0 0!important;border-radius:10px;border-width:1px;border-style:dashed}#pl-slots-list .pl-slot-row+.pl-slot-row{margin-top:18px;padding-top:18px!important;border-top:1px solid var(--pl-border-soft)}#planification-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:22px;padding:16px 28px 18px;border-top:1px solid var(--pl-border-soft);background:color-mix(in srgb,var(--pl-field-fill) 55%,transparent)!important}#planification-modal .btn-cancel,#planification-modal .btn-save{height:40px;padding:0 18px;border-radius:10px;font-size:13.5px;font-weight:600;width:auto;order:0}#planification-modal .btn-cancel{background:var(--surface-solid);border:1px solid var(--pl-border);color:var(--text-main)}#planification-modal .btn-save{order:2}@media (max-width:520px){#planification-modal .modal-header-row{padding:16px 16px 14px 18px}#planification-modal .modal-body{padding:16px 18px 4px}#planification-modal .pl-split{grid-template-columns:1fr}#planification-modal .modal-footer{padding:12px 18px 14px}#planification-modal .pl-day-chip{font-size:11.5px}}#planification-modal.modal-overlay{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.34)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}html[data-theme=dark] #planification-modal.modal-overlay{background:rgba(0,0,0,.55)!important}#planification-modal .modal-box{background:#FFFFFF!important;background:var(--surface-solid,#FFFFFF)!important;border:1px solid color-mix(in srgb,var(--text-main) 10%,transparent);box-shadow:0 0 0 1px rgba(15,23,42,.04),0 2px 4px rgba(15,23,42,.05),0 12px 24px -6px rgba(15,23,42,.14),0 32px 64px -16px rgba(15,23,42,.22)!important}#planification-modal .modal-footer,#planification-modal .modal-header-row{flex-shrink:0}#planification-modal .modal-body{overscroll-behavior:contain}#planification-modal .pl-split>.pl-sec,#planification-modal .pl-time-col{min-width:0}#planification-modal input::placeholder{color:color-mix(in srgb,var(--text-muted) 72%,transparent)}#planification-modal .pl-f-icon,#planification-modal .pl-time-arrow{color:var(--text-muted)}#planification-modal .pl-time-arrow{opacity:.75}.toast{z-index:1300}@media (max-width:640px){#planification-modal.modal-overlay{align-items:flex-end;justify-content:stretch;padding:0}#planification-modal .modal-box{width:100%!important;max-width:100%!important;margin:0;border-radius:16px 16px 0 0;max-height:92vh}#planification-modal .modal-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px))}}#planification-modal .modal-header-row{align-items:center;gap:14px;padding:22px 20px 20px 28px;border-bottom:1px solid var(--pl-border-soft)}#planification-modal .pl-head-icon{width:40px;height:40px;border-radius:12px}#planification-modal .pl-head-icon i,#planification-modal .pl-head-icon svg{width:20px;height:20px}#planification-modal .modal-title{font-size:18px;font-weight:650;letter-spacing:-.015em;line-height:1.25;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#planification-modal .modal-subtitle{margin-top:3px;font-size:13px;font-weight:400;line-height:1.4;color:var(--text-muted)}#planification-modal .pl-header-actions{align-self:flex-start;margin:-4px 0 0}#planification-modal .pl-header-actions .modal-close-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none!important;border-radius:50%!important;background:transparent;color:var(--text-muted);box-shadow:none;cursor:pointer;transition:background .12s ease,color .12s ease}#planification-modal .pl-header-actions .modal-close-btn i,#planification-modal .pl-header-actions .modal-close-btn svg{width:18px;height:18px}#planification-modal .pl-header-actions .modal-close-btn:hover{background:color-mix(in srgb,var(--text-main) 7%,transparent);color:var(--text-main)}#planification-modal .pl-header-actions .modal-close-btn:active{background:color-mix(in srgb,var(--text-main) 12%,transparent)}#planification-modal .pl-header-actions .modal-close-btn:focus-visible{outline:2px solid var(--pl-accent);outline-offset:2px}#planification-modal .modal-body{padding-top:24px}@media (max-width:520px){#planification-modal .modal-header-row{padding:18px 12px 16px 18px;gap:12px}#planification-modal .modal-body{padding-top:20px}#planification-modal .modal-title{font-size:17px}}#planification-modal .pl-slot-body{gap:30px!important}#planification-modal .pl-group{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;border:0}#planification-modal .pl-group-title{margin:0;font-size:15px;font-weight:650;letter-spacing:-.01em;line-height:1.3;color:var(--text-main)}#planification-modal .pl-group .pl-lbl{font-size:12.5px;font-weight:500;color:var(--text-muted)}#planification-modal .pl-group .pl-sec{gap:8px}#planification-modal .pl-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width:520px){#planification-modal .pl-slot-body{gap:26px!important}#planification-modal .pl-group{gap:16px}}#planification-modal .pl-cb{position:relative}#planification-modal .pl-cb-control{position:relative;display:flex;align-items:center;height:44px;border:1px solid var(--pl-border);border-radius:12px;background:var(--pl-field-fill);cursor:text;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}#planification-modal .pl-cb-control:hover{border-color:color-mix(in srgb,var(--text-main) 24%,transparent)}#planification-modal .pl-cb.has-value .pl-cb-control{background:color-mix(in srgb,var(--pl-accent) 5%,var(--surface-solid));border-color:color-mix(in srgb,var(--pl-accent) 30%,var(--pl-border))}#planification-modal .pl-cb-control:focus-within,#planification-modal .pl-cb.open .pl-cb-control{background:var(--surface-solid);border-color:var(--pl-accent);box-shadow:0 0 0 3px var(--pl-accent-soft)}#planification-modal .pl-cb-locked .pl-cb-control{cursor:default}#planification-modal .pl-cb-locked .pl-cb-control:hover{border-color:color-mix(in srgb,var(--pl-accent) 30%,var(--pl-border))}#planification-modal .pl-cb .pl-f-class{flex:1 1 auto;min-width:0;width:100%!important;height:100%!important;padding:0 76px 0 42px!important;border:none!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;outline:none;font-size:14.5px!important;font-weight:600!important;color:var(--text-main)}#planification-modal .pl-cb.has-value:not(.open) .pl-f-class{color:transparent!important;caret-color:transparent}#planification-modal .pl-cb .pl-f-class::selection{background:var(--pl-accent-soft)}#planification-modal .pl-cb-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none;z-index:1}#planification-modal .pl-cb.has-value:not(.open) .pl-cb-icon-search,#planification-modal .pl-cb.open .pl-cb-icon-class,#planification-modal .pl-cb:not(.has-value) .pl-cb-icon-class{display:none}#planification-modal .pl-cb.has-value:not(.open) .pl-cb-icon-class{color:var(--pl-accent)}#planification-modal .pl-cb-selected{position:absolute;left:42px;right:76px;top:0;bottom:0;display:none;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap;pointer-events:none;z-index:1}#planification-modal .pl-cb-locked .pl-cb-selected,#planification-modal .pl-cb.has-value:not(.open) .pl-cb-selected{display:flex}#planification-modal .pl-cb-locked .pl-cb-selected{right:44px}#planification-modal .pl-cb-lock{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);opacity:.7;pointer-events:none}#planification-modal .pl-cb-chev{right:12px;width:16px;height:16px;z-index:1}#planification-modal .pl-cb-chev,#planification-modal .pl-cb-clear{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);cursor:pointer}#planification-modal .pl-cb-clear{right:36px;display:none;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:50%;background:transparent;z-index:2}#planification-modal .pl-cb.has-value .pl-cb-clear{display:inline-flex}#planification-modal .pl-cb-clear:hover{background:color-mix(in srgb,var(--text-main) 8%,transparent);color:var(--text-main)}#planification-modal .pl-cb-clear i,#planification-modal .pl-cb-clear svg{width:14px;height:14px}#planification-modal .pl-cls-lang{flex:none;padding:3px 8px;border-radius:7px;background:var(--pl-accent-soft);color:var(--pl-accent);font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.2}#planification-modal .pl-cls-level{flex:none;font-size:14.5px;font-weight:700;color:var(--text-main)}#planification-modal .pl-cls-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500;color:var(--text-muted)}#planification-modal .pl-cls-plain{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;font-weight:600;color:var(--text-main)}#planification-modal .pl-cb-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:280px;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:var(--surface-solid);border:1px solid var(--pl-border);border-radius:12px;box-shadow:0 0 0 1px rgba(15,23,42,.03),0 8px 16px -4px rgba(15,23,42,.12),0 24px 40px -12px rgba(15,23,42,.2)}#planification-modal .pl-cb-opt{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 10px 0 12px;border-radius:8px;cursor:pointer}#planification-modal .pl-cb-opt.is-active{background:var(--pl-accent-soft)}#planification-modal .pl-cb-opt[aria-selected=true] .pl-cls-level{color:var(--pl-accent)}#planification-modal .pl-cb-check{flex:none;width:16px;height:16px;margin-left:auto;color:var(--pl-accent)}#planification-modal .pl-cb-empty,#planification-modal .pl-cb-more{padding:12px;font-size:13px;color:var(--text-muted)}#planification-modal .pl-sec .pl-day-chips{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-gap:4px!important;gap:4px!important;height:auto!important;padding:4px!important;box-sizing:border-box;border:1px solid var(--pl-border-soft)!important;border-radius:14px!important;background:color-mix(in srgb,var(--text-muted) 7%,var(--surface-solid))!important}#planification-modal .pl-day-chips .pl-day-chip{display:inline-flex!important;align-items:center;justify-content:center;width:100%!important;min-width:0!important;height:42px!important;padding:0!important;border:1px solid var(--pl-border)!important;border-radius:10px!important;background:var(--surface-solid)!important;color:color-mix(in srgb,var(--text-main) 86%,var(--surface-solid))!important;font:inherit;font-size:13.5px!important;font-weight:600!important;letter-spacing:.01em;cursor:pointer;box-shadow:none!important;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}#planification-modal .pl-day-chips .pl-day-chip:hover:not(.active){background:color-mix(in srgb,var(--pl-accent) 8%,var(--surface-solid))!important;border-color:color-mix(in srgb,var(--pl-accent) 32%,var(--pl-border))!important;color:var(--text-main)!important}#planification-modal .pl-day-chips .pl-day-chip.active{background:var(--pl-accent)!important;border-color:var(--pl-accent)!important;color:var(--pl-on-accent)!important;box-shadow:0 1px 2px color-mix(in srgb,var(--pl-accent) 45%,transparent),0 6px 12px -4px color-mix(in srgb,var(--pl-accent) 55%,transparent)!important;transform:translateY(-1px)}#planification-modal .pl-day-chips .pl-day-chip.active:hover{filter:brightness(.96)}#planification-modal .pl-day-chips .pl-day-chip:focus-visible{outline:2px solid var(--pl-accent);outline-offset:2px;position:relative;z-index:1}@media (max-width:520px){#planification-modal .pl-sec .pl-day-chips{gap:3px!important;padding:3px!important}#planification-modal .pl-day-chips .pl-day-chip{font-size:12.5px!important;height:44px!important}}@media (prefers-reduced-motion:reduce){#planification-modal .pl-day-chips .pl-day-chip{transition:none}#planification-modal .pl-day-chips .pl-day-chip.active{transform:none}}#planification-modal .pl-tr{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;grid-gap:12px;gap:12px}#planification-modal .pl-tf{position:relative;display:flex;flex-direction:column;gap:8px}#planification-modal .pl-tf-lbl{display:flex;align-items:center;gap:8px;margin:0;font-size:12.5px;font-weight:500;color:var(--text-muted)}#planification-modal .pl-tf-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--pl-accent)}#planification-modal .pl-tf-end .pl-tf-dot{background:transparent;box-shadow:inset 0 0 0 2px var(--pl-accent)}#planification-modal .pl-tf-box{position:relative;height:56px;border:1px solid var(--pl-border);border-radius:12px;background:var(--pl-field-fill);cursor:text;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}#planification-modal .pl-tf-end .pl-tf-box{background:color-mix(in srgb,var(--pl-accent) 5%,var(--surface-solid));border-color:color-mix(in srgb,var(--pl-accent) 24%,var(--pl-border))}#planification-modal .pl-tf-box:hover{border-color:color-mix(in srgb,var(--text-main) 24%,transparent)}#planification-modal .pl-tf-box:focus-within,#planification-modal .pl-tf.open .pl-tf-box{background:var(--surface-solid);border-color:var(--pl-accent);box-shadow:0 0 0 3px var(--pl-accent-soft)}#planification-modal .pl-tf.is-invalid .pl-tf-box{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 5%,var(--surface-solid))}#planification-modal .pl-tf.is-invalid .pl-tf-box:focus-within,#planification-modal .pl-tf.is-invalid.open .pl-tf-box{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 18%,transparent)}#planification-modal .pl-tf-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted);pointer-events:none;z-index:1}#planification-modal .pl-tf-box:focus-within .pl-tf-icon{color:var(--pl-accent)}#planification-modal .pl-tf.is-invalid .pl-tf-icon{color:var(--color-danger)}#planification-modal .pl-tf-box input{width:100%!important;height:100%!important;padding:0 12px 0 48px!important;border:none!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;outline:none;font-size:24px!important;font-weight:700!important;letter-spacing:.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-main)}#planification-modal .pl-tf-box input::placeholder{font-weight:500;color:color-mix(in srgb,var(--text-muted) 55%,transparent)}#planification-modal .pl-tr-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:56px;color:var(--text-muted)}#planification-modal .pl-tr-arrow i,#planification-modal .pl-tr-arrow svg{width:18px;height:18px}#planification-modal .pl-tf-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:264px;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:var(--surface-solid);border:1px solid var(--pl-border);border-radius:12px;box-shadow:0 0 0 1px rgba(15,23,42,.03),0 8px 16px -4px rgba(15,23,42,.12),0 24px 40px -12px rgba(15,23,42,.2)}#planification-modal .pl-tf-opt{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:40px;padding:0 12px;align-items:center;border-radius:8px;cursor:pointer}#planification-modal .pl-tf-opt.is-active{background:var(--pl-accent-soft)}#planification-modal .pl-tf-opt-t{font-size:15px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-main)}#planification-modal .pl-tf-opt[aria-selected=true] .pl-tf-opt-t{color:var(--pl-accent)}#planification-modal .pl-tf-opt-d{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}#planification-modal .pl-tr-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-height:30px;margin-top:2px}#planification-modal .pl-tr-dur{align-items:center;padding:5px 12px;border-radius:999px;background:var(--pl-accent-soft);color:var(--pl-accent);font-size:13px;font-weight:650}#planification-modal .pl-tr-err{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--color-danger)}#planification-modal .pl-tr-dur[hidden],#planification-modal .pl-tr-err[hidden]{display:none}@media (max-width:520px){#planification-modal .pl-tr{gap:8px}#planification-modal .pl-tr-arrow{width:20px}#planification-modal .pl-tf-box input{font-size:22px!important;padding-left:42px!important}#planification-modal .pl-tf-icon{left:13px;width:18px;height:18px}}@media (prefers-reduced-motion:reduce){#planification-modal .pl-tf-box{transition:none}}#planification-modal .modal-footer{flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px}#planification-modal .modal-footer .btn-cancel,#planification-modal .modal-footer .btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;width:auto!important;flex:0 0 auto;white-space:nowrap;font-size:13.5px!important;font-weight:600;border-radius:10px;cursor:pointer}#planification-modal .modal-footer .btn-save{order:2;min-width:176px;padding:0 24px!important;box-shadow:0 1px 2px color-mix(in srgb,var(--pl-accent) 35%,transparent)}#planification-modal .modal-footer .btn-cancel{order:1;align-self:auto;padding:0 18px!important;background:var(--surface-solid);border:1px solid var(--pl-border);color:var(--text-main);box-shadow:none;text-decoration:none}@media (max-width:380px){#planification-modal .modal-footer .btn-save{min-width:0;padding:0 18px!important}}#planification-modal :is(.btn-save,.btn-cancel,.pl-add-slot-link,.pl-day-chip,.pl-seg-btn,.modal-close-btn,.icon-btn){transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}#planification-modal .modal-footer .btn-save:hover:not(:disabled){filter:none;transform:translateY(-1px);background:color-mix(in srgb,black 8%,var(--pl-accent));box-shadow:0 6px 14px -6px color-mix(in srgb,var(--pl-accent) 70%,transparent)}#planification-modal .modal-footer .btn-save:active:not(:disabled){transform:translateY(0);background:color-mix(in srgb,black 14%,var(--pl-accent));box-shadow:0 1px 2px color-mix(in srgb,var(--pl-accent) 35%,transparent)}#planification-modal .modal-footer .btn-save:focus-visible{outline:2px solid var(--pl-accent);outline-offset:2px}#planification-modal .modal-footer .btn-save:disabled{transform:none;box-shadow:none}#planification-modal .modal-footer .btn-save.is-loading{opacity:1;cursor:progress;pointer-events:none}#planification-modal .modal-footer .btn-save.is-loading:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--pl-on-accent) 35%,transparent);border-top-color:var(--pl-on-accent);animation:plSpin .7s linear infinite;flex:none}@keyframes plSpin{to{transform:rotate(1turn)}}#planification-modal .modal-footer .btn-cancel:hover:not(:disabled){background:var(--pl-field-fill);border-color:color-mix(in srgb,var(--text-main) 28%,transparent);color:var(--text-main);text-decoration:none}#planification-modal .modal-footer .btn-cancel:active:not(:disabled){background:color-mix(in srgb,var(--text-main) 8%,var(--surface-solid));transform:scale(.985)}#planification-modal .modal-footer .btn-cancel:focus-visible{outline:2px solid var(--pl-accent);outline-offset:2px}#planification-modal .modal-footer .btn-cancel:disabled{opacity:.5;cursor:not-allowed}#planification-modal .pl-add-slot-link:active{transform:scale(.99)}#planification-modal :is(.pl-add-slot-link,.icon-btn):focus-visible{outline:2px solid var(--pl-accent);outline-offset:2px}#planification-modal .icon-btn:active{transform:scale(.94)}#planification-modal .pl-day-chips .pl-day-chip:active:not(.active){transform:scale(.97);background:color-mix(in srgb,var(--pl-accent) 14%,var(--surface-solid))!important}#planification-modal .pl-seg-btn:hover:not(.active){background:color-mix(in srgb,var(--pl-accent) 8%,transparent)}#planification-modal .pl-seg-btn:active:not(.active){transform:scale(.98)}#planification-modal :is(.pl-day-chip,.pl-seg-btn,.pl-add-slot-link,.icon-btn):disabled{opacity:.5;cursor:not-allowed;transform:none}#planification-modal input:disabled:not([type=hidden]),#planification-modal select:disabled{opacity:.55;cursor:not-allowed;background:var(--pl-field-fill)!important}#planification-modal .pl-field-err{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:500;line-height:1.35;color:var(--color-danger);animation:plErrIn .16s ease}#planification-modal .pl-field-err[hidden]{display:none}#planification-modal .pl-field-err svg{width:13px;height:13px;flex:none}@keyframes plErrIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}#planification-modal .pl-tr-err svg{width:13px;height:13px;flex:none}#planification-modal .pl-tr-err{font-weight:500;font-size:12px}#planification-modal .pl-cb.is-invalid .pl-cb-control{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 5%,var(--surface-solid))}#planification-modal .pl-cb.is-invalid .pl-cb-control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 18%,transparent)}#planification-modal .pl-sec.is-invalid .pl-day-chips{border-color:var(--color-danger)!important;background:color-mix(in srgb,var(--color-danger) 4%,var(--pl-field-fill))!important}#planification-modal input.is-invalid:not([type=hidden]){border-color:var(--color-danger)!important;background:color-mix(in srgb,var(--color-danger) 5%,var(--surface-solid))!important}#planification-modal input.is-invalid:not([type=hidden]):focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 18%,transparent)!important}#planification-modal .pl-row-conflict-warning{animation:plErrIn .16s ease}#planification-modal .pl-save-hint{display:flex;align-items:flex-start;gap:8px;width:100%;margin:10px 0 0;padding:9px 12px;border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-warning) 9%,transparent);color:var(--color-warning);font:inherit;font-size:12.5px;font-weight:600;line-height:1.4;text-align:left;cursor:pointer}#planification-modal .pl-save-hint[hidden]{display:none}#planification-modal .pl-save-hint.is-wait{cursor:default}#planification-modal .pl-submit-err{margin:10px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-danger) 8%,transparent);font-size:12.5px;font-weight:600}#planification-modal .modal-footer .btn-save:disabled{opacity:.55;cursor:not-allowed}@media (prefers-reduced-motion:reduce){#planification-modal :is(.btn-save,.btn-cancel,.pl-add-slot-link,.pl-day-chip,.pl-seg-btn,.icon-btn){transition:none}#planification-modal .pl-field-err,#planification-modal .pl-row-conflict-warning{animation:none}#planification-modal .modal-footer .btn-save:hover:not(:disabled){transform:none}#planification-modal .modal-footer .btn-save.is-loading:before{animation-duration:1.4s}}#planification-modal{--pl-r-modal:16px;--pl-r-pop:12px;--pl-r-ctl:10px;--pl-r-sm:8px}#planification-modal .pl-tr-foot{min-height:22px;margin-top:6px;gap:4px 14px}#planification-modal .pl-tr-dur{display:inline-flex;align-items:baseline;gap:4px;padding:0;border-radius:0;background:none;color:var(--text-muted);font-size:12.5px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}#planification-modal .pl-tr-dur .pl-tr-dur-v{color:var(--text-main);font-weight:600}#planification-modal .pl-summary{margin:14px 28px 0;padding:10px 14px;border:1px solid var(--pl-border-soft);border-radius:var(--pl-r-ctl);background:color-mix(in srgb,var(--pl-accent) 4%,var(--surface-solid));animation:plErrIn .16s ease}#planification-modal .pl-summary[hidden]{display:none}#planification-modal .pl-summary:not([hidden])+.modal-footer{margin-top:14px}#planification-modal .pl-summary-title{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}#planification-modal .pl-summary-item{min-width:0}#planification-modal .pl-summary-item+.pl-summary-item{margin-top:8px;padding-top:8px;border-top:1px dashed var(--pl-border-soft)}#planification-modal .pl-summary-cls{font-size:13.5px;font-weight:650}#planification-modal .pl-summary-cls,#planification-modal .pl-summary-when{color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#planification-modal .pl-summary-when{margin-top:1px;font-size:13px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#planification-modal .pl-summary-prof{margin-top:1px;font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#planification-modal .pl-summary-prof.is-empty{font-style:italic}#planification-modal .pl-summary-more{margin-top:6px;font-size:12px;color:var(--text-muted)}#planification-modal .pl-summary.is-multi .pl-summary-item{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap}#planification-modal .pl-summary.is-multi .pl-summary-cls,#planification-modal .pl-summary.is-multi .pl-summary-prof,#planification-modal .pl-summary.is-multi .pl-summary-when{margin-top:0}#planification-modal .modal-box{width:min(600px,calc(100vw - 32px))!important;max-width:none}#planification-modal .modal-body{scrollbar-gutter:stable}#planification-modal .modal-footer,#planification-modal .modal-header-row,#planification-modal .pl-summary{flex-shrink:0}#planification-modal .modal-footer{flex-wrap:wrap;row-gap:8px}#planification-modal .pl-group-title,#planification-modal .pl-lbl,#planification-modal .pl-tf-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#planification-modal .pl-tr{min-width:0}#planification-modal .pl-tf{min-width:0;flex:1 1}#planification-modal .pl-split{min-width:0}#planification-modal .pl-cb-list,#planification-modal .pl-tf-list{max-height:min(280px,38vh)}@media (max-width:760px){#planification-modal .pl-split{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){#planification-modal .pl-summary{margin:12px 18px 0}#planification-modal .modal-footer .btn-save{flex:1 1 auto;min-width:0}#planification-modal .pl-day-chips .pl-day-chip{font-size:12px!important}}@media (max-width:480px){#planification-modal .pl-day-chips .pl-day-chip{height:38px!important}}@media (max-height:720px){#planification-modal .modal-header-row{padding-top:14px;padding-bottom:12px}#planification-modal .pl-summary{margin-top:10px;padding:8px 12px}#planification-modal .modal-footer{padding-top:12px;padding-bottom:14px}#planification-modal .pl-summary:not(.is-multi) .pl-summary-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}#planification-modal .pl-summary:not(.is-multi) .pl-summary-prof,#planification-modal .pl-summary:not(.is-multi) .pl-summary-when{margin-top:0}}#planification-modal.modal-overlay{background:rgba(15,23,42,.22)!important;-webkit-backdrop-filter:blur(5px) saturate(1.05)!important;backdrop-filter:blur(5px) saturate(1.05)!important}html[data-theme=dark] #planification-modal.modal-overlay{background:rgba(0,0,0,.42)!important}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){#planification-modal.modal-overlay{background:rgba(15,23,42,.36)!important}html[data-theme=dark] #planification-modal.modal-overlay{background:rgba(0,0,0,.55)!important}}#planification-modal .modal-box{border:1px solid var(--pl-border)!important;box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 16px -6px rgba(15,23,42,.1),0 24px 48px -16px rgba(15,23,42,.16)!important}html[data-theme=dark] #planification-modal .modal-box{box-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 16px -6px rgba(0,0,0,.32),0 24px 48px -16px rgba(0,0,0,.42)!important}#planification-modal .modal-box{border-radius:var(--pl-r-modal)!important}@media (max-width:640px){#planification-modal .modal-box{border-radius:var(--pl-r-modal) var(--pl-r-modal) 0 0!important}}#planification-modal :is(input:not([type=hidden]),select,.pl-cb .pl-f-class,.pl-tf-box input,.pl-tf-box,.pl-cb-control,.pl-f-class-locked,.pl-seg,.pl-add-slot-link,.pl-row-conflict-warning,.pl-head-icon,.modal-footer .btn-cancel,.modal-footer .btn-save){border-radius:var(--pl-r-ctl)!important}#planification-modal .pl-sec .pl-day-chips{border-radius:var(--pl-r-pop)!important}#planification-modal :is(.pl-cb-list,.pl-tf-list){border-radius:var(--pl-r-pop)!important}#planification-modal :is(.pl-day-chips .pl-day-chip,.pl-seg-btn,.pl-cb-opt,.pl-tf-opt,.pl-cls-lang){border-radius:var(--pl-r-sm)!important}#planification-modal .modal-close-btn.icon-btn.icon-btn--sm,#planification-modal .pl-header-actions .modal-close-btn{border-radius:var(--pl-r-ctl)!important}#planification-modal .pl-ds-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;opacity:0!important;pointer-events:none!important}#planification-modal .pl-ds{position:relative;min-width:0}#planification-modal .pl-ds-btn{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:44px;padding:0 40px 0 14px;border:1px solid var(--pl-border);background:var(--pl-field-fill);color:var(--text-main);font-family:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}#planification-modal .pl-ds-btn:hover{border-color:color-mix(in srgb,var(--text-main) 24%,transparent)}#planification-modal .pl-ds-btn:active{background:color-mix(in srgb,var(--text-main) 5%,var(--surface-solid))}#planification-modal .pl-ds-btn:focus-visible,#planification-modal .pl-ds.open .pl-ds-btn{outline:none;background:var(--surface-solid);border-color:var(--pl-accent);box-shadow:0 0 0 3px var(--pl-accent-soft)}#planification-modal .pl-ds-btn:disabled{opacity:.55;cursor:not-allowed}#planification-modal .pl-ds-val{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#planification-modal .pl-ds-val.is-placeholder{color:var(--text-muted);font-weight:400}#planification-modal .pl-ds-ico{flex:none;width:16px;height:16px;color:var(--text-muted);pointer-events:none}#planification-modal .pl-ds-search .pl-ds-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1}#planification-modal .pl-ds-chev{position:absolute;right:14px;top:50%;width:16px;height:16px;color:var(--text-muted);transform:translateY(-50%);transition:transform .16s ease;pointer-events:none}#planification-modal .pl-ds.open .pl-ds-chev{transform:translateY(-50%) rotate(180deg)}#planification-modal .pl-ds-search input.pl-f-prof{width:100%;height:44px!important;padding:0 68px 0 42px!important;font-size:14px!important;font-weight:500;text-overflow:ellipsis}#planification-modal .pl-ds-search input.pl-f-prof::placeholder{font-weight:400}#planification-modal .pl-ds-search.open input.pl-f-prof{background:var(--surface-solid)!important;border-color:var(--pl-accent)!important;box-shadow:0 0 0 3px var(--pl-accent-soft)!important}#planification-modal .pl-ds-chevbtn,#planification-modal .pl-ds-clear{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--pl-r-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .16s ease,color .16s ease;z-index:1}#planification-modal .pl-ds-chevbtn{right:8px}#planification-modal .pl-ds-clear{right:36px}#planification-modal .pl-ds-chevbtn svg,#planification-modal .pl-ds-clear svg{width:15px;height:15px;transition:transform .16s ease}#planification-modal .pl-ds-search.open .pl-ds-chevbtn svg{transform:rotate(180deg)}#planification-modal .pl-ds-chevbtn:hover,#planification-modal .pl-ds-clear:hover{background:color-mix(in srgb,var(--text-main) 7%,transparent);color:var(--text-main)}#planification-modal .pl-ds-search input.pl-f-prof:placeholder-shown~.pl-ds-clear{display:none}#planification-modal .pl-ds-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:min(240px,36vh);margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:var(--surface-solid);border:1px solid var(--pl-border);box-shadow:0 0 0 1px rgba(15,23,42,.03),0 8px 16px -4px rgba(15,23,42,.12),0 24px 40px -12px rgba(15,23,42,.2);animation:plErrIn .16s ease}#planification-modal .pl-ds-list[hidden]{display:none}#planification-modal .pl-ds-opt{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;font-size:13.5px;font-weight:500;color:var(--text-main);cursor:pointer;transition:background-color .12s ease}#planification-modal .pl-ds-opt-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#planification-modal .pl-ds-opt.is-active{background:var(--pl-accent-soft)}#planification-modal .pl-ds-opt[aria-selected=true]{color:var(--pl-accent);font-weight:600}#planification-modal .pl-ds-check{flex:none;width:16px;height:16px;margin-left:auto;color:var(--pl-accent)}#planification-modal .pl-ds-empty{padding:12px 10px;font-size:13px;line-height:1.4;color:var(--text-muted)}#planification-modal .pl-ds-search input.pl-f-prof.is-invalid,#planification-modal .pl-ds.is-invalid .pl-ds-btn{border-color:var(--color-danger)!important;background:color-mix(in srgb,var(--color-danger) 5%,var(--surface-solid))!important}@media (prefers-reduced-motion:reduce){#planification-modal .pl-ds-btn,#planification-modal .pl-ds-chev,#planification-modal .pl-ds-list,#planification-modal .pl-ds-opt{transition:none;animation:none}}#planification-modal .modal-box{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}#planification-modal .modal-footer,#planification-modal .modal-header-row{flex:none}#planification-modal .modal-body{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0;padding:24px 28px}#planification-modal .modal-footer{margin-top:0}#planification-modal .pl-class-section{flex:none;margin:0 0 24px}#planification-modal .pl-class-section .pl-group-title,#planification-modal .pl-summary-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}#planification-modal .pl-group{gap:20px}#planification-modal .pl-slot-row{padding:0!important;border:none!important}#planification-modal .pl-slot-row+.pl-slot-row{margin-top:28px;padding-top:24px!important;border-top:1px solid var(--pl-border-soft)!important}#planification-modal .pl-slot-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px!important;cursor:default}#planification-modal .pl-slot-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}#planification-modal .pl-row-summary{display:none}#planification-modal .pl-slot-remove{border:none;background:none;padding:4px 8px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer}#planification-modal .pl-slot-remove:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}#planification-modal .pl-slot-remove:disabled{opacity:.4;cursor:not-allowed}#planification-modal .pl-slot-remove:disabled:hover{color:var(--text-muted);background:none}#planification-modal .pl-slot-body{gap:24px!important}#planification-modal .pl-room-display{display:flex;align-items:center;height:44px;padding:0 14px;border:1px dashed var(--pl-border);border-radius:12px;background:var(--pl-field-fill);font-size:14px;font-weight:600;color:var(--text-main);min-width:0}#planification-modal .pl-room-display.is-empty{font-weight:400;color:var(--text-muted)}#planification-modal .pl-room-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#planification-modal #pl-add-slot-link{flex:none;margin:24px 0 0!important}#planification-modal #pl-add-slot-link[hidden]{display:none!important}#planification-modal .pl-summary{flex:none;margin:24px 0 0;padding:14px 16px}@media (max-width:520px){#planification-modal .modal-body{padding:18px}}#planification-modal #pl-slots-list .pl-slot-row+.pl-slot-row{border-top:none!important;margin-top:10px!important;padding-top:0!important}#planification-modal #pl-slots-list .pl-slot-row:not(:only-child) .pl-slot-header{cursor:pointer;padding:10px 12px;margin-bottom:0!important;border:1px solid var(--pl-border-soft);border-radius:12px;background:var(--pl-field-fill)}#planification-modal #pl-slots-list .pl-slot-row:not(:only-child):not(.collapsed) .pl-slot-header{margin-bottom:16px!important;border-color:var(--pl-accent)}#planification-modal #pl-slots-list .pl-slot-row:not(:only-child) .pl-row-summary{display:block;font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}#planification-modal .pl-save-hint{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;background:var(--surface-solid);box-shadow:0 -10px 12px -6px var(--surface-solid)}#planification-modal .pl-summary.is-multi{display:none}#planification-modal .pl-slot-row.collapsed .pl-slot-body{display:none!important}html:not([data-theme=dark]){--canvas-bg:#F5F6FC;--body-bg-gradient:#F5F6FC;--canvas-line:#E9EAF2;--canvas-track:#E9EAF2;--card-bg:#FFFFFF;--card-bg-opaque:#FFFFFF;--surface-solid:#FFFFFF;--card-border:#E9EAF2;--border-color:#E9EAF2;--text-main:#1A1D3A;--text-muted:#69709A;--text-faint:#9AA0C0;--color-primary:#6653F0;--color-primary-light:#8B7BFF;--color-primary-pale:#EEEBFF;--purple-accent:#EEEBFF;--purple-text:#5443E0;--sidebar-hover:#F4F5FD;--sidebar-active:#EEEBFF;--wh-tint:#F4F5FD;--wh-radius:18px;--wh-shadow:0 1px 2px rgba(31,35,80,.03)}html:not([data-theme=dark]) body{background:#F5F6FC}html:not([data-theme=dark]) .card{background:#FFFFFF;border:1px solid #e9eaf2;border-radius:var(--wh-radius);box-shadow:var(--wh-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}html:not([data-theme=dark]) #clp-root .sp-card-title,html:not([data-theme=dark]) #sp-root .sp-card-title,html:not([data-theme=dark]) #tup-root .sp-card-title{font-size:16px;font-weight:700;color:#1A1D3A;letter-spacing:-.005em}html:not([data-theme=dark]) .btn-cta-primary,html:not([data-theme=dark]) .btn-save{background:linear-gradient(135deg,#6653F0,#5443E0);color:#FFFFFF;border:0;border-radius:12px;box-shadow:0 2px 6px rgba(102,83,240,.18);transition:filter .15s,box-shadow .15s}html:not([data-theme=dark]) .btn-cta-primary:hover,html:not([data-theme=dark]) .btn-save:hover{filter:brightness(1.06)}html:not([data-theme=dark]) .btn-baserow,html:not([data-theme=dark]) .btn-cancel,html:not([data-theme=dark]) .btn-cta-secondary{background:#FFFFFF;color:#1A1D3A;border:1px solid #e9eaf2;border-radius:12px;transition:background .15s,border-color .15s}html:not([data-theme=dark]) .btn-baserow:hover,html:not([data-theme=dark]) .btn-cancel:hover,html:not([data-theme=dark]) .btn-cta-secondary:hover{background:#F4F5FD}html:not([data-theme=dark]) .icon-btn:hover{background:#EEEBFF;color:#5443E0}html:not([data-theme=dark]) .baserow-input,html:not([data-theme=dark]) .baserow-select,html:not([data-theme=dark]) .form-group input,html:not([data-theme=dark]) .form-group select{border:1px solid #e9eaf2;border-radius:12px;background:#FFFFFF}html:not([data-theme=dark]) .baserow-input:focus,html:not([data-theme=dark]) .baserow-select:focus,html:not([data-theme=dark]) .form-group input:focus,html:not([data-theme=dark]) .form-group select:focus{border-color:#6653F0;box-shadow:0 0 0 3px rgba(102,83,240,.15);outline:none}html:not([data-theme=dark]) #clp-root .clp-topnav-item,html:not([data-theme=dark]) #sp-root .sp-tab-btn,html:not([data-theme=dark]) #tup-root .sp-tab-btn{color:#69709A;font-size:14px;font-weight:500;border-bottom:2px solid transparent;border-radius:0;background:transparent;transition:color .15s,border-color .15s}html:not([data-theme=dark]) #clp-root .clp-topnav-item:hover,html:not([data-theme=dark]) #sp-root .sp-tab-btn:hover,html:not([data-theme=dark]) #tup-root .sp-tab-btn:hover{color:#1A1D3A}html:not([data-theme=dark]) #clp-root .clp-topnav-item.active,html:not([data-theme=dark]) #clp-root .clp-topnav-item[aria-selected=true],html:not([data-theme=dark]) #sp-root .sp-tab-btn--active,html:not([data-theme=dark]) #tup-root .sp-tab-btn--active{color:#5443E0;border-bottom-color:#6653F0;font-weight:600;background:transparent;box-shadow:none}html:not([data-theme=dark]) #clp-root table th,html:not([data-theme=dark]) #sp-root table th,html:not([data-theme=dark]) #tup-root table th,html:not([data-theme=dark]) .card table th{background:#F4F5FD;color:#69709A;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;padding-top:13px;padding-bottom:13px}html:not([data-theme=dark]) #clp-root table tbody tr:hover,html:not([data-theme=dark]) #sp-root table tbody tr:hover,html:not([data-theme=dark]) #tup-root table tbody tr:hover,html:not([data-theme=dark]) .card table tbody tr:hover{background:#F4F5FD}html:not([data-theme=dark]) #clp-root table td,html:not([data-theme=dark]) #sp-root table td,html:not([data-theme=dark]) #tup-root table td{border-color:#E9EAF2}html:not([data-theme=dark]) .clp-cren-row,html:not([data-theme=dark]) .clp-doc-row,html:not([data-theme=dark]) .clp-exam-row,html:not([data-theme=dark]) .clp-stu-row,html:not([data-theme=dark]) .sp-doc-row,html:not([data-theme=dark]) .sp-emploi-row,html:not([data-theme=dark]) .sp-exam-line{border-color:#E9EAF2;border-radius:12px;transition:background .12s}html:not([data-theme=dark]) .clp-cren-row:hover,html:not([data-theme=dark]) .clp-doc-row:hover,html:not([data-theme=dark]) .clp-exam-row:hover,html:not([data-theme=dark]) .clp-stu-row:hover,html:not([data-theme=dark]) .sp-doc-row:hover,html:not([data-theme=dark]) .sp-emploi-row:hover,html:not([data-theme=dark]) .sp-exam-line:hover{background:#F4F5FD}html:not([data-theme=dark]) .sp-emploi-datebadge{border:1px solid #e9eaf2;border-radius:12px;background:#FFFFFF}html:not([data-theme=dark]) .sp-emploi-datebadge.is-today{border-color:#6653F0;background:#EEEBFF;color:#5443E0}html:not([data-theme=dark]) .badge-nature,html:not([data-theme=dark]) .status-badge{border-radius:999px;font-size:12.5px;font-weight:500;padding:3px 11px}html:not([data-theme=dark]) .popover-card{background:#FFFFFF;border:1px solid #e9eaf2;border-radius:14px;box-shadow:0 10px 28px rgba(31,35,80,.1);padding:6px;min-width:210px;z-index:60}html:not([data-theme=dark]) .grid-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;font-size:14px;color:#1A1D3A;cursor:pointer;transition:background .12s}html:not([data-theme=dark]) .grid-menu-item:focus-visible,html:not([data-theme=dark]) .grid-menu-item:hover{background:#F4F5FD;outline:none}html:not([data-theme=dark]) .grid-menu-item i,html:not([data-theme=dark]) .grid-menu-item svg{color:#69709A}html:not([data-theme=dark]) .grid-menu-item.danger,html:not([data-theme=dark]) .grid-menu-item.is-danger{color:#C6283A}html:not([data-theme=dark]) #clp-root :focus-visible,html:not([data-theme=dark]) #sp-root :focus-visible,html:not([data-theme=dark]) #tup-root :focus-visible{outline:2px solid #6653F0;outline-offset:2px;border-radius:10px}@media (prefers-reduced-motion:reduce){#clp-root *,#sp-root *,#tup-root *{transition-duration:.01ms!important;animation-duration:.01ms!important}}#clp-root .clp-stu-toolbar,#tup-root .clp-stu-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 22px 14px}#clp-root .clp-stu-search,#tup-root .clp-stu-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;min-width:240px;flex:1 1 240px;max-width:360px;border:1px solid var(--card-border);border-radius:12px;background:var(--surface-solid,#fff);color:var(--text-muted)}#clp-root .clp-stu-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}#tup-root .clp-stu-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}#clp-root .clp-stu-search input,#tup-root .clp-stu-search input{border:0;outline:0;background:transparent;flex:1 1;min-width:0;font:inherit;font-size:14px;color:var(--text-main)}#clp-root .clp-stu-search svg,#tup-root .clp-stu-search svg{width:16px;height:16px}#clp-root .clp-stu-seg,#tup-root .clp-stu-seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 7%,transparent)}#clp-root .clp-stu-seg button,#tup-root .clp-stu-seg button{border:0;background:transparent;padding:6px 12px;border-radius:9px;font:inherit;font-size:13px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}#clp-root .clp-stu-seg button:hover,#tup-root .clp-stu-seg button:hover{color:var(--text-main)}#clp-root .clp-stu-seg button.is-on,#tup-root .clp-stu-seg button.is-on{background:var(--surface-solid,#fff);color:var(--text-main);font-weight:600;box-shadow:var(--shadow-level-default)}#clp-root .clp-stu-count,#tup-root .clp-stu-count{margin-left:auto;font-size:13px;color:var(--text-muted)}#clp-root .clp-stu-who,#tup-root .clp-stu-who{display:flex;align-items:center;gap:12px}#clp-root .clp-stu-av,#tup-root .clp-stu-av{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#clp-root .clp-stu-act,#tup-root .clp-stu-act{align-items:center}#clp-root .clp-stu-none[hidden],#tup-root .clp-stu-none[hidden]{display:none}html:not([data-theme=dark]) #clp-root .clp-stu-table{gap:0}html:not([data-theme=dark]) #clp-root .clp-stu-head{background:#F4F5FD;border-radius:12px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:500;color:#69709A;padding:12px 18px}html:not([data-theme=dark]) #clp-root .clp-stu-row{background:transparent;border-radius:0;border-bottom:1px solid #e9eaf2}html:not([data-theme=dark]) #clp-root .clp-stu-row:hover{background:#F4F5FD}:root{--sidebar-width-expanded:248px;--sidebar-width-collapsed:72px;--nav-w:var(--sidebar-width-expanded);--nav-w-rail:var(--sidebar-width-collapsed);--nav-item-h:40px;--nav-bg:#FFFFFF;--nav-divider:#ECECF3;--nav-text:#4A5270;--nav-text-hover:#1F2440;--nav-icon:#858CA8;--nav-heading:#6C7390;--nav-hover-bg:#F6F6FA;--nav-active-bg:#F0EDFF;--nav-active-fg:#4B3FD0;--nav-icon-active:#5546D8;--nav-indicator:#5546D8;--nav-focus:#5546D8;--nav-press-bg:#EFEFF6;--nav-active-press:#E6E1FF;--nav-active-ring:rgba(85,70,216,.22);--nav-tip-bg:#1A1D3A;--nav-tip-fg:#FFFFFF;--nav-ease:cubic-bezier(0.4,0,0.2,1)}html[data-theme=dark]{--nav-divider:var(--canvas-line);--nav-text:color-mix(in srgb,var(--text-main) 78%,transparent);--nav-text-hover:var(--text-main);--nav-icon:var(--text-muted);--nav-icon-active:var(--color-primary);--nav-heading:var(--text-muted);--nav-hover-bg:var(--sidebar-hover);--nav-active-bg:var(--purple-accent);--nav-active-fg:var(--color-primary);--nav-indicator:var(--color-primary);--nav-focus:var(--color-primary);--nav-press-bg:color-mix(in srgb,var(--sidebar-hover) 60%,var(--nav-divider));--nav-active-press:color-mix(in srgb,var(--nav-active-bg) 80%,var(--color-primary));--nav-active-ring:color-mix(in srgb,var(--color-primary) 32%,transparent);--nav-tip-bg:#F4F5F7;--nav-tip-fg:#101112}.sidebar{display:flex;flex-direction:column;overflow:hidden}.main-content{min-width:0}@media (min-width:992px){.sidebar{width:var(--nav-w);flex:0 0 auto;align-self:stretch;padding:0;transition:width .28s var(--nav-ease)}.sidebar.collapsed{width:var(--nav-w-rail);padding:0}html:not([data-theme=dark]) .sidebar,html[data-theme=dark] .sidebar{border-right:0;box-shadow:inset -1px 0 0 var(--nav-divider);-webkit-backdrop-filter:none;backdrop-filter:none}html:not([data-theme=dark]) .sidebar{background:var(--nav-bg)}}.brand-container{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:56px;margin:0;padding:0 10px 0 27px;transition:padding .28s var(--nav-ease),height .28s var(--nav-ease)}.brand-text{min-width:0;max-width:150px;overflow:hidden;font-size:18px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--text-main);white-space:nowrap;opacity:1;transition:opacity .16s ease,max-width .28s var(--nav-ease)}.brand-text .brand-plus{color:var(--nav-active-fg)}.sidebar .sidebar-toggle-btn{color:var(--nav-icon)}html .sidebar .sidebar-toggle-btn:hover{color:var(--nav-text-hover);background:var(--nav-hover-bg)}html .sidebar .sidebar-toggle-btn:active{background:var(--nav-press-bg)}.sidebar .sidebar-toggle-btn{--icon-btn-size:28px;--icon-btn-icon:16px;border-radius:8px}.sidebar .sidebar-toggle-btn svg{stroke-width:1.75}.sidebar .sidebar-toggle-btn:focus-visible{outline:2px solid var(--nav-focus);outline-offset:1px;box-shadow:none}.brand-rest{display:inline-block;vertical-align:top;max-width:120px;overflow:hidden;opacity:1;transition:opacity .16s ease,max-width .28s var(--nav-ease)}.sidebar .sidebar-toggle-btn svg{transition:transform .28s var(--nav-ease)}@media (min-width:992px){.sidebar.collapsed .brand-container{flex-direction:column;justify-content:center;gap:8px;height:80px;padding:0}.sidebar.collapsed .brand-text{font-size:17px;max-width:none}.sidebar.collapsed .brand-rest{max-width:0;opacity:0}.sidebar.collapsed .sidebar-toggle-btn svg{transform:scaleX(-1)}}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 8px 24px;overscroll-behavior:contain;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav{--fade-t:0px;--fade-b:0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-t),#000 calc(100% - var(--fade-b)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-t),#000 calc(100% - var(--fade-b)),transparent 100%)}.sidebar-nav.can-scroll-up{--fade-t:18px}.sidebar-nav.can-scroll-down{--fade-b:28px}.sidebar-ai-card{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:8px 14px max(16px,env(safe-area-inset-bottom));padding:14px;text-align:left;font:inherit;color:var(--nav-text);cursor:pointer;border:1px solid var(--nav-divider);border-radius:14px;background:color-mix(in srgb,var(--nav-active-fg) 5%,transparent);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.sidebar-ai-card:hover{border-color:var(--nav-active-ring);background:color-mix(in srgb,var(--nav-active-fg) 8%,transparent)}.sidebar-ai-card:focus-visible{outline:2px solid var(--nav-focus);outline-offset:2px}.sidebar-ai-card.active{border-color:var(--nav-active-ring);background:var(--nav-active-bg)}.sidebar-ai-head{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-ai-icon{width:16px;height:16px;flex:none;color:var(--nav-icon-active)}.sidebar-ai-title{font-size:14px;font-weight:700;line-height:1.2;color:var(--nav-text-hover)}.sidebar-ai-desc{font-size:12px;line-height:1.45;color:var(--nav-heading)}.sidebar-ai-cta{display:flex;align-items:center;justify-content:center;height:34px;margin-top:6px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;background:var(--nav-indicator);transition:filter .16s ease}.sidebar-ai-card:hover .sidebar-ai-cta{filter:brightness(1.08)}@media (min-width:992px){.sidebar.collapsed .sidebar-ai-card{width:40px;height:40px;margin:8px auto 16px;padding:0;align-items:center;justify-content:center;border-radius:12px}.sidebar.collapsed .sidebar-ai-cta,.sidebar.collapsed .sidebar-ai-desc,.sidebar.collapsed .sidebar-ai-title{display:none}}@media (max-height:700px){.sidebar-ai-desc{display:none}.sidebar-ai-card{padding:12px;margin-bottom:12px}}@media (max-height:480px){.sidebar-ai-cta{display:none}}.menu-section-group{margin:0 -8px;padding:0 8px;overflow:hidden;max-height:600px;visibility:visible;transition:max-height .25s var(--nav-ease),visibility 0s}.menu-section-group.nav-collapsed{max-height:0;visibility:hidden;transition:max-height .25s var(--nav-ease),visibility 0s linear .25s}button.menu-section-label--toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:inherit;text-align:left;position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:30px;min-height:30px;margin:20px 0 2px;padding:0 10px 0 19px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--nav-heading);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:color .15s ease}button.menu-section-label--toggle:hover{color:var(--nav-text-hover)}button.menu-section-label--toggle:focus-visible{outline:2px solid var(--nav-focus);outline-offset:-2px;box-shadow:none}.menu-section-label--toggle .menu-text{margin-left:0;line-height:18px}.menu-section-chevron{width:12px;height:12px;flex:0 0 12px;stroke-width:2.25;opacity:.55;transition:transform .2s var(--nav-ease),opacity .15s ease}.menu-section-label--toggle:hover .menu-section-chevron{opacity:1}.menu-section-label--toggle.section-open .menu-section-chevron{transform:rotate(90deg)}.menu-section-label--toggle.has-active:not(.section-open):after{content:"";position:absolute;right:30px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--nav-indicator)}button.menu-item{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:inherit;text-align:left;touch-action:manipulation}.menu-item{position:relative;display:flex;align-items:center;width:100%;height:var(--nav-item-h);min-height:var(--nav-item-h);margin:0 0 2px;padding:0 8px 0 19px;border-radius:10px;color:var(--nav-text);font-size:13.5px;font-weight:500;letter-spacing:-.005em;line-height:1.2;white-space:nowrap;cursor:pointer;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.menu-item>*,.menu-section-label--toggle>*{pointer-events:none}@media (hover:hover){.menu-item:hover{background:var(--nav-hover-bg);color:var(--nav-text-hover)}}.menu-item:not(.active):active{background:var(--nav-press-bg);color:var(--nav-text-hover)}.menu-item.active:active{background:var(--nav-active-press)}.menu-item.active,.menu-item.active:hover{background:var(--nav-active-bg);color:var(--nav-active-fg);font-weight:600;box-shadow:none}.menu-item.active .icon{color:var(--nav-icon-active)}@media (hover:hover){.menu-item:hover:not(.active) .icon{color:var(--nav-text-hover)}}.menu-item.active .menu-text{letter-spacing:-.01em}.menu-item.active:focus-visible,.menu-item:focus-visible{outline:2px solid var(--nav-focus);outline-offset:-2px;box-shadow:none}.menu-item:focus-visible:not(.active){background:var(--nav-hover-bg);color:var(--nav-text-hover)}.menu-item:focus-visible:not(.active) .icon{color:var(--nav-text-hover)}.menu-item .icon,.menu-item svg{display:block;width:18px;height:18px;flex:0 0 18px;stroke-width:1.75;color:var(--nav-icon);transition:color .16s ease}.menu-item.active svg{color:var(--nav-icon-active)}.menu-text{flex:1 1 auto;min-width:0;max-width:220px;margin-left:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;opacity:1;transition:opacity .16s ease,max-width .28s var(--nav-ease),margin-left .28s var(--nav-ease)}@media (min-width:992px){.sidebar.collapsed .menu-text{opacity:0;max-width:0;margin-left:0;transition:opacity .1s ease,max-width .28s var(--nav-ease),margin-left .28s var(--nav-ease)}.sidebar.collapsed .menu-section-group.nav-collapsed{max-height:600px;visibility:visible;transition:max-height .25s var(--nav-ease),visibility 0s}.sidebar.collapsed button.menu-section-label--toggle{height:1px;min-height:0;width:auto;margin:10px 19px;padding:0;background:var(--nav-divider);border-radius:1px;pointer-events:none;overflow:hidden}.sidebar.collapsed .menu-section-label--toggle .menu-section-chevron,.sidebar.collapsed .menu-section-label--toggle .menu-text,.sidebar.collapsed .menu-section-label--toggle:after{display:none}}.nav-tooltip{position:fixed;left:0;top:0;z-index:var(--z-tooltip,9999);padding:6px 10px;border-radius:8px;background:var(--nav-tip-bg);color:var(--nav-tip-fg);font-family:Plus Jakarta Sans,sans-serif;font-size:12.5px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 6px 18px rgba(26,29,58,.18);pointer-events:none;opacity:0;visibility:hidden;transform:translate(-4px,-50%);transition:opacity .14s ease,transform .14s var(--nav-ease),visibility 0s linear .14s}.nav-tooltip-section{display:block;margin-top:3px;font-size:11px;font-weight:500;letter-spacing:.02em;opacity:.62}.nav-tooltip.show{opacity:1;visibility:visible;transform:translateY(-50%);transition-delay:0s}.nav-tooltip:before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:2px;background:inherit;transform:rotate(45deg)}@media (max-width:991.98px){.sidebar .brand-container,.sidebar.collapsed .brand-container{height:60px;padding:0 12px 0 26px}.sidebar .brand-rest,.sidebar .brand-text,.sidebar.collapsed .brand-rest,.sidebar.collapsed .brand-text{opacity:1;max-width:none}.sidebar .sidebar-nav{padding:4px 12px max(24px,env(safe-area-inset-bottom))}.sidebar .menu-item,.sidebar.collapsed .menu-item{height:48px;min-height:48px;padding:0 14px;font-size:14.5px}.sidebar .menu-text,.sidebar.collapsed .menu-text{opacity:1;max-width:none;margin-left:12px}.sidebar button.menu-section-label--toggle{height:36px;padding:0 14px}.sidebar .menu-section-label--toggle .menu-text{margin-left:0}.nav-tooltip{display:none}.sidebar:not(.mobile-open){visibility:hidden;transition:transform .25s var(--nav-ease),visibility 0s linear .25s}.sidebar.mobile-open{visibility:visible;transition:transform .25s var(--nav-ease),visibility 0s}}@media (forced-colors:active){.menu-item.active{outline:2px solid Highlight;outline-offset:-2px}.menu-item:focus-visible,.sidebar .sidebar-toggle-btn:focus-visible,button.menu-section-label--toggle:focus-visible{outline:3px solid CanvasText;outline-offset:-3px}}@media (prefers-reduced-motion:reduce){.brand-container,.brand-rest,.brand-text,.menu-item,.menu-section-chevron,.menu-section-group,.menu-text,.nav-tooltip,.sidebar,.sidebar .sidebar-toggle-btn svg,button.menu-section-label--toggle{transition-duration:.01ms!important;transition-delay:0s!important}}.page-title:has(>.ph-avatar){display:flex;align-items:center;gap:12px}.ph-avatar{width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:15px;font-weight:700;background:var(--purple-accent,#EEEBFF);color:var(--purple-text,#5443E0);border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent)}.ph-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.is-student-portal-view .page-title-subtitle{gap:8px;font-weight:500}.ph-code,.ph-meta{color:var(--text-muted)}.ph-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.ph-dot{width:3px;height:3px;border-radius:50%;background:var(--text-faint,#9AA0C0);flex:none}#main-header.is-student-portal-view #sp-back-to-students-btn{order:-1;opacity:1;margin-right:var(--space-3,10px)}#main-header.is-student-portal-view #sp-manage-enrollment-btn,#main-header.is-student-portal-view #sp-pay-invoice-btn{display:none!important}@media (min-width:961px){.is-student-portal-view .search-wrapper:not(.active) .search-kbd-hint{display:inline-flex}}html:not([data-theme=dark]) :is(#sp-root,#clp-root,#tup-root){--text-muted:#565C82;--text-faint:#565C82}:is(#sp-root,#clp-root,#tup-root){--card-pad:0px}#clp-root{--card-pad:var(--space-5,20px)}#tup-root{--card-pad:var(--card-size-lg-padding,26px)}#clp-root #clp-emploi{--card-pad:0px}:is(#sp-root,#clp-root,#tup-root) .sp-card-title{font-size:16px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.005em!important;color:var(--text-main)!important;padding:16px 22px!important;margin:0!important;min-height:56px;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap;gap:8px 12px!important;border-bottom:1px solid var(--card-border)!important}:is(#sp-root,#clp-root,#tup-root) .card>.sp-card-title:first-child{margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 0!important}:is(#sp-root,#clp-root,#tup-root) .sp-card-title>.badge-nature,:is(#sp-root,#clp-root,#tup-root) .sp-card-title>.btn-baserow,:is(#sp-root,#clp-root,#tup-root) .sp-card-title>.clp-stu-summary,:is(#sp-root,#clp-root,#tup-root) .sp-card-title>.sp-crit-pill,:is(#sp-root,#clp-root,#tup-root) .sp-card-title>a,:is(#sp-root,#clp-root,#tup-root) .sp-card-title>button{margin-left:auto;flex-shrink:0}:is(#sp-root,#clp-root,#tup-root) .sp-card-title .badge-nature{font-size:12px!important;font-weight:600!important;line-height:1.4}:is(#sp-root,#clp-root,#tup-root) .sp-card-title .btn-baserow,:is(#sp-root,#clp-root,#tup-root) .sp-card-title button.btn-baserow{font-size:13px!important;padding:5px 12px!important;min-height:30px}:is(#sp-root,#clp-root,#tup-root) .sp-card-title+.sp-doc-row,:is(#sp-root,#clp-root,#tup-root) .sp-card-title+.sp-emploi-list>:first-child,:is(#sp-root,#clp-root,#tup-root) .sp-card-title+.sp-exam-list>.sp-exam-line:first-child,:is(#sp-root,#clp-root,#tup-root) .sp-card-title+.sp-history-list>.sp-history-row:first-child{border-top:none!important}:is(#sp-root,#clp-root,#tup-root) .sp-timeline-label{padding:12px 22px 6px!important}:is(#sp-root,#clp-root,#tup-root) .sp-pay-subtitle{padding:8px 22px 12px!important;margin-top:0!important}:is(#sp-root,#clp-root,#tup-root) .clp-cren-headrow,:is(#sp-root,#clp-root,#tup-root) .clp-enr-label,:is(#sp-root,#clp-root,#tup-root) .clp-hero-eyebrow,:is(#sp-root,#clp-root,#tup-root) .clp-identity-eyebrow,:is(#sp-root,#clp-root,#tup-root) .clp-owe-actions .clp-quick-action,:is(#sp-root,#clp-root,#tup-root) .clp-stu-details>div[data-label]:before,:is(#sp-root,#clp-root,#tup-root) .clp-summary-label,:is(#sp-root,#clp-root,#tup-root) .clp-today-tag,:is(#sp-root,#clp-root,#tup-root) .sp-crit-pill,:is(#sp-root,#clp-root,#tup-root) .sp-emploi-datebadge-month,:is(#sp-root,#clp-root,#tup-root) .sp-enr-label,:is(#sp-root,#clp-root,#tup-root) .sp-exam-details-btn,:is(#sp-root,#clp-root,#tup-root) .sp-exam-type,:is(#sp-root,#clp-root,#tup-root) .sp-fact-label,:is(#sp-root,#clp-root,#tup-root) .sp-journey-chip-label,:is(#sp-root,#clp-root,#tup-root) .sp-journey-label,:is(#sp-root,#clp-root,#tup-root) .sp-pay-cell-label,:is(#sp-root,#clp-root,#tup-root) .sp-receipt-foot,:is(#sp-root,#clp-root,#tup-root) .sp-timeline-label,:is(#sp-root,#clp-root,#tup-root) .sp-week-tab-name{font-size:12px!important}:is(#sp-root,#clp-root,#tup-root) .clp-tl-when small,:is(#sp-root,#clp-root,#tup-root) .sp-doc-meta,:is(#sp-root,#clp-root,#tup-root) .sp-doc-status-muted,:is(#sp-root,#clp-root,#tup-root) .sp-enroll-debt span,:is(#sp-root,#clp-root,#tup-root) .sp-exam-date,:is(#sp-root,#clp-root,#tup-root) .sp-exam-ref,:is(#sp-root,#clp-root,#tup-root) .sp-history-date,:is(#sp-root,#clp-root,#tup-root) .sp-history-sub,:is(#sp-root,#clp-root,#tup-root) .sp-pay-status-amount span,:is(#sp-root,#clp-root,#tup-root) .sp-session-time span,:is(#sp-root,#clp-root,#tup-root) .sp-week-row-time{font-size:13px!important}:is(#sp-root,#clp-root,#tup-root) [style*="font-size: 10.5px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size: 10px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size: 11.5px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size: 11px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size:10.5px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size:10px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size:11.5px"],:is(#sp-root,#clp-root,#tup-root) [style*="font-size:11px"]{font-size:12px!important}:is(#sp-root,#clp-root,#tup-root) .sp-exam-line--past .sp-exam-date,:is(#sp-root,#clp-root,#tup-root) .sp-exam-line--past .sp-exam-ref,:is(#sp-root,#clp-root,#tup-root) .sp-exam-line--past .sp-exam-title{opacity:1!important}:is(#sp-root,#clp-root,#tup-root) .sp-exam-line--past .sp-exam-title{color:var(--text-muted)}:is(#sp-root,#clp-root,#tup-root) .clp-owe-head,:is(#sp-root,#clp-root,#tup-root) .clp-stu-head,:is(#sp-root,#clp-root,#tup-root) table th{font-size:13px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;color:var(--text-muted)!important}:is(#sp-root,#clp-root,#tup-root) .sp-tabs{gap:6px;border-bottom:1px solid var(--card-border)}:is(#sp-root,#clp-root,#tup-root) .sp-tab-btn{font-size:14px!important;font-weight:500!important;line-height:1.2!important;color:var(--text-muted)!important;background:transparent!important;box-shadow:none!important;border:none!important;border-bottom:3px solid transparent!important;border-radius:0!important;padding:11px 6px 10px!important;margin:0 12px 0 0!important;transition:color .15s,border-color .15s}:is(#sp-root,#clp-root,#tup-root) .sp-tab-btn:after{display:none!important}:is(#sp-root,#clp-root,#tup-root) .sp-tab-btn:not(.sp-tab-btn--active):hover{color:var(--text-main)!important;border-bottom-color:color-mix(in srgb,var(--color-primary) 35%,transparent)!important}:is(#sp-root,#clp-root,#tup-root) .sp-tab-btn.sp-tab-btn--active{color:var(--text-main)!important;font-weight:700!important;border-bottom-color:var(--color-primary)!important}:is(#sp-root,#clp-root,#tup-root) .sp-tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:4px!important}@media (max-width:767.98px){#clp-root{--card-pad:16px}#clp-root #clp-documents,#clp-root #clp-emploi,#clp-root #clp-examens,#clp-root #clp-payments,#tup-root #clp-emploi,#tup-root #clp-examens,#tup-root #clp-payments,#tup-root #tup-classes{--card-pad:0px}:is(#sp-root,#clp-root,#tup-root) .sp-card-title{padding:14px 16px!important;min-height:52px}:is(#sp-root,#clp-root,#tup-root) .sp-timeline-label{padding:10px 16px 6px!important}:is(#sp-root,#clp-root,#tup-root) .sp-pay-subtitle{padding:8px 16px 10px!important}}#sp-root .sp-dash{display:grid;grid-template-columns:minmax(0,1fr) 304px;grid-gap:20px;gap:20px;align-items:start}#sp-root .sp-dash-main,#sp-root .sp-dash-rail{display:flex;flex-direction:column;gap:20px;min-width:0}#sp-root .sp-dash-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:20px;gap:20px}#sp-root .sp-dcard{background:var(--card-bg);border:1px solid color-mix(in srgb,var(--card-border) 55%,transparent);border-radius:var(--radius-lg,18px);box-shadow:0 4px 20px rgba(99,102,241,.06);padding:20px 22px;min-width:0}#sp-root .sp-dtitle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:var(--text-main);margin-bottom:14px}#sp-root .sp-dsub{font-size:12px;font-weight:500;color:var(--text-muted)}#sp-root .sp-count{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#sp-root .sp-link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 2px;font:inherit;font-size:12px;font-weight:700;color:var(--color-primary);cursor:pointer;white-space:nowrap}#sp-root .sp-link:hover{text-decoration:underline}#sp-root .sp-link i,#sp-root .sp-link svg{width:14px;height:14px}#sp-root .sp-tile{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}#sp-root .sp-tile--lg{width:44px;height:44px;flex-basis:44px;border-radius:13px}#sp-root .sp-tile i,#sp-root .sp-tile svg{width:18px;height:18px}#sp-root .sp-tile--primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#sp-root .sp-tile--success{background:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success)}#sp-root .sp-tile--warn{background:color-mix(in srgb,var(--color-warning) 16%,transparent);color:var(--color-warning)}#sp-root .sp-tile--danger{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}#sp-root .sp-tile--info{background:color-mix(in srgb,var(--color-info) 14%,transparent);color:var(--color-info)}#sp-root .sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm,10px);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}#sp-root .sp-btn--sm{padding:6px 12px;font-size:12px;flex-shrink:0}#sp-root .sp-btn i,#sp-root .sp-btn svg{width:15px;height:15px}#sp-root .sp-btn--primary{background:var(--color-primary);border:1px solid transparent;color:var(--on-primary-text,#fff);box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 28%,transparent)}#sp-root .sp-btn--primary:hover{transform:translateY(-1px)}#sp-root .sp-btn--ghost{background:transparent;border:1px solid var(--control-border,var(--card-border));color:var(--text-main)}#sp-root .sp-btn--ghost:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}#sp-root .sp-bigline{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}#sp-root .sp-bigval{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-trend{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}#sp-root .sp-trend i,#sp-root .sp-trend svg{width:13px;height:13px}#sp-root .sp-trend.is-up{background:color-mix(in srgb,var(--color-success) 14%,transparent)}#sp-root .sp-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:10px;gap:10px;flex:1 1;min-height:150px;margin-top:16px}#sp-root .sp-bar-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}#sp-root .sp-bar-track{flex:1 1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--card-border)}#sp-root .sp-bar{width:100%;max-width:34px;border-radius:8px 8px 4px 4px;background:color-mix(in srgb,var(--color-primary) 22%,transparent);transition:height .5s ease}#sp-root .sp-bar.is-peak{background:var(--color-primary)}#sp-root .sp-bar-lbl{font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-bar-col.is-current .sp-bar-lbl{color:var(--color-primary);font-weight:700}#sp-root .sp-donut-wrap{position:relative;width:148px;height:148px;margin:2px auto 14px}#sp-root .sp-donut{width:100%;height:100%;display:block}#sp-root .sp-donut-bg{fill:none;stroke:color-mix(in srgb,var(--color-primary) 14%,transparent);stroke-width:10}#sp-root .sp-donut-fg{stroke:var(--color-primary);stroke-width:10}#sp-root .sp-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#sp-root .sp-donut-pct{font-size:26px;letter-spacing:-.02em;color:var(--text-main)}#sp-root .sp-donut-lbl{font-size:11px;color:var(--text-muted)}#sp-root .sp-lvl-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--card-border)}#sp-root .sp-lvl-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;line-height:1.25}#sp-root .sp-lvl-txt b{font-size:15px;font-weight:800;color:var(--text-main)}#sp-root .sp-lvl-txt small{font-size:11.5px;color:var(--text-muted)}#sp-root .sp-lvl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:16px}#sp-root .sp-lvl-card{cursor:pointer;border:1px solid var(--card-border);border-radius:16px;overflow:hidden;background:var(--surface-solid,var(--card-bg));transition:transform .15s ease,box-shadow .15s ease}#sp-root .sp-lvl-card:focus-visible,#sp-root .sp-lvl-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(31,35,80,.22);outline:none}#sp-root .sp-lvl-head{position:relative;height:92px;display:flex;align-items:center;justify-content:center}#sp-root .sp-lvl-head>i,#sp-root .sp-lvl-head>svg{width:34px;height:34px}#sp-root .sp-lvl-head--primary{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 20%,transparent),color-mix(in srgb,var(--color-primary) 6%,transparent));color:var(--color-primary)}#sp-root .sp-lvl-head--success{background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 20%,transparent),color-mix(in srgb,var(--color-success) 6%,transparent));color:var(--color-success)}#sp-root .sp-lvl-head--warn{background:linear-gradient(135deg,color-mix(in srgb,var(--color-warning) 22%,transparent),color-mix(in srgb,var(--color-warning) 6%,transparent));color:var(--color-warning)}#sp-root .sp-lvl-badge{position:absolute;right:10px;bottom:10px;background:#1A1D3A;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}#sp-root .sp-lvl-body{padding:14px 14px 12px;display:flex;flex-direction:column;gap:8px}#sp-root .sp-lvl-name{font-size:13.5px;font-weight:700;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .sp-lvl-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--card-border);font-size:12px;color:var(--text-muted)}#sp-root .sp-lvl-tutor{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .sp-mini-av{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}#sp-root .sp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}#sp-root .sp-stat{display:flex;align-items:center;gap:12px;min-width:0}#sp-root .sp-stat-val{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--radius-lg,18px);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 14%,var(--card-bg)),var(--card-bg));border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent)}#sp-root .sp-banner-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}#sp-root .sp-banner-txt b{font-size:14.5px;font-weight:800;color:var(--text-main)}#sp-root .sp-pay-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:28px;gap:28px;align-items:center}#sp-root .sp-pay-line{font-size:12.5px;font-weight:700}#sp-root .sp-pay-amount{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-seg{height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--color-warning) 22%,transparent)}#sp-root .sp-seg.is-done{background:color-mix(in srgb,var(--color-success) 22%,transparent)}#sp-root .sp-seg-paid{display:block;height:100%;border-radius:999px;background:var(--color-success);transition:width .6s ease}#sp-root .sp-pay-legend{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:12px;color:var(--text-muted)}#sp-root .sp-pay-legend b{color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pay-actions{display:flex;flex-direction:column;gap:8px}#sp-root .sp-profile{text-align:center;padding:0 22px 20px;overflow:hidden}#sp-root .sp-profile-banner{height:68px;margin:0 -22px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 28%,transparent),color-mix(in srgb,var(--color-warning) 16%,transparent))}#sp-root .sp-profile-av{width:64px;height:64px;margin:-32px auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;background:var(--color-primary);color:var(--on-primary-text,#fff);border:3px solid var(--surface-solid,var(--card-bg));position:relative}#sp-root .sp-profile-name{font-size:16px;font-weight:800;color:var(--text-main)}#sp-root .sp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}#sp-root .sp-cal-title{font:inherit;font-size:14px;font-weight:700;color:var(--text-main)}#sp-root .sp-cal-nav,#sp-root .sp-cal-title{border:none;background:transparent;cursor:pointer}#sp-root .sp-cal-nav{width:28px;height:28px;border-radius:8px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}#sp-root .sp-cal-nav:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}#sp-root .sp-cal-nav i,#sp-root .sp-cal-nav svg{width:16px;height:16px}#sp-root .sp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center}#sp-root .sp-cal-dow{font-size:11px;font-weight:600;color:var(--text-faint,var(--text-muted));padding:4px 0}#sp-root .sp-cal-day{position:relative;height:34px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:var(--text-main);border-radius:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-cal-day.is-today{background:var(--color-primary);color:var(--on-primary-text,#fff)}#sp-root .sp-cal-day.has-ev:after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--color-primary)}#sp-root .sp-cal-day.has-ev.ev-past:after{background:var(--text-faint,var(--text-muted))}#sp-root .sp-cal-day.is-today.has-ev:after{background:var(--on-primary-text,#fff)}#sp-root .sp-next-mini{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--card-border)}#sp-root .sp-next-mini-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}#sp-root .sp-next-mini-txt b{font-size:13px;font-weight:700;color:var(--text-main)}#sp-root .sp-next-mini.is-live .sp-tile{background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--color-success)}#sp-root .sp-todo-item{border-top:1px solid var(--card-border)}#sp-root .sp-todo-item:first-of-type{border-top:none}#sp-root .sp-todo-row{display:flex;align-items:center;gap:12px;padding:12px 0}#sp-root .sp-todo-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}#sp-root .sp-todo-txt b{font-size:13px;font-weight:700;color:var(--text-main)}#sp-root .sp-todo-val{font-size:12.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1180px){#sp-root .sp-dash{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){#sp-root .sp-dash-row{grid-template-columns:minmax(0,1fr)}#sp-root .sp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#sp-root .sp-pay-body{grid-template-columns:minmax(0,1fr);gap:16px}#sp-root .sp-pay-actions{flex-direction:row;flex-wrap:wrap}#sp-root .sp-banner{flex-wrap:wrap}}#sp-root .sp-dcard{border-radius:20px;padding:22px 24px;border-color:color-mix(in srgb,var(--card-border) 45%,transparent);box-shadow:0 2px 4px rgba(26,29,58,.03),0 14px 32px -14px rgba(99,102,241,.16)}#sp-root .sp-dtitle{font-size:16px;margin-bottom:12px}#sp-root .sp-select{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border:1px solid var(--card-border);border-radius:10px;font-size:12.5px;font-weight:600;color:var(--text-main);background:var(--surface-solid,var(--card-bg));white-space:nowrap}#sp-root .sp-select i,#sp-root .sp-select svg{width:14px;height:14px;color:var(--text-muted)}#sp-root .sp-trendrow{margin:0 0 8px}#sp-root .sp-bigval{font-size:34px}#sp-root .sp-chart{display:grid;grid-template-columns:auto minmax(0,1fr);grid-column-gap:12px;column-gap:12px;margin-top:20px}#sp-root .sp-yaxis{display:flex;flex-direction:column;justify-content:space-between;height:176px;margin:-8px 0;text-align:right;font-size:11.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-yaxis span{line-height:16px}#sp-root .sp-plot{position:relative;height:176px}#sp-root .sp-pgrid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}#sp-root .sp-pgrid i{display:block;height:0;border-top:1px dashed var(--card-border)}#sp-root .sp-pgrid i:last-child{border-top-style:solid}#sp-root .sp-pbars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end;padding:0 4px}#sp-root .sp-pbar{width:100%;max-width:40px;min-height:3px;justify-self:center;border-radius:10px 10px 0 0;background:color-mix(in srgb,var(--color-primary) 32%,transparent);transition:height .5s ease}#sp-root .sp-pbar.is-peak{background:var(--color-primary)}#sp-root .sp-xlbls{grid-column:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:10px;gap:10px;padding:0 4px;margin-top:10px;text-align:center;font-size:11.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-xlbls .is-current{color:var(--color-primary);font-weight:700}#sp-root .sp-donut-wrap{width:168px;height:168px}#sp-root .sp-donut-bg,#sp-root .sp-donut-fg{stroke-width:11}#sp-root .sp-donut-pct{font-size:30px}#sp-root .sp-lvl-row .sp-tile{width:40px;height:40px;flex-basis:40px;border-radius:50%}#sp-root .sp-lvl-row .sp-link{font-weight:600}#sp-root .sp-pillbtn{border:none;border-radius:999px;padding:6px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);cursor:pointer}#sp-root .sp-pillbtn:hover{background:color-mix(in srgb,var(--color-primary) 16%,transparent)}#sp-root .sp-lrow{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}#sp-root .sp-ltabs{display:flex}#sp-root .sp-ltab{background:none;font:inherit;font-size:13px;font-weight:600;color:var(--text-muted);padding:6px 0;border:none;border-bottom:2px solid transparent;cursor:pointer}#sp-root .sp-ltab.is-on{color:var(--color-primary);border-bottom-color:var(--color-primary)}#sp-root .sp-larrows{display:flex}#sp-root .sp-arrow{width:32px;height:32px;border:1px solid var(--card-border);border-radius:10px;background:transparent;color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}#sp-root .sp-arrow:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}#sp-root .sp-arrow i,#sp-root .sp-arrow svg{width:16px;height:16px}#sp-root .sp-lvl-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}#sp-root .sp-lvl-grid::-webkit-scrollbar{display:none}#sp-root .sp-lvl-card{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 32px) / 3);min-width:210px;scroll-snap-align:start;border-radius:18px}#sp-root .sp-lvl-head{height:112px}#sp-root .sp-lvl-ill{width:58px;height:58px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface-solid,var(--card-bg)) 75%,transparent);box-shadow:0 8px 18px -10px currentColor}#sp-root .sp-lvl-ill i,#sp-root .sp-lvl-ill svg{width:28px;height:28px}#sp-root .sp-lvl-state{display:none}#sp-root .sp-lvl-name{white-space:normal;font-size:14.5px;line-height:1.3;min-height:38px}#sp-root .sp-lvl-foot{border-top:none;padding-top:0}#sp-root .sp-profile{padding:0 24px 22px}#sp-root .sp-profile-banner{height:88px;margin:0 -24px;background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary) 24%,transparent),color-mix(in srgb,var(--color-warning) 10%,transparent))}#sp-root .sp-profile-av{width:76px;height:76px;margin:-38px auto 10px;font-size:24px;border-width:4px}#sp-root .sp-online{position:absolute;right:2px;bottom:4px;width:14px;height:14px;border-radius:50%;background:var(--color-success);border:2px solid var(--surface-solid,var(--card-bg))}#sp-root .sp-cal{margin-top:16px;padding:14px 12px 10px;border:1px solid var(--card-border);border-radius:16px}#sp-root .sp-cal-day{width:32px;height:32px;margin:0 auto;border-radius:50%}#sp-root .sp-cal-day.is-out{color:var(--text-faint,var(--text-muted));opacity:.5}#sp-root .sp-cal-day.has-ev:after{bottom:3px}#sp-root .sp-plan-add{width:34px;height:34px;border:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);cursor:pointer}#sp-root .sp-plan-add i,#sp-root .sp-plan-add svg{width:18px;height:18px}#sp-root .sp-plan-row{display:flex;align-items:center;gap:12px;padding:9px 0}#sp-root .sp-check{width:20px;height:20px;flex:0 0 20px;border:1.5px solid var(--control-border,var(--card-border));border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--on-primary-text,#fff)}#sp-root .sp-check.is-done{background:var(--color-primary);border-color:var(--color-primary)}#sp-root .sp-check i,#sp-root .sp-check svg{width:13px;height:13px}#sp-root .sp-plan-txt{display:flex;flex-direction:column;gap:1px;min-width:0}#sp-root .sp-plan-txt b{font-size:13.5px;font-weight:700;color:var(--text-main)}#sp-root .sp-plan-foot{display:flex;margin-top:8px}#sp-root .sp-achv-slide{display:none;align-items:center;gap:14px}#sp-root .sp-achv-slide.is-on{display:flex}#sp-root .sp-achv-badge{width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--on-primary-text,#fff);background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 60%,#fff));box-shadow:0 0 0 5px color-mix(in srgb,var(--color-primary) 14%,transparent)}#sp-root .sp-achv-txt{display:flex;flex-direction:column;gap:2px;min-width:0}#sp-root .sp-achv-txt b{font-size:14px;font-weight:800;color:var(--text-main)}#sp-root .sp-pgs{display:flex;justify-content:center;gap:6px;margin-top:16px}#sp-root .sp-pg{width:6px;height:6px;padding:0;border:none;border-radius:50%;background:var(--card-border);cursor:pointer}#sp-root .sp-pg.is-on{background:var(--color-primary)}@media (max-width:760px){#sp-root .sp-lvl-card{flex-basis:78%}#sp-root .sp-lrow{flex-wrap:wrap}}#main-header.is-student-portal-view{gap:20px;margin-bottom:18px}#main-header.is-student-portal-view #header-title-actions-row{gap:20px 32px;padding:22px 28px;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--card-border) 45%,transparent);border-radius:20px;box-shadow:0 2px 4px rgba(26,29,58,.03),0 14px 32px -14px rgba(99,102,241,.16);justify-content:space-between}#main-header.is-student-portal-view .header-title-row{gap:16px;min-width:0}#main-header.is-student-portal-view .page-title{font-size:24px;font-weight:800;letter-spacing:-.02em}#main-header.is-student-portal-view .page-title-subtitle{font-size:14px;font-weight:500;margin-top:4px}#main-header.is-student-portal-view #header-filters-row{display:none}#main-header.is-student-portal-view #header-toolbar-row{gap:14px;flex-wrap:wrap}#main-header.is-student-portal-view #search-calendar-row{flex:1 1 280px;max-width:420px;gap:12px;order:0}#main-header.is-student-portal-view .search-wrapper{flex:1 1 auto;min-height:44px;padding:0 8px 0 6px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 4%,var(--control-bg));border:1px solid var(--card-border);overflow:visible}#main-header.is-student-portal-view .search-wrapper .search-input{flex:1 1 auto;width:auto;min-width:0;padding:10px 12px 10px 0;opacity:1}#main-header.is-student-portal-view .search-wrapper .search-icon-btn{opacity:.7}#main-header.is-student-portal-view .search-voice-btn{display:none}#main-header.is-student-portal-view #header-actions-row{margin-left:0;padding-left:16px;gap:12px}#main-header.is-student-portal-view #sp-pay-invoice-btn{margin-left:0;padding-left:0;border-left:none}#main-header.is-student-portal-view .btn-baserow{min-height:42px;padding:0 16px;border-radius:12px}#sp-root .sp-tabs{margin-top:4px;margin-bottom:16px;gap:10px}#sp-root .sp-dash,#sp-root .sp-dash-main,#sp-root .sp-dash-rail,#sp-root .sp-dash-row{gap:28px}#sp-root .sp-dcard{padding:28px 30px}#sp-root .sp-dtitle{margin-bottom:20px}#sp-root .sp-trendrow{margin-bottom:12px}#sp-root .sp-chart{margin-top:28px}#sp-root .sp-plot,#sp-root .sp-yaxis{height:200px}#sp-root .sp-xlbls{margin-top:14px}#sp-root .sp-donut-wrap{margin:8px auto 24px}#sp-root .sp-lvl-row{padding:14px 0;gap:14px}#sp-root .sp-lrow{margin-bottom:22px}#sp-root .sp-lvl-grid{gap:22px;padding-bottom:4px}#sp-root .sp-lvl-card{flex-basis:calc((100% - 44px) / 3)}#sp-root .sp-lvl-head{height:124px}#sp-root .sp-lvl-body{padding:18px 18px 16px;gap:12px}#sp-root .sp-stats{gap:24px}#sp-root .sp-stat{gap:16px}#sp-root .sp-pay-body{gap:36px}#sp-root .sp-banner{padding:20px 26px;gap:18px}#sp-root .sp-profile{padding:0 30px 28px}#sp-root .sp-profile-banner{margin:0 -30px;height:96px}#sp-root .sp-cal{margin-top:24px;padding:18px 16px 14px}#sp-root .sp-cal-head{margin-bottom:14px}#sp-root .sp-cal-grid{row-gap:6px}#sp-root .sp-plan-row{padding:12px 0;gap:14px}#sp-root .sp-plan-foot{margin-top:12px}#sp-root .sp-todo-row{padding:16px 0;gap:14px}#sp-root .sp-achv-slide{gap:16px}#sp-root .sp-pgs{margin-top:20px}@media (max-width:900px){#main-header.is-student-portal-view #header-title-actions-row{padding:18px 20px}#main-header.is-student-portal-view #search-calendar-row{max-width:100%;flex-basis:100%}#main-header.is-student-portal-view #header-actions-row{padding-left:0}}@media (max-width:760px){#sp-root .sp-dash,#sp-root .sp-dash-main,#sp-root .sp-dash-rail,#sp-root .sp-dash-row{gap:20px}#sp-root .sp-dcard{padding:20px}#sp-root .sp-profile{padding:0 20px 22px}#sp-root .sp-profile-banner{margin:0 -20px}#sp-root .sp-lvl-card{flex-basis:78%}}#sp-root #sp-progress-compact .sp-lvl-row{padding:14px 0;gap:14px}#sp-root #sp-progress-compact .sp-lvl-row .sp-tile{width:44px;height:44px;flex-basis:44px;border-radius:13px}#sp-root #sp-progress-compact .sp-lvl-row .sp-tile i,#sp-root #sp-progress-compact .sp-lvl-row .sp-tile svg{width:20px;height:20px}#sp-root #sp-progress-compact .sp-lvl-txt b{font-weight:800;line-height:1.15}#sp-root #sp-progress-compact .sp-lvl-txt small{font-size:12.5px}#sp-root #sp-progress-compact .sp-link{font-size:13px;font-weight:600}#sp-root #sp-progress-compact .sp-donut-wrap{margin:4px auto 22px}#sp-root #sp-progress-compact .sp-donut-center{gap:2px}#sp-root .sp-ac{display:flex;flex-direction:column;gap:14px}#sp-root .sp-ac-item{--tc:var(--color-primary);display:grid;grid-template-columns:46px 12px minmax(0,1fr);grid-column-gap:6px;column-gap:6px;align-items:start}#sp-root .sp-ac-item--danger{--tc:var(--color-danger)}#sp-root .sp-ac-item--warn{--tc:var(--color-warning)}#sp-root .sp-ac-time{padding-top:14px;font-size:11px;font-weight:600;line-height:1.2;text-align:right;color:var(--text-muted)}#sp-root .sp-ac-rail{position:relative;align-self:stretch}#sp-root .sp-ac-rail:before{content:"";position:absolute;left:50%;bottom:-14px;width:2px;margin-left:-1px;background:color-mix(in srgb,var(--tc) 30%,transparent)}#sp-root .sp-ac-item:first-child .sp-ac-rail:before{top:19px}#sp-root .sp-ac-item:last-child .sp-ac-rail:before{bottom:auto;height:19px;top:0}#sp-root .sp-ac-item:first-child:last-child .sp-ac-rail:before{display:none}#sp-root .sp-ac-dot{position:absolute;left:50%;top:15px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--tc);box-shadow:0 0 0 3px var(--card-bg)}#sp-root .sp-ac-card{display:flex;flex-direction:column;min-width:0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--tc) 20%,transparent);background:color-mix(in srgb,var(--tc) 9%,var(--card-bg))}#sp-root .sp-ac-head{display:flex;align-items:flex-start;justify-content:space-between}#sp-root .sp-ac-txt{display:flex;flex-direction:column;gap:3px;min-width:0}#sp-root .sp-ac-txt b{font-size:13.5px;line-height:1.3;color:color-mix(in srgb,var(--tc) 78%,var(--text-main))}#sp-root .sp-ac-ic{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 16%,var(--card-bg))}#sp-root .sp-ac-ic i,#sp-root .sp-ac-ic svg{width:17px;height:17px}#sp-root .sp-ac-card .sp-btn{align-self:flex-start}#sp-root .sp-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:4px}#sp-root .sp-sum-tile{--tc:var(--color-primary);display:flex;flex-direction:column;gap:14px;min-width:0;padding:14px 14px 12px;border:1px solid color-mix(in srgb,var(--tc) 18%,transparent);border-radius:16px;background:color-mix(in srgb,var(--tc) 10%,var(--card-bg));font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease}#sp-root .sp-sum-tile:hover{transform:translateY(-1px)}#sp-root .sp-sum-tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#sp-root .sp-sum-tile--warn{--tc:var(--color-warning)}#sp-root .sp-sum-tile--info{--tc:var(--color-info)}#sp-root .sp-sum-top{display:flex;align-items:center;justify-content:space-between;gap:6px}#sp-root .sp-sum-n{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-sum-ic{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--on-primary-text,#fff);background:var(--tc)}#sp-root .sp-sum-ic i,#sp-root .sp-sum-ic svg{width:14px;height:14px}#sp-root .sp-sum-lbl{font-size:12px;font-weight:500;color:var(--text-muted);line-height:1.25}#sp-root .sp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px}#sp-root .sp-kpi2{--kc:var(--color-primary);display:flex;flex-direction:column;gap:6px;min-width:0;padding:22px 22px 18px;border-radius:20px;border:1px solid color-mix(in srgb,var(--kc) 14%,transparent);background:linear-gradient(165deg,color-mix(in srgb,var(--kc) 11%,var(--card-bg)),var(--card-bg) 78%);box-shadow:0 2px 4px rgba(26,29,58,.03),0 14px 30px -16px color-mix(in srgb,var(--kc) 45%,transparent)}#sp-root .sp-kpi2--success{--kc:var(--color-success)}#sp-root .sp-kpi2--info{--kc:var(--color-info)}#sp-root .sp-kpi2--warn{--kc:var(--color-warning)}#sp-root .sp-kpi2-ic{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--kc);background:color-mix(in srgb,var(--kc) 16%,var(--card-bg))}#sp-root .sp-kpi2-ic i,#sp-root .sp-kpi2-ic svg{width:20px;height:20px}#sp-root .sp-kpi2-lbl{font-size:13px;font-weight:600;color:var(--text-main)}#sp-root .sp-kpi2-val{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-kpi2-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:22px;margin-top:4px;font-size:11.5px;color:var(--text-muted)}#sp-root .sp-kpi2 .sp-trend{color:var(--kc);background:color-mix(in srgb,var(--kc) 14%,transparent)}#sp-root .sp-kpi2 .sp-trend.is-down{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}#sp-root .sp-spark{display:block;width:100%;height:40px;margin-top:12px;overflow:visible}#sp-root .sp-spark path{fill:none;stroke:var(--kc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}#sp-root .sp-kpi2-track{height:6px;margin:22px 0 6px;border-radius:999px;background:color-mix(in srgb,var(--kc) 16%,transparent);overflow:hidden}#sp-root .sp-kpi2-track span{display:block;height:100%;border-radius:999px;background:var(--kc);transition:width .6s ease}#sp-root .sp-qa-title{font-size:16px;font-weight:700;color:var(--text-main);margin:4px 0 -8px}#sp-root .sp-qa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px}#sp-root .sp-qa-btn{display:flex;align-items:center;gap:14px;min-width:0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--card-border) 55%,transparent);background:var(--card-bg);box-shadow:0 2px 4px rgba(26,29,58,.03),0 10px 24px -16px rgba(99,102,241,.22);font:inherit;font-size:13.5px;font-weight:600;color:var(--text-main);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}#sp-root .sp-qa-btn:hover{box-shadow:0 2px 4px rgba(26,29,58,.04),0 14px 28px -14px rgba(99,102,241,.32)}#sp-root .sp-qa-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#sp-root .sp-qa-btn .sp-tile{border-radius:12px}#sp-root .sp-qa-btn span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1100px){#sp-root .sp-kpis,#sp-root .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){#sp-root .sp-kpis,#sp-root .sp-qa{gap:16px}#sp-root .sp-kpi2{padding:18px}#sp-root .sp-kpi2-val{font-size:26px}}#sp-root .sp-dash{grid-template-columns:minmax(0,1fr) 380px}#sp-root .sp-dcard,#sp-root .sp-kpi2,#sp-root .sp-lvl-card{border:1px solid color-mix(in srgb,var(--card-border) 28%,transparent);box-shadow:0 1px 2px rgba(26,29,58,.03),0 12px 32px -20px rgba(99,102,241,.16)}#sp-root .sp-kpi2{border-color:color-mix(in srgb,var(--kc) 10%,transparent)}#main-header.is-student-portal-view #header-title-actions-row{border:1px solid color-mix(in srgb,var(--card-border) 28%,transparent);box-shadow:0 1px 2px rgba(26,29,58,.03),0 12px 32px -20px rgba(99,102,241,.16)}#sp-root .sp-lvl-card:focus-visible,#sp-root .sp-lvl-card:hover{box-shadow:0 1px 2px rgba(26,29,58,.04),0 16px 34px -18px rgba(99,102,241,.24)}#sp-root .sp-qa-btn{gap:16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--card-border) 22%,transparent);border-radius:16px;box-shadow:0 1px 2px rgba(26,29,58,.03),0 10px 26px -18px rgba(99,102,241,.2)}#sp-root .sp-qa-btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(26,29,58,.04),0 14px 30px -16px rgba(99,102,241,.28)}#sp-root .sp-qa-btn .sp-tile{width:42px;height:42px;flex-basis:42px;border-radius:50%;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg))}#sp-root .sp-ac{gap:16px}#sp-root .sp-ac-item{grid-template-columns:50px 12px minmax(0,1fr);column-gap:10px}#sp-root .sp-ac-time{padding-top:18px;font-size:11.5px}#sp-root .sp-ac-rail:before{top:0;bottom:-16px}#sp-root .sp-ac-item:first-child .sp-ac-rail:before{top:23px}#sp-root .sp-ac-item:last-child .sp-ac-rail:before{height:23px}#sp-root .sp-ac-dot{top:19px}#sp-root .sp-ac-card{gap:12px;padding:16px 18px;border:none;border-radius:14px;background:color-mix(in srgb,var(--tc) 11%,var(--card-bg))}#sp-root .sp-ac-head{align-items:center}#sp-root .sp-ac-txt b{font-size:14px;font-weight:700}#sp-root .sp-ac-ic{width:38px;height:38px;flex-basis:38px;border-radius:11px}#sp-root .sp-ac-card .sp-btn,#sp-root .sp-ac-ic{background:color-mix(in srgb,var(--tc) 14%,var(--card-bg))}#sp-root .sp-ac-card .sp-btn{padding:6px 14px;color:color-mix(in srgb,var(--tc) 85%,var(--text-main));font-size:12px}#sp-root .sp-ac-card .sp-btn:hover{background:color-mix(in srgb,var(--tc) 22%,var(--card-bg))}#sp-root #sp-payment-status .sp-pay-body{grid-template-columns:minmax(170px,auto) minmax(0,1fr) auto;gap:0;align-items:stretch;padding:24px 0;border-radius:16px;background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg))}#sp-root #sp-payment-status .sp-pay-body>*{padding:0 32px;display:flex;flex-direction:column;justify-content:center}#sp-root #sp-payment-status .sp-pay-mid{gap:14px;border-left:1px solid color-mix(in srgb,var(--card-border) 60%,transparent);border-right:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}#sp-root #sp-payment-status .sp-pay-line{font-size:13px;margin-bottom:4px}#sp-root #sp-payment-status .sp-pay-amount{font-size:32px;margin-bottom:2px}#sp-root .sp-pay-figs{display:flex;align-items:flex-end;gap:28px}#sp-root .sp-pay-fig{display:flex;flex-direction:column;gap:2px}#sp-root .sp-pay-fig small{font-size:12px;color:var(--text-muted)}#sp-root .sp-pay-fig b{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pay-pct{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--color-success)}#sp-root #sp-payment-status .sp-seg{height:12px}#sp-root #sp-payment-status .sp-pay-legend{margin-top:0}#sp-root #sp-payment-status .sp-pay-actions{min-width:190px;gap:10px}#sp-root #sp-payment-status .sp-pay-actions .sp-btn{width:100%;padding:11px 18px;border-radius:12px}@media (max-width:900px){#sp-root #sp-payment-status .sp-pay-body{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 0}#sp-root #sp-payment-status .sp-pay-body>*{padding:0 20px}#sp-root #sp-payment-status .sp-pay-mid{border:none}}#sp-root .sp-dash{grid-template-columns:minmax(0,1fr) 460px}#sp-root .sp-plan-stat{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg))}#sp-root .sp-plan-stat b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-plan-stat span{font-size:13px;font-weight:600;color:var(--text-muted)}#sp-root #sp-payment-status .sp-pay-body{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px 0 20px}#sp-root #sp-payment-status .sp-pay-body>*{padding:0 22px}#sp-root #sp-payment-status .sp-pay-mid{border:none}#sp-root #sp-payment-status .sp-pay-actions{flex-direction:row;flex-wrap:wrap;min-width:0}#sp-root #sp-payment-status .sp-pay-actions .sp-btn{flex:1 1 140px;width:auto}@media (max-width:1100px){#sp-root .sp-dash{grid-template-columns:minmax(0,1fr)}}#sp-root .sp-qa-wrap{display:flex;flex-direction:column;gap:20px;margin-top:32px}#sp-root .sp-qa-wrap .sp-qa-title{margin:0}#sp-root .sp-ptitle{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px}#sp-root .sp-pstat{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.4;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);white-space:nowrap}#sp-root .sp-qa-wrap{margin-top:0;gap:16px}#sp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (max-width:760px){#sp-root .sp-dash-main .sp-qa{grid-template-columns:minmax(0,1fr);gap:14px}}#sp-root .sp-banner,#sp-root .sp-dcard,#sp-root .sp-lvl-card,#sp-root .sp-qa-btn,#sp-root .sp-stat,#sp-root .sp-sum-tile{border-radius:20px}#sp-root .sp-ac-card{border-radius:16px}#sp-root .sp-lvl-head{border-radius:20px 20px 0 0}#sp-root #sp-plan .sp-dtitle{display:flex;align-items:center;justify-content:space-between;gap:12px}#sp-root #sp-plan .sp-pstat{margin-left:auto;padding:5px 12px;font-size:12px;font-weight:700}#sp-root .sp-select--native{position:relative;padding:0;cursor:pointer}#sp-root .sp-select--native select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;outline:none;background:transparent;font:inherit;color:inherit;padding:6px 30px 6px 12px;cursor:pointer}#sp-root .sp-select--native select:focus-visible{box-shadow:0 0 0 2px var(--color-primary);border-radius:10px}#sp-root .sp-select--native i,#sp-root .sp-select--native svg{position:absolute;right:10px;top:50%;margin-top:-7px;pointer-events:none}#sp-root .sp-chart[data-n="12"] .sp-xlbls span:not(:nth-child(odd)){visibility:hidden}#sp-root .sp-chart[data-n="26"] .sp-xlbls span{font-size:9px}#sp-root .sp-chart[data-n="26"] .sp-xlbls span:not(:nth-child(4n+1)){visibility:hidden}#sp-root .sp-achv-slide{padding-bottom:12px}#sp-root .sp-achv-badge{position:relative;isolation:isolate;width:60px;height:60px;flex:0 0 60px;margin-bottom:12px;background:none;box-shadow:none}#sp-root .sp-achv-badge:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--color-primary) 50%,#fff),var(--color-primary) 72%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 0 0 4px color-mix(in srgb,var(--color-primary) 14%,var(--card-bg)),0 0 0 5px color-mix(in srgb,var(--color-primary) 32%,transparent),0 10px 20px -8px color-mix(in srgb,var(--color-primary) 60%,transparent)}#sp-root .sp-achv-badge:after{content:"";position:absolute;left:50%;bottom:-14px;width:34px;height:26px;margin-left:-17px;z-index:-2;background:color-mix(in srgb,var(--color-primary) 72%,#1a1d3a);-webkit-clip-path:polygon(0 0,100% 0,100% 100%,78% 80%,50% 100%,22% 80%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,78% 80%,50% 100%,22% 80%,0 100%)}#sp-root .sp-achv-badge i,#sp-root .sp-achv-badge svg{width:26px;height:26px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}#sp-root .sp-ac-card .sp-btn{padding:8px 18px;border:none;border-radius:999px;background:color-mix(in srgb,var(--tc) 82%,#1a1d3a);color:var(--on-primary-text,#fff);box-shadow:0 8px 16px -8px color-mix(in srgb,var(--tc) 75%,transparent)}#sp-root .sp-ac-card .sp-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--tc) 70%,#1a1d3a)}#sp-root .sp-ac-card .sp-btn:focus-visible{outline:2px solid var(--tc);outline-offset:2px}#main-header.is-student-portal-view #header-title-actions-row{background:transparent;border:none;box-shadow:none;padding:6px 0}#main-header .ph-avatar,#main-header.is-student-portal-view .page-icon-badge{background:transparent;border:none;box-shadow:none}#main-header .ph-avatar{color:var(--color-primary);font-size:22px;letter-spacing:-.02em}#sp-root .sp-pm{--pm:var(--color-success);display:flex;flex-direction:column;gap:14px}#sp-root .sp-pm .sp-dtitle{margin-bottom:0}#sp-root .sp-pm-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--pm);background:color-mix(in srgb,var(--pm) 10%,transparent)}#sp-root .sp-pm-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pm)}#sp-root .sp-pm-amount{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pm-sub{margin-top:2px;font-size:13px;color:var(--text-muted)}#sp-root .sp-pm-bar{height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--pm) 14%,transparent)}#sp-root .sp-pm-bar span{display:block;height:100%;border-radius:inherit;background:var(--pm);transition:width .6s ease}#sp-root .sp-pm-row{display:flex;align-items:baseline;gap:18px;font-size:12.5px;color:var(--text-muted)}#sp-root .sp-pm-row b{margin-left:6px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pm-pct{margin-left:auto;font-weight:700;color:var(--pm)}#sp-root .sp-pm-note{font-size:12px;color:var(--text-muted)}#sp-root .sp-pm-note b{color:var(--text-main);font-weight:600}#sp-root .sp-pm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding-top:2px}#sp-root .sp-pm-err-body{display:flex;align-items:flex-start;gap:12px}#sp-root .sp-pm-err-body>div{display:flex;flex-direction:column;gap:3px;min-width:0}#sp-root .sp-pm-err-body b{font-size:14px;font-weight:700;color:var(--text-main)}#sp-root .sp-pm-err-ic{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--pm);background:color-mix(in srgb,var(--pm) 10%,transparent)}#sp-root .sp-pm-err-ic i,#sp-root .sp-pm-err-ic svg{width:18px;height:18px}#sp-root .sp-pm-err .sp-btn{align-self:flex-start}#sp-root .card.card-level-4.sp-pay-summary{border:none;border-radius:20px;box-shadow:none;background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg))}#sp-root .sp-pay-cell+.sp-pay-cell{border-left:none}#sp-root .sp-pay-cell-label{text-transform:none;letter-spacing:0;font-weight:600}#sp-paiements .sp-pay-total td{border-top-color:color-mix(in srgb,var(--card-border) 45%,transparent)}#sp-root .sp-ac-card .sp-btn{background:var(--card-bg);color:color-mix(in srgb,var(--tc) 90%,var(--text-main));border:1px solid color-mix(in srgb,var(--tc) 28%,transparent);box-shadow:none;padding:7px 16px;font-size:12.5px;font-weight:700}#sp-root .sp-ac-card .sp-btn:hover{background:color-mix(in srgb,var(--tc) 12%,var(--card-bg));transform:none}#sp-root .sp-dd{position:relative}#sp-root button.sp-select{font-family:inherit;cursor:pointer}#sp-root button.sp-select:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}#sp-root .sp-dd.is-open button.sp-select svg{transform:rotate(180deg)}#sp-root .sp-dd-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:150px;padding:6px;border:1px solid color-mix(in srgb,var(--card-border) 50%,transparent);border-radius:14px;background:var(--card-bg);box-shadow:0 16px 36px -14px rgba(26,29,58,.28)}#sp-root .sp-dd.is-open .sp-dd-menu{display:flex;flex-direction:column;gap:2px}#sp-root .sp-dd-item{border:none;background:transparent;text-align:left;font:inherit;font-size:13px;font-weight:600;color:var(--text-main);padding:8px 12px;border-radius:10px;cursor:pointer}#sp-root .sp-dd-item:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}#sp-root .sp-dd-item.is-on{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}#sp-root #sp-activity{display:flex;flex-direction:column;gap:14px}#sp-root #sp-activity .sp-dtitle{flex-wrap:wrap;gap:10px}#sp-root .sp-segc{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 7%,transparent)}#sp-root .sp-segc-btn{border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);padding:6px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}#sp-root .sp-segc-btn:hover{color:var(--text-main)}#sp-root .sp-segc-btn.is-on{background:var(--card-bg);color:var(--color-primary);box-shadow:0 1px 3px rgba(26,29,58,.1)}#sp-root .sp-segc-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#sp-root .sp-act-range{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:-4px}#sp-root .sp-act-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}#sp-root .sp-act-tile{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg))}#sp-root .sp-act-tl{font-size:12px;font-weight:600;color:var(--text-muted)}#sp-root .sp-act-tv{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-act-tv small{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:0}#sp-root .sp-act-tv .sp-trend{font-size:11px}#sp-root .sp-trend.is-up{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent)}#sp-root .sp-trend.is-down{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}#sp-root .sp-act-empty{font-size:13px;color:var(--text-muted)}#sp-root .sp-act-chart{display:flex;align-items:flex-end;gap:6px;padding-top:4px;border-bottom:1px solid color-mix(in srgb,var(--card-border) 45%,transparent)}#sp-root .sp-act-chart[data-n="30"]{gap:3px}#sp-root .sp-ab{flex:1 1;min-width:0}#sp-root .sp-ab,#sp-root .sp-ab-col{display:flex;flex-direction:column;align-items:center}#sp-root .sp-ab-col{height:128px;width:100%;justify-content:flex-end;gap:4px}#sp-root .sp-ab-col i{display:block;width:100%;max-width:40px;border-radius:8px 8px 3px 3px;background:color-mix(in srgb,var(--color-primary) 28%,var(--card-bg));transition:height .4s ease,background .15s ease}#sp-root .sp-ab.is-zero .sp-ab-col i{background:color-mix(in srgb,var(--card-border) 55%,transparent)}#sp-root .sp-ab.is-peak .sp-ab-col i{background:color-mix(in srgb,var(--color-primary) 55%,var(--card-bg))}#sp-root .sp-ab.is-cur .sp-ab-col i,#sp-root .sp-ab:hover .sp-ab-col i{background:var(--color-primary)}#sp-root .sp-ab-val{font-size:11px;font-weight:700;color:var(--text-muted);line-height:1;min-height:11px}#sp-root .sp-ab-lbl{margin:8px 0 -22px;font-size:11px;font-weight:500;color:var(--text-muted);white-space:nowrap;height:14px;text-transform:capitalize}#sp-root .sp-ab.is-cur .sp-ab-lbl{color:var(--color-primary);font-weight:700}#sp-root .sp-act-chart{margin-bottom:22px}#sp-root .sp-act-chart[data-n="12"] .sp-ab-lbl{font-size:10px}#sp-root .sp-act-list{display:flex;flex-direction:column;gap:8px}#sp-root .sp-act-row{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg))}#sp-root .sp-act-row.is-done{opacity:.72}#sp-root .sp-act-row.is-live{background:color-mix(in srgb,var(--color-success) 9%,var(--card-bg))}#sp-root .sp-act-time{display:flex;flex-direction:column;min-width:46px;font-size:14px;font-weight:800;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}#sp-root .sp-act-time small{font-size:11.5px;font-weight:500;color:var(--text-muted)}#sp-root .sp-act-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}#sp-root .sp-act-info b{font-size:13.5px;font-weight:700;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .sp-act-chip{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}#sp-root .sp-act-chip--done{color:var(--text-muted);background:color-mix(in srgb,var(--card-border) 40%,transparent)}#sp-root .sp-act-chip--live{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,transparent)}#sp-root .sp-act-chip--next{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 11%,transparent)}#sp-root #sp-activity .sp-next-mini{margin-top:auto}@media (max-width:760px){#sp-root .sp-act-tiles{grid-template-columns:minmax(0,1fr)}}#sp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#sp-root .sp-dash-main .sp-qa-btn{gap:10px;padding:10px 12px;border-radius:14px;font-size:12.5px}#sp-root .sp-dash-main .sp-qa-btn .sp-tile{width:32px;height:32px;flex-basis:32px}#sp-root .sp-dash-main .sp-qa-btn .sp-tile i,#sp-root .sp-dash-main .sp-qa-btn .sp-tile svg{width:16px;height:16px}@media (max-width:1100px){#sp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){#sp-root .sp-dash-main .sp-qa{grid-template-columns:minmax(0,1fr)}}#main-header.is-student-portal-view #sp-back-to-students-btn{display:none!important}.ph-back{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;margin-right:8px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--card-border) 60%,transparent);background:var(--card-bg);color:var(--text-main);cursor:pointer;transition:transform .15s ease,color .15s ease,border-color .15s ease,background .15s ease}.ph-back i,.ph-back svg{width:16px;height:16px}.ph-back:hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg));transform:translateX(-2px)}.ph-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#sp-root .sp-donut-bg{stroke:color-mix(in srgb,var(--color-primary) 9%,transparent);stroke-width:12}#sp-root .sp-donut-fg{fill:none;stroke:url(#spDonutGrad);stroke-width:12;stroke-linecap:round;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--color-primary) 28%,transparent));transition:stroke-dasharray .6s ease}#sp-root .sp-donut-pct{font-size:32px;font-weight:800;letter-spacing:-.03em}#sp-root .sp-donut-lbl{font-size:12px}#sp-root #sp-progress-compact .sp-lvl-row{border-top:1px solid color-mix(in srgb,var(--card-border) 40%,transparent)}#sp-root #sp-progress-compact .sp-lvl-row .sp-tile{border-radius:14px}#sp-root .sp-lc{--lc:var(--color-primary);position:relative;display:flex;flex-direction:column;gap:14px;padding:16px 18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--lc) 14%,var(--card-border));background:linear-gradient(160deg,color-mix(in srgb,var(--lc) 9%,var(--card-bg)) 0,var(--card-bg) 62%)}#sp-root .sp-lc--success{--lc:var(--color-success)}#sp-root .sp-lc--warn{--lc:var(--color-warning)}#sp-root .sp-lc:after{content:"";position:absolute;right:-34px;bottom:-48px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--lc) 13%,transparent),transparent 70%);pointer-events:none}#sp-root .sp-lc>*{position:relative;z-index:1}#sp-root .sp-lc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}#sp-root .sp-lc-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:color-mix(in srgb,var(--lc) 82%,var(--text-main));background:color-mix(in srgb,var(--lc) 12%,transparent)}#sp-root .sp-lc-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lc)}#sp-root .sp-lc-ring{position:relative;width:46px;height:46px;flex:0 0 46px}#sp-root .sp-lc-ring svg{width:100%;height:100%;display:block}#sp-root .sp-lc-rbg{fill:none;stroke:color-mix(in srgb,var(--lc) 16%,transparent);stroke-width:4}#sp-root .sp-lc-rfg{fill:none;stroke:var(--lc);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .6s ease}#sp-root .sp-lc-rmid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--lc)}#sp-root .sp-lc-rmid b{font-size:12px;font-weight:800;letter-spacing:-.02em;color:var(--text-main);line-height:1}#sp-root .sp-lc-rmid b small{font-size:8px;font-weight:700;margin-left:1px;color:var(--text-muted)}#sp-root .sp-lc-rmid i,#sp-root .sp-lc-rmid svg{width:18px;height:18px}#sp-root .sp-lc-main{display:flex;flex-direction:column;gap:2px;min-height:66px;justify-content:flex-end}#sp-root .sp-lc-code{font-size:36px;font-weight:800;letter-spacing:-.04em;line-height:1;color:color-mix(in srgb,var(--lc) 88%,var(--text-main))}#sp-root .sp-lc-ico{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--lc);background:color-mix(in srgb,var(--lc) 12%,transparent)}#sp-root .sp-lc-name{margin-top:4px;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .sp-lc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--lc) 12%,var(--card-border));font-size:12px;color:var(--text-muted)}#sp-root .sp-lc-ses{display:inline-flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap}#sp-root .sp-lc-ses i,#sp-root .sp-lc-ses svg{width:13px;height:13px}html body #clp-root #clp-progress .sp-lvl-txt b,html body #sp-root #sp-progress-compact .sp-lvl-txt b{font-size:15px;font-weight:800;letter-spacing:0;line-height:1.25;min-width:0}html body #clp-root #clp-progress .sp-lvl-txt small,html body #sp-root #sp-progress-compact .sp-lvl-txt small{font-size:13px;font-weight:500}html body #sp-root .sp-lvl-card.sp-lv2{--lc:var(--color-primary);display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:18px;background:color-mix(in srgb,var(--card-bg) 70%,var(--bg-subtle,#f6f7fb));border:1px solid color-mix(in srgb,var(--card-border) 45%,transparent)!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease}html body #sp-root .sp-lvl-card.sp-lv2--success{--lc:var(--color-success)}html body #sp-root .sp-lvl-card.sp-lv2--warn{--lc:var(--color-warning)}html body #sp-root .sp-lvl-card.sp-lv2:hover{transform:none;background:var(--card-bg);border-color:color-mix(in srgb,var(--lc) 30%,var(--card-border))!important}html body #sp-root .sp-lv2-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}html body #sp-root .sp-lv2-subj{font-size:12.5px;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body #sp-root .sp-lv2-state{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html body #sp-root .sp-lv2-state:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lc)}html body #sp-root .sp-lv2-code{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body #sp-root .sp-lv2-track{height:3px;border-radius:999px;background:color-mix(in srgb,var(--lc) 14%,transparent);overflow:hidden;margin:4px 0 0}html body #sp-root .sp-lv2-track i{display:block;height:100%;border-radius:999px;background:var(--lc);transition:width .6s ease}html body #sp-root .sp-lv2-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-muted)}html body #sp-root .sp-lv2-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html body #sp-root .sp-lv2-foot{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--card-border) 45%,transparent);font-size:12.5px;color:var(--text-muted);min-width:0}html body #sp-root .sp-lv2-tutor{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body #sp-root .sp-lv2-tutor--none{opacity:.7}@media (max-width:640px){html body #sp-root .sp-lv2-code{font-size:26px}}html body #sp-root .sp-dash.sp-dash3{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(300px,1.05fr);grid-gap:24px;gap:24px;align-items:start}html body #sp-root .sp-dash3>.sp-banner{grid-column:1/-1}html body #sp-root .sp-d3-col{display:flex;flex-direction:column;gap:24px;min-width:0}@media (max-width:1280px){html body #sp-root .sp-dash.sp-dash3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}html body #sp-root .sp-d3-c{grid-column:1/-1}}@media (max-width:860px){html body #sp-root .sp-dash.sp-dash3{grid-template-columns:minmax(0,1fr);gap:20px}html body #sp-root .sp-d3-col{gap:20px}}#sp-root .sp-ac-card .sp-btn,#sp-root .sp-ac-card .sp-btn--ghost,#sp-root .sp-ac-card .sp-btn--primary,#sp-root .sp-ac-card .sp-btn--sm{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:4px 2px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;font-weight:700!important;color:var(--color-primary)!important}#sp-root .sp-ac-card .sp-btn--sm:after,#sp-root .sp-ac-card .sp-btn:after{content:"→";font-size:13px;line-height:1;transition:transform .15s ease}#sp-root .sp-ac-card .sp-btn:hover{background:transparent!important;transform:none!important;text-decoration:underline}#sp-root .sp-ac-card .sp-btn:hover:after{transform:translateX(2px)}#sp-root .sp-wk{display:flex;gap:10px;align-items:flex-end;padding-bottom:2px}#sp-root .sp-wk-d{flex:1 1;min-width:0;gap:10px}#sp-root .sp-wk-col,#sp-root .sp-wk-d{display:flex;flex-direction:column;align-items:center}#sp-root .sp-wk-col{height:176px;width:100%;justify-content:flex-end;gap:5px}#sp-root .sp-wk-val{font-size:11px;font-weight:700;line-height:1;color:var(--text-muted);min-height:11px}#sp-root .sp-wk-bar{width:100%;max-width:44px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:10px;overflow:hidden}#sp-root .sp-wk-bar i{display:block;width:100%}#sp-root .sp-wk-bar i.up,#sp-root .sp-wk-leg i.up{background:color-mix(in srgb,var(--color-primary) 18%,var(--card-bg))}#sp-root .sp-wk-bar i.dn,#sp-root .sp-wk-leg i.dn{background:var(--color-primary)}#sp-root .sp-wk-zero{width:100%;max-width:44px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--card-border) 55%,transparent)}#sp-root .sp-wk-lbl{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:capitalize}#sp-root .sp-wk-d.is-today .sp-wk-lbl{font-weight:700;color:var(--color-primary)}#sp-root .sp-wk-leg{display:flex;gap:16px;font-size:11.5px;color:var(--text-muted)}#sp-root .sp-wk-leg span{display:inline-flex;align-items:center;gap:6px}#sp-root .sp-wk-leg i{width:8px;height:8px;border-radius:50%;display:inline-block}#sp-root .sp-dash-row>.sp-dcard{display:flex;flex-direction:column}#sp-root #sp-plan .sp-next-mini{margin-top:auto}#sp-root #sp-plan .sp-plan-foot{margin-top:10px}#sp-root #sp-activity .sp-next-mini{margin-top:6px}#sp-root #sp-activity .sp-act-empty{padding:2px 0 0}#sp-root #sp-activity .sp-act-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px}#sp-root .sp-lvl-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 14%,transparent)}#sp-root .sp-lvl-dot--warn{background:var(--color-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 16%,transparent)}#sp-root .sp-lvl-dot--success{background:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 16%,transparent)}#sp-root #sp-progress-compact .sp-lvl-row{gap:16px;padding:14px 4px}#sp-root .sp-lvl-head{height:56px;justify-content:flex-start;padding:0 18px}#sp-root .sp-lvl-badge{position:static;font-size:11.5px;padding:4px 10px;border-radius:999px;letter-spacing:.01em}#sp-root .sp-lvl-body{padding:22px 20px 20px;gap:0}#sp-root .sp-lvl-name{min-height:0;font-size:15px;font-weight:800;letter-spacing:-.01em;padding-bottom:16px}#sp-root .sp-lvl-close{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px dashed color-mix(in srgb,var(--card-border) 70%,transparent)}#sp-root .sp-lvl-k{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}#sp-root .sp-lvl-close b{font-size:13.5px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-lvl-foot{border-top:1px solid color-mix(in srgb,var(--card-border) 55%,transparent);padding-top:14px}#sp-root .sp-pm--ok .sp-pm-zen{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 10px 8px}#sp-root .sp-pm-zen b{margin-top:8px;font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--text-main)}#sp-root .sp-pm-seal{position:relative;width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--pm) 70%,#fff),var(--pm));box-shadow:0 12px 24px -10px color-mix(in srgb,var(--pm) 70%,transparent);animation:spPmPop .55s cubic-bezier(.2,.9,.3,1.3) both}#sp-root .sp-pm-seal:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid color-mix(in srgb,var(--pm) 35%,transparent);animation:spPmRing 2.6s ease-out infinite}#sp-root .sp-pm-seal i,#sp-root .sp-pm-seal svg{width:30px;height:30px;stroke-width:3}#sp-root .sp-pm-spark{position:absolute;border-radius:50%;background:var(--pm);opacity:.5;animation:spPmFloat 3.2s ease-in-out infinite}#sp-root .sp-pm-spark--1{width:8px;height:8px;top:20px;left:24%}#sp-root .sp-pm-spark--2{width:6px;height:6px;top:46px;right:22%;animation-delay:.8s}#sp-root .sp-pm-spark--3{width:5px;height:5px;top:14px;right:30%;animation-delay:1.6s;opacity:.35}@keyframes spPmPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spPmRing{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}@keyframes spPmFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){#sp-root .sp-pm-seal,#sp-root .sp-pm-seal:after,#sp-root .sp-pm-spark{animation:none}}#sp-root .sp-plan-prog{display:flex;flex-direction:column;gap:8px;margin:4px 0 18px}#sp-root .sp-plan-prog-top{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text-muted)}#sp-root .sp-plan-prog-top b{color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-plan-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);overflow:hidden}#sp-root .sp-plan-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}#sp-root .sp-plan-list{display:flex;flex-direction:column;gap:10px}#sp-root #sp-plan .sp-plan-row{align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg))}#sp-root #sp-plan .sp-plan-row.is-done{opacity:.75}#sp-root #sp-plan .sp-plan-txt{flex:1 1}#sp-root .sp-plan-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:var(--text-muted)}#sp-root .sp-plan-meta i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}#sp-root #sp-plan .sp-plan-foot{margin-top:auto;padding-top:16px}#sp-root .sp-ac-card{gap:6px;padding:10px 16px}#sp-root .sp-ac-head{gap:10px}#sp-root .sp-ac-ic{width:30px;height:30px;flex-basis:30px}#sp-root .sp-ac-card .sp-btn{padding-top:0!important;padding-bottom:0!important}#sp-root .sp-pm-actions--center{justify-content:center;padding-top:6px}#sp-root .sp-pm-more{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg));color:var(--color-primary);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease}#sp-root .sp-pm-more:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg))}#sp-root .sp-pm-more i,#sp-root .sp-pm-more svg{width:15px;height:15px}#sp-root .sp-lvl-head{height:52px;padding:0}#sp-root .sp-lvl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:16px}#sp-root .sp-lvl-top .sp-lvl-name{padding-bottom:0;flex:1 1;min-width:0}#sp-root .sp-lvl-top .sp-lvl-badge{flex:0 0 auto}#sp-root #sp-activity{gap:20px}#sp-root #sp-activity .sp-act-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}#sp-root #sp-activity .sp-act-tile{padding:14px 16px;gap:6px}#sp-root #sp-activity .sp-act-tl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#sp-root #sp-activity .sp-act-tv{font-size:20px}#sp-root #sp-activity .sp-wk{padding:4px 8px 0}#sp-root #sp-activity .sp-wk-col{height:150px}#sp-root #sp-activity .sp-wk-leg{justify-content:center}#sp-root #sp-activity .sp-next-mini{margin-top:0;padding:14px 16px;border:none;border-radius:16px;background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg))}#sp-root .sp-dash-rail .sp-qa-wrap{margin-top:4px;gap:14px}#sp-root .sp-dash-rail .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#sp-root .sp-dash-rail .sp-qa-btn{flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:108px;padding:16px;border-radius:18px;font-size:13px;font-weight:600;line-height:1.3}#sp-root .sp-dash-rail .sp-qa-btn span:last-child{white-space:normal}#sp-root .sp-dash-rail .sp-qa-btn .sp-tile{width:38px;height:38px;flex-basis:38px}#sp-root .sp-dash-rail .sp-qa-btn .sp-tile i,#sp-root .sp-dash-rail .sp-qa-btn .sp-tile svg{width:18px;height:18px}@media (max-width:760px){#sp-root #sp-activity .sp-act-tiles{grid-template-columns:minmax(0,1fr)}}#sp-root .sp-dash-col{display:flex;flex-direction:column;min-width:0}#sp-root .sp-dash-col>.sp-dcard{width:100%;box-sizing:border-box}#sp-root #sp-plan{padding-bottom:16px}#sp-root #sp-plan .sp-plan-list{gap:4px}#sp-root #sp-plan .sp-plan-row,#sp-root #sp-plan .sp-plan-row.is-live{background:transparent;padding:8px 0}#sp-root #sp-plan .sp-plan-foot{margin-top:0;padding-top:8px}#sp-root #sp-plan .sp-dsub{margin:0}#sp-root #sp-activity .sp-wk{padding-top:6px;padding-bottom:0}#sp-root #sp-activity .sp-wk-d{position:relative;outline:none}#sp-root #sp-activity .sp-wk-d:focus .sp-wk-bar,#sp-root #sp-activity .sp-wk-d:hover .sp-wk-bar{filter:brightness(.94)}#sp-root .sp-tip{position:absolute;top:14px;left:50%;transform:translate(-50%,6px);z-index:30;min-width:220px;max-width:280px;padding:12px 14px;border-radius:14px;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border));box-shadow:0 18px 40px -12px rgba(26,29,58,.28),0 4px 10px rgba(26,29,58,.08);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s;text-align:left}#sp-root .sp-wk-d.tip-l .sp-tip{left:0;transform:translateY(6px)}#sp-root .sp-wk-d.tip-r .sp-tip{left:auto;right:0;transform:translateY(6px)}#sp-root .sp-wk-d:focus .sp-tip,#sp-root .sp-wk-d:hover .sp-tip{opacity:1;visibility:visible;transform:translate(-50%)}#sp-root .sp-wk-d.tip-l:focus .sp-tip,#sp-root .sp-wk-d.tip-l:hover .sp-tip,#sp-root .sp-wk-d.tip-r:focus .sp-tip,#sp-root .sp-wk-d.tip-r:hover .sp-tip{transform:translate(0)}#sp-root .sp-tip-h{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}#sp-root .sp-tip-h b{font-size:13px;font-weight:700;color:var(--text-main)}#sp-root .sp-tip-h span{font-size:11.5px;font-weight:600;color:var(--color-primary)}#sp-root .sp-tip-empty{font-size:12px;color:var(--text-muted)}#sp-root .sp-tip-row{display:flex;align-items:flex-start;gap:8px;padding:4px 0}#sp-root .sp-tip-row>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}#sp-root .sp-tip-row b{font-size:12.5px;font-weight:700;color:var(--text-main)}#sp-root .sp-tip-row span{font-size:11.5px;color:var(--text-muted)}#sp-root .sp-tip-row em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--color-primary);white-space:nowrap}#sp-root .sp-tip-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:var(--color-primary)}#sp-root .sp-tip-row.is-next .sp-tip-dot{background:color-mix(in srgb,var(--color-primary) 30%,var(--card-bg))}#sp-root .sp-dash-rail .sp-qa{gap:10px}#sp-root .sp-dash-rail .sp-qa-btn{flex-direction:row;align-items:center;min-height:0;gap:10px;padding:10px 12px;border-radius:14px;font-size:12.5px}#sp-root .sp-dash-rail .sp-qa-btn .sp-tile{width:32px;height:32px;flex-basis:32px}#sp-root .sp-dash-rail .sp-qa-btn .sp-tile i,#sp-root .sp-dash-rail .sp-qa-btn .sp-tile svg{width:16px;height:16px}#sp-root .sp-dash-rail .sp-qa-btn span:last-child{white-space:nowrap}#sp-root #sp-todo .sp-ac-item{--tc:color-mix(in srgb,var(--color-primary) 55%,var(--text-muted))}#sp-root #sp-todo .sp-ac-item--danger{--tc:color-mix(in srgb,var(--color-danger) 55%,var(--text-muted))}#sp-root #sp-todo .sp-ac-item--warn{--tc:color-mix(in srgb,var(--color-warning) 55%,var(--text-muted))}#sp-root #sp-todo .sp-ac-card{background:color-mix(in srgb,var(--tc) 6%,var(--card-bg))}#sp-root #sp-todo .sp-ac-ic{background:color-mix(in srgb,var(--tc) 10%,var(--card-bg))}#sp-root #sp-todo .sp-ac-txt b{color:var(--text-main)}#sp-root #sp-todo .sp-ac-rail:before{background:color-mix(in srgb,var(--tc) 18%,transparent)}#sp-root #sp-todo .sp-ac-dot{opacity:.8}#sp-root #sp-todo .sp-ac-card .sp-btn{color:color-mix(in srgb,var(--tc) 80%,var(--text-main))!important}#sp-root #sp-activity .sp-segc{gap:0;padding:2px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 8%,transparent);border:none;box-shadow:none}#sp-root #sp-activity .sp-segc-btn{padding:4px 11px;font-size:11.5px;font-weight:500;border-radius:999px;color:var(--text-muted);background:transparent;box-shadow:none;border:none}#sp-root #sp-activity .sp-segc-btn.is-on{background:var(--card-bg);color:var(--color-primary);font-weight:600;box-shadow:0 1px 2px rgba(26,29,58,.06);border:none}#sp-root .sp-tip{top:20px;min-width:150px;max-width:190px;padding:8px 10px;border-radius:10px;box-shadow:0 8px 22px -8px rgba(26,29,58,.22);border-color:color-mix(in srgb,var(--card-border) 70%,transparent)}#sp-root .sp-tip-h{padding-bottom:5px;margin-bottom:4px;gap:1px}#sp-root .sp-tip-h b{font-size:11.5px}#sp-root .sp-tip-h span{font-size:10.5px}#sp-root .sp-tip-row{gap:6px;padding:2px 0}#sp-root .sp-tip-row b{font-size:11.5px}#sp-root .sp-tip-row span{font-size:10.5px;line-height:1.35}#sp-root .sp-tip-row em{font-size:9.5px}#sp-root .sp-tip-dot{width:6px;height:6px;flex-basis:6px;margin-top:5px}#sp-root .sp-pm--ok .sp-pm-confetti{display:inline-flex;width:96px;height:96px;animation:spPmPop .55s cubic-bezier(.2,.9,.3,1.2) both}#sp-root .sp-pm--ok .sp-pm-confetti svg{width:100%;height:100%;display:block}#sp-root .sp-pm-more,#sp-root .sp-pm-more:hover{background:transparent;border:0;box-shadow:none}#sp-root .sp-pm-more:hover{text-decoration:underline}.sp-header-actions .btn-cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;white-space:nowrap}.sp-header-actions .btn-cta-primary i,.sp-header-actions .btn-cta-primary svg{display:block;flex:0 0 auto;width:16px;height:16px;margin:0;position:static;transform:none}#sp-root #sp-plan .sp-plan-list{display:flex;flex-direction:column;gap:8px}#sp-root #sp-plan .sp-plan-row,#sp-root #sp-plan .sp-plan-row.is-done,#sp-root #sp-plan .sp-plan-row.is-next{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg))}#sp-root #sp-plan .sp-plan-row.is-done{opacity:.72}#sp-root #sp-plan .sp-plan-row.is-live{background:color-mix(in srgb,var(--color-success) 9%,var(--card-bg))}#sp-root #sp-plan .sp-pstat--link{border:0;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease}#sp-root #sp-plan .sp-pstat--link:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}#sp-root .sp-pm--wait{--pm:var(--color-warning)}#sp-root .sp-pm--late{--pm:var(--color-danger)}#sp-root .sp-pm--late,#sp-root .sp-pm--wait{gap:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--pm) 5%,var(--card-bg)) 0,var(--card-bg) 60%)}#sp-root .sp-pm--late .sp-pm-chip,#sp-root .sp-pm--wait .sp-pm-chip{border:0;font-weight:600;background:color-mix(in srgb,var(--pm) 11%,var(--card-bg))}#sp-root .sp-pm-hero{display:flex;flex-direction:column;gap:2px}#sp-root .sp-pm-amount{font-size:32px;font-weight:700;letter-spacing:-.025em}#sp-root .sp-pm-meter{display:flex;flex-direction:column;gap:9px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--pm) 6%,var(--card-bg))}#sp-root .sp-pm-meter .sp-pm-bar{height:6px;background:color-mix(in srgb,var(--pm) 16%,transparent)}#sp-root .sp-pm-meter .sp-pm-bar span{background:color-mix(in srgb,var(--pm) 82%,transparent)}#sp-root .sp-pm-meter .sp-pm-row{justify-content:space-between;gap:12px}#sp-root .sp-pm--late .sp-pm-actions,#sp-root .sp-pm--wait .sp-pm-actions{padding-top:0;gap:10px 16px}#sp-root .sp-pm--late .sp-btn--primary,#sp-root .sp-pm--wait .sp-btn--primary{border:0;box-shadow:none;border-radius:999px;padding:9px 18px;font-weight:700;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));transform:none}#sp-root .sp-pm--late .sp-btn--primary:hover,#sp-root .sp-pm--wait .sp-btn--primary:hover{background:color-mix(in srgb,var(--color-primary) 20%,var(--card-bg));transform:none}#sp-root .sp-pm-sk{gap:16px}#sp-root .sp-pm-sk .skeleton{border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 7%,transparent) 25%,color-mix(in srgb,var(--text-muted) 14%,transparent) 37%,color-mix(in srgb,var(--text-muted) 7%,transparent) 63%);background-size:400% 100%}#sp-root #sp-plan .sp-plan-empty{display:flex;align-items:center;gap:14px;padding:4px 0 0}#sp-root .sp-plan-empty-ic{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))}#sp-root .sp-plan-empty-ic i,#sp-root .sp-plan-empty-ic svg{width:20px;height:20px}#sp-root .sp-plan-empty-txt{display:flex;flex-direction:column;gap:2px;min-width:0}#sp-root .sp-plan-empty-txt b{font-size:14px;font-weight:700;color:var(--text-main)}#sp-root .sp-plan-ghost{display:flex;flex-direction:column;gap:8px;margin-top:14px}#sp-root .sp-gh-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--text-muted) 24%,transparent)}#sp-root .sp-gh-row:last-child{opacity:.55}#sp-root .sp-gh-row>i{width:18px;height:18px;flex:0 0 18px;border-radius:6px;background:color-mix(in srgb,var(--text-muted) 11%,transparent)}#sp-root .sp-gh-lines{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:7px}#sp-root .sp-gh-lines em{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 11%,transparent)}#sp-root .sp-gh-row>b{width:54px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 8%,transparent)}#sp-root #sp-todo .sp-ac-item{--tc:var(--color-primary)}#sp-root #sp-todo .sp-ac-item--warn{--tc:var(--color-warning)}#sp-root #sp-todo .sp-ac-item--danger{--tc:var(--color-danger)}#sp-root #sp-todo .sp-ac-card{background:color-mix(in srgb,var(--tc) 5%,var(--card-bg))}#sp-root #sp-todo .sp-ac-ic{background:color-mix(in srgb,var(--tc) 11%,var(--card-bg))}#sp-root #sp-todo .sp-ac-rail:before{background:color-mix(in srgb,var(--tc) 22%,transparent)}#sp-root #sp-todo .sp-ac-dot{opacity:1}#sp-root #sp-todo .sp-ac-card .sp-btn{color:color-mix(in srgb,var(--tc) 88%,var(--text-main))!important}#sp-root .sp-banner{background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg));border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent);box-shadow:none}#sp-root .sp-dash-main .sp-qa-wrap{margin-top:0;gap:14px}#sp-root #sp-paiements td.sp-pay-amount,#sp-root #sp-paiements tfoot .sp-pay-amount{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.3}#sp-root #sp-paiements .sp-pay-total .sp-pay-amount{font-size:15px;font-weight:800}#sp-root #sp-paiements .sp-card-title{flex-wrap:nowrap;overflow:visible;min-height:0;align-items:center}#sp-root #sp-paiements .sp-pay-switch{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;height:auto;overflow:visible;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 7%,transparent)}#sp-root #sp-paiements .sp-pay-switch-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--text-muted);padding:7px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}#sp-root #sp-paiements .sp-pay-switch-btn:hover{color:var(--text-main)}#sp-root #sp-paiements .sp-pay-switch-btn.active{background:var(--card-bg);color:var(--color-primary);box-shadow:0 1px 3px rgba(26,29,58,.1)}#sp-root #sp-paiements .sp-pay-switch-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#sp-root #sp-paiements .sp-pay-switch-count{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger);border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:700;line-height:1.5}#sp-root #sp-paiements .sp-pay-download{width:auto;min-width:0;height:34px;padding:0 14px;gap:6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent);background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg));box-shadow:none;transition:background .15s ease,border-color .15s ease}#sp-root #sp-paiements .sp-pay-download i,#sp-root #sp-paiements .sp-pay-download svg{width:15px;height:15px}#sp-root #sp-paiements .sp-pay-download:hover{background:color-mix(in srgb,var(--color-primary) 14%,var(--card-bg));border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);color:var(--color-primary)}@media (max-width:640px){#sp-root #sp-paiements .sp-pay-download{height:40px}}#sp-root #sp-documents .sp-doc-action-btn,#sp-root #sp-documents .sp-doc-tile-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid transparent;font-size:12.5px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease}#sp-root #sp-documents .sp-doc-action-btn i,#sp-root #sp-documents .sp-doc-action-btn svg,#sp-root #sp-documents .sp-doc-tile-action i,#sp-root #sp-documents .sp-doc-tile-action svg{width:14px;height:14px}#sp-root #sp-documents .sp-doc-action-btn:hover{text-decoration:none}#sp-root #sp-documents .sp-doc-action-btn--ready,#sp-root #sp-documents .sp-doc-tile--ready .sp-doc-tile-action{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,var(--card-bg));border-color:color-mix(in srgb,var(--color-success) 26%,transparent)}#sp-root #sp-documents .sp-doc-action-btn--ready:hover,#sp-root #sp-documents .sp-doc-tile--ready:hover .sp-doc-tile-action{background:color-mix(in srgb,var(--color-success) 18%,var(--card-bg))}#sp-root #sp-documents .sp-doc-action-btn--pending,#sp-root #sp-documents .sp-doc-tile--pending .sp-doc-tile-action{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}#sp-root #sp-documents .sp-doc-action-btn--pending:hover,#sp-root #sp-documents .sp-doc-tile--pending:hover .sp-doc-tile-action{background:color-mix(in srgb,var(--color-primary) 88%,#000)}#sp-root #sp-documents .sp-doc-action-btn--neutral{color:var(--text-main);background:transparent;border-color:var(--card-border)}#sp-root #sp-documents .sp-doc-action-btn--neutral:hover{background:var(--sidebar-hover)}#sp-root #sp-documents .sp-doc-action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#sp-root #sp-examens .sp-exam-list{display:flex;flex-direction:column;gap:10px;padding:4px 22px 22px}#sp-root #sp-examens .sp-exam-group{padding:12px 2px 0;font-size:11.5px}#sp-root #sp-examens .sp-exam-group:first-child{padding-top:6px}#sp-root #sp-examens .sp-exam-group-count{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:700}#sp-root #sp-examens .sp-exam-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;grid-column-gap:16px;column-gap:16px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--card-border) 28%,transparent);border-radius:16px;background:color-mix(in srgb,var(--color-primary) 3.5%,var(--card-bg));box-shadow:0 1px 2px rgba(26,29,58,.03),0 10px 26px -20px rgba(99,102,241,.2);transition:box-shadow .15s ease,transform .15s ease}#sp-root #sp-examens .sp-exam-line:last-child{border-bottom:1px solid color-mix(in srgb,var(--card-border) 28%,transparent)}html:not([data-theme=dark]) #sp-root #sp-examens .sp-exam-line{border-radius:16px}#sp-root #sp-examens .sp-exam-line:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(26,29,58,.04),0 14px 30px -16px rgba(99,102,241,.28)}#sp-root #sp-examens .sp-exam-line--next{background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));border-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}#sp-root #sp-examens .sp-exam-line--past{background:color-mix(in srgb,var(--text-muted) 5%,var(--card-bg));box-shadow:none}#sp-root #sp-examens .sp-exam-date-tile{width:56px;height:56px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));color:var(--color-primary)}#sp-root #sp-examens .sp-exam-date-tile b{font-size:20px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root #sp-examens .sp-exam-date-tile span{margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#sp-root #sp-examens .sp-exam-line--past .sp-exam-date-tile{background:color-mix(in srgb,var(--text-muted) 12%,var(--card-bg));color:var(--text-muted)}#sp-root #sp-examens .sp-exam-main{gap:3px;align-items:flex-start}#sp-root #sp-examens .sp-exam-type{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,transparent)}#sp-root #sp-examens .sp-exam-line--past .sp-exam-type{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}#sp-root #sp-examens .sp-exam-title{max-width:100%;margin-top:3px;font-size:14.5px;font-weight:700}#sp-root #sp-examens .sp-exam-line--next .sp-exam-title{font-weight:800}#sp-root #sp-examens .sp-exam-when{font-size:12.5px;font-weight:500;color:var(--text-muted);text-transform:capitalize}#sp-root #sp-examens .sp-exam-ref{font-size:11.5px;color:var(--text-muted)}#sp-root #sp-examens .sp-exam-status{display:flex;justify-content:flex-end}#sp-root #sp-examens .sp-exam-details-btn{border-radius:999px!important;padding:7px 14px!important;min-height:34px;background:var(--card-bg)!important;color:var(--color-primary)!important;border:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent)!important}#sp-root #sp-examens .sp-exam-details-btn:hover{background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))!important;border-color:color-mix(in srgb,var(--color-primary) 45%,transparent)!important}@media (max-width:860px){#sp-root #sp-examens .sp-exam-line{grid-template-columns:56px minmax(0,1fr) auto}#sp-root #sp-examens .sp-exam-action{grid-column:2/-1;justify-content:flex-start}}@media (max-width:640px){#sp-root #sp-examens .sp-exam-list{padding:4px 14px 16px}#sp-root #sp-examens .sp-exam-line{grid-template-columns:48px minmax(0,1fr);row-gap:10px;padding:12px 14px}#sp-root #sp-examens .sp-exam-date-tile{width:48px;height:48px}#sp-root #sp-examens .sp-exam-action,#sp-root #sp-examens .sp-exam-status{grid-column:2;justify-content:flex-start}}#sp-root #sp-plan .sp-plan-list{gap:10px!important;padding:4px 2px 2px}#sp-root #sp-plan .sp-plan-row,#sp-root #sp-plan .sp-plan-row.is-done,#sp-root #sp-plan .sp-plan-row.is-live,#sp-root #sp-plan .sp-plan-row.is-next{padding:14px 20px!important;gap:16px!important;border-radius:16px}#sp-root #sp-plan .sp-plan-row .sp-check{margin-left:2px}#sp-root #sp-plan .sp-plan-row .sp-act-chip{margin-left:auto;margin-right:2px;flex-shrink:0}#sp-root #sp-plan .sp-plan-txt{gap:3px}#sp-root .sp-parcours-layout--solo{display:flex;flex-direction:column;gap:22px}#sp-root #sp-next-level .sp-card-title,#sp-root #sp-parcours .sp-card-title{padding-bottom:14px}#sp-root #sp-parcours .sp-parcours-section{padding:18px 26px 10px}#sp-root #sp-parcours .sp-history-list{padding:0 12px 6px}#sp-root #sp-parcours .sp-history-row{padding:16px;gap:14px}#sp-root #sp-parcours .sp-history-row--current{border-radius:14px;margin-bottom:4px}#sp-root #sp-parcours .sp-history-sub{margin-top:3px}#sp-root #sp-parcours .sp-history-right{gap:20px}#sp-root #sp-next-level .sp-next-level-body{padding:8px 26px 6px;gap:16px}#sp-root #sp-next-level .sp-next-level-hint{padding:12px 26px 24px}#sp-root #sp-next-level .sp-next-level-sub{margin-top:4px}#sp-root #sp-examens .sp-exam-list{padding:8px 26px 26px;gap:12px}#sp-root #sp-examens .sp-exam-line{padding:18px 24px!important;column-gap:20px}#sp-root #sp-examens .sp-exam-date-tile{width:54px;height:54px;margin:2px 0}#sp-root #sp-examens .sp-exam-status{gap:10px;align-items:center;flex-wrap:wrap}#sp-root #sp-examens .sp-exam-type{white-space:nowrap;padding:4px 11px;font-size:10.5px;text-transform:uppercase}#sp-root #sp-examens .sp-exam-type--cours{color:#6d4aff;background:color-mix(in srgb,#7c5cff 8%,transparent);font-weight:600}#sp-root #sp-examens .sp-exam-type--comm{color:#0b8f7a;background:color-mix(in srgb,#14b8a6 8%,transparent);font-weight:600}#sp-root #sp-examens .sp-exam-type--final{color:#b45309;background:color-mix(in srgb,#f59e0b 9%,transparent);font-weight:600}#sp-root #sp-examens .sp-exam-line--past .sp-exam-type{opacity:.7}#sp-root #sp-examens .sp-exam-status .status-badge{padding:4px 11px;font-size:10.5px;font-weight:700;letter-spacing:.03em;border-width:1px}#sp-root #sp-examens .sp-exam-line--next .sp-exam-status .status-badge{background:transparent;color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 32%,transparent)}#sp-root #sp-examens .sp-exam-line--next .sp-exam-status .status-badge-dot{background:var(--color-primary)}#sp-root #sp-examens .sp-exam-line--past .sp-exam-status .status-badge{background:transparent;border-color:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted);font-weight:600}#sp-root #sp-examens .sp-exam-line--past .sp-exam-status .status-badge-dot{background:var(--text-muted)}@media (max-width:640px){#sp-root #sp-plan .sp-plan-row{padding:12px 14px!important}#sp-root #sp-examens .sp-exam-line{padding:14px 16px!important}#sp-root #sp-parcours .sp-history-row{padding:14px 10px}}#sp-root{--px-line:color-mix(in srgb,var(--card-border) 70%,transparent)}#sp-root .px-side>.card,#sp-root .px-split>.card{width:100%;box-sizing:border-box;margin:0}#sp-root .px-section{display:flex;align-items:center;gap:8px;padding:16px 22px 6px;font-size:12.5px;font-weight:600;color:var(--text-muted);letter-spacing:0;text-transform:none}#sp-root .px-count{padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}#sp-root .px-list{display:flex;flex-direction:column;padding:0 10px 10px}#sp-root .px-row{display:grid;grid-template-columns:8px minmax(0,1fr) 112px minmax(120px,190px);align-items:center;grid-column-gap:14px;column-gap:14px;padding:12px;border-radius:12px}#sp-root .px-row+.px-row{border-top:1px solid var(--px-line);border-top-left-radius:0;border-top-right-radius:0}#sp-root .px-row--current{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid))}#sp-root .px-row--current,#sp-root .px-row--current+.px-row{border-top-color:transparent}#sp-root .px-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint,#98A2B3)}#sp-root .px-dot--ok{background:color-mix(in srgb,var(--color-success) 85%,var(--text-main))}#sp-root .px-dot--info{background:color-mix(in srgb,var(--color-primary) 80%,var(--text-main))}#sp-root .px-dot--warn{background:color-mix(in srgb,var(--color-warning) 85%,var(--text-main))}#sp-root .px-main{min-width:0;display:flex;flex-direction:column;gap:2px}#sp-root .px-title{font-size:14px;font-weight:600;color:var(--text-main);display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}#sp-root .px-title--lg{font-size:17px;font-weight:700}#sp-root .px-row--current .px-title{font-weight:700}#sp-root .px-sub{font-size:13px;color:var(--text-muted);font-weight:400}#sp-root .px-status{display:flex}#sp-root .px-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}#sp-root .px-pct{font-size:13px;color:var(--text-muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .px-bar{flex:1 1;max-width:70px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);overflow:hidden}#sp-root .px-bar i{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-primary) 85%,var(--text-main))}@media (max-width:640px){#sp-root .px-row{grid-template-columns:8px minmax(0,1fr);row-gap:6px}#sp-root .px-meta,#sp-root .px-status{grid-column:2;justify-content:flex-start}}#sp-root .sp-next-level .sp-next-level-body{flex-wrap:wrap;padding:4px 22px}#sp-root .sp-next-level .sp-next-level-btn{width:100%}#sp-root .sp-next-level .sp-next-level-icon{background:color-mix(in srgb,var(--color-primary) 9%,transparent)}#sp-root .px-list--exams{padding:0 10px 12px}#sp-root .px-exam{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;grid-column-gap:16px;column-gap:16px;padding:14px 12px}#sp-root .px-exam+.px-exam{border-top:1px solid var(--px-line)}#sp-root .px-exam--next{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid));border-radius:12px}#sp-root .px-exam--next,#sp-root .px-exam--next+.px-exam{border-top-color:transparent}#sp-root .px-date{line-height:1.1;padding:6px 0;border-radius:10px;border:1px solid var(--px-line);background:var(--surface-solid)}#sp-root .px-date b{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-main)}#sp-root .px-date span{margin-top:2px;font-size:12px;font-weight:500;text-transform:lowercase}#sp-root .px-date span,#sp-root .px-exam--past .px-date b,#sp-root .px-type{color:var(--text-muted)}#sp-root .px-type{font-size:12.5px;padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 9%,transparent);text-transform:none;letter-spacing:0}#sp-root .px-prof{display:flex;align-items:center;gap:6px}#sp-root .px-prof i,#sp-root .px-prof svg{width:13px;height:13px;flex-shrink:0}#sp-root .px-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;background:color-mix(in srgb,var(--pc,var(--text-muted)) 11%,transparent);color:color-mix(in srgb,var(--pc,var(--text-muted)) 80%,var(--text-main))}#sp-root .px-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}#sp-root .px-pill--ok{--pc:var(--color-success)}#sp-root .px-pill--bad{--pc:var(--color-danger)}#sp-root .px-pill--info{--pc:var(--color-primary)}#sp-root .px-pill--mute{--pc:var(--text-muted)}#sp-root .px-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer}#sp-root .px-link:hover{color:var(--text-main);background:color-mix(in srgb,var(--text-muted) 8%,transparent)}#sp-root .px-link i,#sp-root .px-link svg{width:14px;height:14px}#sp-root .px-scores{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}#sp-root .px-score{font-size:12.5px;color:var(--text-muted);padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 9%,transparent)}#sp-root .px-score b{color:var(--text-main);font-weight:600}@media (max-width:760px){#sp-root .px-exam{grid-template-columns:48px minmax(0,1fr);row-gap:8px}#sp-root .px-exam .px-link,#sp-root .px-exam .px-pill{grid-column:2;justify-self:start}}#sp-root .px-pay-side{min-width:0}#sp-root .px-pay-side>.sp-dcard{height:auto}#sp-root .px-pay-side .sp-pm-actions--center{display:none}#sp-root #sp-documents .px-list{padding:0 10px 10px}#sp-root .px-docrow{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;align-items:center;grid-column-gap:16px;column-gap:16px;padding:12px}#sp-root .px-dochead+.px-docrow,#sp-root .px-docrow+.px-docrow{border-top:1px solid var(--px-line)}#sp-root .px-docrow--single{grid-template-columns:36px minmax(0,1fr) auto}#sp-root .px-dochead{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;grid-column-gap:16px;column-gap:16px;padding:4px 12px 8px;font-size:12.5px;font-weight:500;color:var(--text-muted)}#sp-root .px-docicon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--text-muted) 9%,transparent);color:var(--text-muted)}#sp-root .px-docicon i,#sp-root .px-docicon svg{width:16px;height:16px}#sp-root .px-doccell{display:flex;align-items:center;gap:10px}#sp-root .px-docrow--single .px-doccell{justify-content:flex-end}#sp-root .px-docstate{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);min-width:78px}#sp-root .px-docstate:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-faint,#98A2B3)}#sp-root .px-docstate--ok:before{background:color-mix(in srgb,var(--color-success) 85%,var(--text-main))}#sp-root .px-docbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:9px;border:1px solid var(--px-line);background:var(--surface-solid);color:var(--text-main);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;margin-left:auto}#sp-root .px-docbtn:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid));border-color:color-mix(in srgb,var(--color-primary) 35%,var(--px-line))}#sp-root .px-docbtn i,#sp-root .px-docbtn svg{width:14px;height:14px}#sp-root .px-empty{display:flex;align-items:center;gap:10px;padding:8px 22px 20px;font-size:13px;color:var(--text-muted)}#sp-root .px-empty i,#sp-root .px-empty svg{width:16px;height:16px}@media (max-width:760px){#sp-root .px-dochead{display:none}#sp-root .px-docrow{grid-template-columns:minmax(0,1fr);row-gap:8px}#sp-root .px-doccell:before{content:attr(data-label);min-width:62px;font-size:13px;font-weight:500;color:var(--text-main)}#sp-root .px-docrow--single{grid-template-columns:36px minmax(0,1fr)}#sp-root .px-docrow--single .px-doccell{grid-column:2;justify-content:flex-start}#sp-root .px-docrow--single .px-doccell:before{content:none}}#sp-root #sp-progress-compact .sp-lvl-txt{gap:8px}#sp-root #sp-progress-compact .sp-lvl-txt b{font-size:17px;min-width:14px}#sp-root #sp-progress-compact .sp-lvl-txt small{font-size:13.5px;color:var(--text-muted)}#sp-root .px-paywrap{display:flex;flex-direction:column;gap:16px;width:100%}#sp-root .px-paybar{padding:0}#sp-root .px-paybar-msg{display:flex;align-items:center;gap:14px;padding:18px 22px}#sp-root .px-paybar-msg>div{flex:1 1;min-width:0}#sp-root .px-payicon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-muted)}#sp-root .px-payicon i,#sp-root .px-payicon svg{width:18px;height:18px}#sp-root .px-payicon--ok{background:color-mix(in srgb,var(--color-success) 13%,transparent);color:color-mix(in srgb,var(--color-success) 80%,var(--text-main))}#sp-root .px-payicon--due{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:color-mix(in srgb,var(--color-warning) 75%,var(--text-main))}#sp-root .px-paytitle{font-size:16px;font-weight:700;color:var(--text-main)}#sp-root .px-paybtn{flex-shrink:0;min-height:38px;padding:0 18px}#sp-root .px-paystats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--px-line)}#sp-root .px-paystat{display:flex;flex-direction:column;gap:2px;padding:14px 22px}#sp-root .px-paystat+.px-paystat{border-left:1px solid var(--px-line)}#sp-root .px-paystat span{font-size:13px;color:var(--text-muted)}#sp-root .px-paystat b{font-size:16px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .px-paystat--due b{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}@media (max-width:640px){#sp-root .px-paybar-msg{flex-wrap:wrap}#sp-root .px-paybtn{width:100%}#sp-root .px-paystats{grid-template-columns:1fr}#sp-root .px-paystat+.px-paystat{border-left:0;border-top:1px solid var(--px-line)}}#sp-root #sp-paiements{padding:0;overflow:hidden}#sp-root .px-list--pay{padding:0 10px 10px}#sp-root .px-payhead,#sp-root .px-payrow{display:grid;grid-template-columns:130px minmax(0,1fr) 120px 100px 110px;align-items:center;grid-column-gap:16px;column-gap:16px;padding:12px}#sp-root .px-payhead{padding-top:4px;padding-bottom:8px;font-size:12.5px;font-weight:500;color:var(--text-muted)}#sp-root .px-payrow{border-top:1px solid var(--px-line);font-size:14px;color:var(--text-main)}#sp-root .px-paydate{color:var(--text-muted);font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .px-paylabel{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sp-root .px-payamt{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .px-payamt--late{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}#sp-root .px-r{text-align:right}#sp-root .px-payact{display:flex;justify-content:flex-end}#sp-root .px-payact .px-docbtn{margin-left:0}#sp-root .px-paytotal{display:flex;justify-content:space-between;padding:12px;border-top:1px solid var(--px-line);font-size:14px;color:var(--text-muted)}#sp-root .px-paytotal b{color:var(--text-main);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .px-note{padding:0 22px 16px;font-size:13px;color:var(--text-muted)}@media (max-width:760px){#sp-root .px-payhead{display:none}#sp-root .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#sp-root .px-payrow .px-paydate{grid-column:1/-1}#sp-root .px-payact{grid-column:1/-1;justify-content:flex-start}}#sp-root .px-date{min-height:52px}#sp-root .px-date span{margin-top:3px}#sp-root .px-nextlist{display:flex;flex-direction:column}#sp-root .px-nextlist .px-next{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#sp-root .px-nextlist .px-next+.px-next{border-top:1px solid var(--px-line)}#sp-root .px-nextlist .px-main{flex:1 1;min-width:140px}#sp-root .px-next-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 9%,transparent);color:var(--purple-text)}#sp-root .px-next-icon i,#sp-root .px-next-icon svg{width:18px;height:18px}#sp-root .px-nextlist .sp-next-level-btn{width:auto;flex-shrink:0;min-height:36px;padding:0 16px}#sp-root .px-hint{padding:4px 22px 16px;font-size:13px;color:var(--text-muted)}#sp-root .sp-pm--due{--pm:var(--text-muted);gap:10px;background:var(--card-bg)}#sp-root .sp-pm-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}#sp-root .sp-pm-line b{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pm-line span{font-size:13px;color:var(--text-muted)}#sp-root .sp-pm-line--late b{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}#sp-root .sp-pm-mini{display:flex;flex-direction:column;gap:6px}#sp-root .sp-pm--due .sp-pm-bar{height:4px;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}#sp-root .sp-pm--due .sp-pm-bar span{background:color-mix(in srgb,var(--color-primary) 75%,var(--text-main))}#sp-root .sp-pm-mini-txt{font-size:12.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#sp-root .sp-pm--due .sp-pm-actions{padding-top:2px;gap:8px 14px}#sp-root .sp-pm--due .sp-btn--primary{border:0;box-shadow:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));transform:none}#sp-root .sp-pm--due .sp-btn--primary:hover{background:color-mix(in srgb,var(--color-primary) 18%,var(--card-bg))}#sp-root .px-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);grid-gap:20px;gap:20px;align-items:start;width:100%}#sp-root .px-side{position:-webkit-sticky;position:sticky;top:16px;width:100%;min-width:0}@media (max-width:1000px){#sp-root .px-split{grid-template-columns:minmax(0,1fr)}#sp-root .px-side{position:static}}#sp-root .px-row{grid-template-columns:8px minmax(0,1fr) 120px minmax(120px,200px)}#sp-root .px-nextlist .px-next{padding:12px 22px}#sp-root .px-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;min-height:0;padding:0;box-sizing:border-box;text-align:center;line-height:1;gap:3px}#sp-root .px-date b,#sp-root .px-date span{display:block;width:100%;margin:0;padding:0;text-align:center;line-height:1}#sp-root #sp-progress-compact .sp-lvl-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}#sp-root #sp-progress-compact .sp-lvl-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}#sp-root #sp-progress-compact .sp-lvl-txt small{overflow:hidden;text-overflow:ellipsis;font-size:13px}#sp-root #sp-progress-compact .sp-link{flex:0 0 auto;font-size:12.5px;white-space:nowrap}#sp-root #sp-progress-compact .sp-link i,#sp-root #sp-progress-compact .sp-link svg{display:none}#sp-root .sp-pm--due,#sp-root .sp-pm--min{background:var(--card-bg);gap:10px}#sp-root .sp-pm--min .sp-pm-line b{font-size:20px;color:var(--text-main)}#sp-root .px-payicon--due{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}#sp-root .px-paybar-bar{height:4px;margin:0 22px 18px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}#sp-root .px-paybar-bar span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-primary) 80%,var(--text-main))}#sp-root .px-list--pay4 .px-payhead,#sp-root .px-list--pay4 .px-payrow{grid-template-columns:120px minmax(0,1fr) 120px 96px}#sp-root .px-list--pay4 .px-payrow:hover{background:color-mix(in srgb,var(--text-muted) 5%,transparent)}#sp-root .px-msg{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:30px 22px 34px}#sp-root .px-msg b{font-size:15px;font-weight:700;color:var(--text-main)}#sp-root .px-msg>span:not(.px-msg-ic){font-size:13px;color:var(--text-muted);max-width:360px}#sp-root .px-msg-ic{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-muted)}#sp-root .px-msg-ic i,#sp-root .px-msg-ic svg{width:20px;height:20px}#sp-root .px-msg-btn{margin-top:10px;padding:6px 14px;font-size:12.5px}#sp-root .px-sk-ic{width:38px;height:38px;border-radius:50%;flex:0 0 38px}#sp-root .px-sk-col{display:flex;flex-direction:column;gap:8px;flex:1 1}#sp-root .px-exgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start;width:100%}#sp-root .px-exgrid>.card{overflow:visible;margin:0;min-width:0}#sp-root .px-excol .px-list--exams{padding:0 8px 10px}#sp-root .px-excol .px-count{margin-left:8px}#sp-root .px-excol .px-exam{grid-template-columns:52px minmax(0,1fr) auto;column-gap:14px}#sp-root .px-exact{display:flex;align-items:center;gap:6px;justify-self:end}#sp-root .px-more{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}#sp-root .px-more:hover{background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-main)}#sp-root .px-more i,#sp-root .px-more svg{width:16px;height:16px}#sp-root .px-more-wrap .sp-dd-menu{min-width:180px;z-index:40}@media (max-width:1000px){#sp-root .px-exgrid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){#sp-root .px-excol .px-exam{grid-template-columns:48px minmax(0,1fr)}#sp-root .px-excol .px-exact{grid-column:2;justify-self:start}}#sp-root .px-paygrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;width:100%}#sp-root .px-paygrid>.card{margin:0;min-width:0}#sp-root .px-paygrid .px-paybar-msg{flex-direction:column;align-items:flex-start;gap:12px}#sp-root .px-paygrid .px-paybar-msg>div{flex:none;width:100%}#sp-root .px-paygrid .px-paybtn{width:100%}#sp-root .px-paygrid .px-paybar-bar{margin:0 22px 20px}@media (max-width:1000px){#sp-root .px-paygrid{grid-template-columns:minmax(0,1fr)}#sp-root .px-paygrid>.px-paybar{order:-1}}#sp-root .px-list--dues .px-payhead,#sp-root .px-list--dues .px-payrow{grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr) 100px 120px}#sp-root .px-paynote{color:var(--text-muted);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){#sp-root .px-list--dues .px-payhead{display:none}#sp-root .px-list--dues .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#sp-root .px-list--dues .px-payrow .px-paydate,#sp-root .px-list--dues .px-payrow .px-paynote{grid-column:1/-1}}@media (min-width:761px){#sp-root .px-dochead,#sp-root .px-docrow:not(.px-docrow--single){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}#sp-root .px-dochead span:nth-child(2){text-align:center}#sp-root .px-dochead span:nth-child(3){text-align:right}#sp-root .px-docrow:not(.px-docrow--single) .px-doccell{justify-content:flex-end}#sp-root .px-docrow:not(.px-docrow--single) .px-doccell:first-of-type{justify-content:center}#sp-root .px-docrow:not(.px-docrow--single) .px-docbtn{margin-left:0}}@media (max-width:760px){#sp-root .px-list--pay4 .px-payhead{display:none}#sp-root .px-list--pay4 .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#sp-root .px-list--pay4 .px-payrow .px-paydate{grid-column:1/-1}}#sp-root .sp-dash-row{align-items:stretch}#sp-root .sp-dash-col{gap:20px}#sp-root .sp-dash-col>.sp-dcard:last-child{flex:1 1 auto}#sp-root .sp-dash-row>#sp-progress-compact{box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between}#sp-root .sp-dash-row>#sp-progress-compact .sp-donut-wrap{flex:0 0 auto}#main-header.is-student-portal-view{gap:6px;margin-bottom:12px}#main-header.is-student-portal-view #header-top-utility-row{min-height:0;gap:8px}#main-header.is-student-portal-view #header-title-actions-row{gap:12px 20px;flex-wrap:wrap}#main-header.is-student-portal-view .page-title{font-size:21px;line-height:1.2}#main-header.is-student-portal-view .page-title-subtitle{font-size:13px;margin-top:2px;line-height:1.3}#main-header.is-student-portal-view #header-toolbar-row{gap:10px;flex:1 1 auto;justify-content:flex-end}#main-header.is-student-portal-view #search-calendar-row{flex:0 1 320px}#main-header.is-student-portal-view .btn-baserow,#main-header.is-student-portal-view .btn-cta-primary,#main-header.is-student-portal-view .search-wrapper{min-height:38px}#main-header.is-student-portal-view #header-actions-row{padding-left:0}@media (max-width:900px){#main-header.is-student-portal-view #header-title-actions-row{gap:8px}#main-header.is-student-portal-view #search-calendar-row{flex-basis:100%;max-width:100%}}@media (min-width:761px){#sp-root .px-list--docs .px-dochead,#sp-root .px-list--docs .px-docrow:not(.px-docrow--single){grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);column-gap:24px}#sp-root .px-list--docs .px-dochead span:nth-child(n+2){text-align:center}#sp-root .px-list--docs .px-docrow:not(.px-docrow--single) .px-doccell{justify-content:center}}#sp-root .px-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}#sp-root #sp-documents .px-filter{margin:4px 22px}#sp-root .px-fchip{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:600;line-height:1;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}#sp-root .px-fchip:hover{color:var(--text-main)}#sp-root .px-fchip.is-on{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))}#sp-root .px-fchip:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#sp-root .px-exgrid{gap:24px}#sp-root .px-excol .sp-card-title{padding-bottom:6px}#sp-root .px-excol .px-list--exams{padding:6px 14px 18px}#sp-root .px-excol .px-exam{padding:20px 14px;column-gap:18px}#sp-root .px-excol .px-main{display:flex;flex-direction:column;gap:6px}#sp-root .px-excol .px-title{margin-bottom:0;row-gap:6px}#sp-root .px-excol .px-scores{margin-top:4px}#sp-root .px-excol .px-date{align-self:center}#sp-root .px-docid{display:flex;align-items:center;gap:12px;min-width:0}@media (min-width:761px){#sp-root .px-docrow.px-docrow--single{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);column-gap:24px}#sp-root .px-docrow.px-docrow--single .px-doccell{justify-content:center}#sp-root .px-docrow.px-docrow--single .px-docbtn{margin-left:0}}@media (max-width:760px){#sp-root .px-docrow.px-docrow--single{grid-template-columns:minmax(0,1fr);row-gap:8px}#sp-root .px-docrow.px-docrow--single .px-docgap{display:none}#sp-root .px-docrow.px-docrow--single .px-doccell{grid-column:auto;justify-content:flex-start}#sp-root #sp-documents .px-filter{margin:4px 14px}}@media (min-width:761px){#sp-root .px-list--pay4 .px-payhead,#sp-root .px-list--pay4 .px-payrow{grid-template-columns:140px minmax(0,1fr) 140px 140px;column-gap:32px}#sp-root .px-list--pay4 .px-payhead span:nth-child(4){text-align:center}#sp-root .px-list--pay4 .px-payrow .px-payact{display:flex;justify-content:center}}#main-header.is-student-portal-view{gap:14px;margin-bottom:22px}#main-header.is-student-portal-view #header-top-utility-row{padding:2px 0 4px}#main-header.is-student-portal-view #header-title-actions-row{padding:14px 0 12px}#main-header.is-student-portal-view .header-title-row{gap:14px}#main-header.is-student-portal-view .page-title{line-height:1.25}#main-header.is-student-portal-view .page-title-subtitle{margin-top:8px}#main-header.is-student-portal-view .btn-baserow,#main-header.is-student-portal-view .btn-cta-primary,#main-header.is-student-portal-view .search-wrapper{min-height:42px}#sp-root #sp-documents .px-filter{margin:20px 22px 10px}#sp-root #sp-next-level .px-nextlist,#sp-root #sp-parcours>.px-list{padding-top:14px}#sp-root .px-exwrap>.px-filter{margin-bottom:20px}@media (max-width:760px){#sp-root #sp-documents .px-filter{margin:16px 14px 8px}}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title){align-items:center;flex-wrap:wrap;gap:4px 14px}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title) .page-title-subtitle{margin-top:0}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title){flex-wrap:nowrap!important;flex-direction:row!important;align-items:center!important;gap:12px!important;min-width:0}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title)>#page-title{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title)>.page-title-subtitle{flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap;margin:0!important}#sp-root .px-paygrid .px-paybar-msg{padding-bottom:22px}#main-header.is-student-portal-view,#main-header.is-student-portal-view *,#sp-root,#sp-root *{text-transform:none!important}#sp-root .sp-lvl-k,#sp-root .sp-lvl-k *{letter-spacing:.01em;font-size:11.5px}.sp-header-actions .popover-card{left:auto!important;right:0!important;width:240px;max-width:calc(100vw - 32px);box-sizing:border-box}.sp-header-actions .popover-card .chk-container{white-space:nowrap}#main-header.is-student-portal-view{gap:8px;margin-bottom:24px}#main-header.is-student-portal-view #header-top-utility-row{padding:0}#main-header.is-student-portal-view #header-title-actions-row{padding:0;gap:16px 24px;align-items:center}#main-header.is-student-portal-view .header-title-row{gap:12px;align-items:center}#main-header.is-student-portal-view .header-title-row>div:has(>#page-title){gap:4px 12px}#main-header.is-student-portal-view .page-title-subtitle{margin-top:0}#main-header.is-student-portal-view #header-toolbar-row{gap:12px;align-items:center}#main-header.is-student-portal-view #header-actions-row{gap:8px;align-items:center}#main-header.is-student-portal-view .btn-baserow,#main-header.is-student-portal-view .btn-cta-primary,#main-header.is-student-portal-view .search-wrapper{min-height:40px}#sp-root{gap:32px}#sp-root .sp-tabs{margin:0}#sp-root>.sp-tab-panel{padding-top:0!important}#sp-root .sp-dash,#sp-root .sp-dash-col,#sp-root .sp-dash-main,#sp-root .sp-dash-rail,#sp-root .sp-dash-row{gap:20px}#sp-root .sp-dash-row{align-items:start}#sp-root .sp-dash-col>.sp-dcard:last-child{flex:0 0 auto}@media (min-width:761px){#sp-root .sp-dcard:not(.sp-profile){padding:24px}}#sp-root .sp-dtitle{min-height:32px;gap:12px;margin-bottom:16px}#sp-root .sp-pm .sp-dtitle{margin-bottom:4px}#sp-root #sp-activity .sp-dtitle{margin-bottom:0}#sp-root .sp-banner{padding:16px 24px;gap:16px}#sp-root #sp-plan{padding-bottom:24px}#sp-root #sp-plan .sp-plan-empty{padding:0;gap:12px}#sp-root #sp-plan .sp-plan-list{gap:8px!important;padding:0}#sp-root #sp-plan .sp-plan-row,#sp-root #sp-plan .sp-plan-row.is-done,#sp-root #sp-plan .sp-plan-row.is-live,#sp-root #sp-plan .sp-plan-row.is-next{padding:12px 16px!important;gap:12px!important}#sp-root .sp-ac{gap:12px}#sp-root .sp-ac-item{column-gap:8px}#sp-root .sp-ac-card{gap:8px;padding:12px 16px}#sp-root .sp-ac-head{gap:12px}#sp-root .sp-ac-time{padding-top:20px}#sp-root .sp-ac-dot{top:22px}#sp-root .sp-ac-rail:before{bottom:-12px}#sp-root .sp-ac-item:first-child .sp-ac-rail:before{top:27px}#sp-root .sp-ac-item:last-child .sp-ac-rail:before{height:27px}#sp-root #sp-progress-compact .sp-donut-wrap{margin:0 auto 16px}#sp-root #sp-progress-compact .sp-lvl-row{gap:12px;padding:12px 4px;min-height:48px;box-sizing:border-box}#sp-root .sp-achv-slide{gap:12px;padding-bottom:0}#sp-root .sp-pgs{margin-top:12px}#sp-root .sp-pm,#sp-root .sp-pm--due,#sp-root .sp-pm--late,#sp-root .sp-pm--min,#sp-root .sp-pm--wait,#sp-root .sp-pm-sk{gap:12px}#sp-root .sp-pm--ok .sp-pm-zen{padding:0 8px;gap:4px}#sp-root .sp-pm-zen b{margin-top:4px}#sp-root .sp-pm-actions--center{padding-top:0}#sp-root .sp-pm-more{padding:8px 16px}#sp-root .sp-pm-meter{gap:8px;padding:12px 16px}#sp-root #sp-activity{gap:16px}#sp-root #sp-activity .sp-act-tiles{gap:12px}#sp-root #sp-activity .sp-act-tile{padding:12px 16px;gap:4px}#sp-root #sp-activity .sp-wk{padding:0 8px}#sp-root #sp-activity .sp-next-mini{padding:12px 16px;gap:12px}#sp-root .sp-wk-d{gap:8px}#sp-root #sp-levels .sp-dtitle,#sp-root .sp-lrow{margin-bottom:20px}#sp-root .sp-lrow{min-height:32px;gap:16px;align-items:center}#sp-root .sp-ltabs{gap:20px;align-items:center}#sp-root .sp-ltab{padding:8px 0}#sp-root .sp-larrows{gap:8px;align-items:center}#sp-root .sp-lvl-grid{gap:20px}@media (min-width:761px){#sp-root .sp-lvl-card{flex-basis:calc((100% - 40px) / 3)}}#sp-root .sp-lvl-head{height:48px}#sp-root .sp-lvl-body{padding:20px 20px 16px}#sp-root .sp-lvl-top{padding-bottom:12px}#sp-root .sp-lvl-close{padding:12px 0}#sp-root .sp-lvl-foot{padding-top:12px}#sp-root .sp-dash-main .sp-qa-wrap{gap:16px}#sp-root .sp-dash-main .sp-qa-btn{padding:8px 12px}#sp-root .px-exgrid,#sp-root .px-paygrid,#sp-root .px-split,#sp-root .sp-parcours-layout--solo{gap:20px}@media (min-width:992px){body:has(#main-header.is-student-portal-view) .sidebar:not(.collapsed) .menu-item{margin-bottom:4px}body:has(#main-header.is-student-portal-view) .sidebar:not(.collapsed) button.menu-section-label--toggle{height:28px;min-height:28px;margin:16px 0 4px}}#sp-root .sp-subitems{display:flex;flex-direction:column;gap:0;margin-top:4px}#sp-root .sp-subitem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border:0;border-radius:0;background:transparent}#sp-root .sp-subitem+.sp-subitem{border-top:1px solid color-mix(in srgb,var(--tc,var(--color-primary)) 14%,transparent)}#sp-root .sp-subitem-txt{display:flex;flex-direction:column;gap:2px;min-width:0}#sp-root .sp-subitem-txt b{font-size:12.5px;font-weight:700;color:var(--text-main)}#sp-root .sp-subitem-txt b,#sp-root .sp-subitem-txt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sp-root .sp-subitem-txt span{font-size:11.5px;color:color-mix(in srgb,var(--tc,var(--color-primary)) 55%,var(--text-muted))}#sp-root .sp-subbtn{flex:0 0 auto;border:0;border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:color-mix(in srgb,var(--tc,var(--color-primary)) 90%,var(--text-main));background:color-mix(in srgb,var(--tc,var(--color-primary)) 16%,transparent);transition:background .15s ease}#sp-root .sp-subbtn:hover{background:color-mix(in srgb,var(--tc,var(--color-primary)) 26%,transparent)}#sp-root .sp-subbtn:focus-visible{outline:2px solid var(--tc,var(--color-primary));outline-offset:2px}#sp-root .sp-dash-row>#sp-progress-compact{align-self:start;height:auto;min-height:0;justify-content:flex-start}#sp-root .px-type{font-weight:500}#sp-root .px-type--cours{color:color-mix(in srgb,#7c5cff 62%,var(--text-muted));background:color-mix(in srgb,#7c5cff 7%,transparent)}#sp-root .px-type--comm{color:color-mix(in srgb,#0f9d8a 62%,var(--text-muted));background:color-mix(in srgb,#14b8a6 8%,transparent)}#sp-root .px-type--exam{color:color-mix(in srgb,#d97706 60%,var(--text-muted));background:color-mix(in srgb,#f59e0b 8%,transparent)}#sp-root .px-exam--past .px-type{opacity:1}#sp-root .px-pill--mute{--pc:color-mix(in srgb,var(--color-warning) 60%,var(--text-muted));background:color-mix(in srgb,var(--color-warning) 8%,transparent)}#sp-root .px-docbtn--ready{color:color-mix(in srgb,var(--color-success) 88%,var(--text-main));background:transparent;border-color:color-mix(in srgb,var(--color-success) 30%,transparent);font-weight:600}#sp-root .px-docbtn--ready:hover{background:color-mix(in srgb,var(--color-success) 8%,transparent);border-color:color-mix(in srgb,var(--color-success) 45%,transparent)}#clp-root .sp-dash{display:grid;grid-template-columns:minmax(0,1fr) 304px;grid-gap:20px;gap:20px;align-items:start}#clp-root .sp-dash-main,#clp-root .sp-dash-rail{display:flex;flex-direction:column;gap:20px;min-width:0}#clp-root .sp-dash-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:20px;gap:20px}#clp-root .sp-dcard{background:var(--card-bg);border:1px solid color-mix(in srgb,var(--card-border) 55%,transparent);border-radius:var(--radius-lg,18px);box-shadow:0 4px 20px rgba(99,102,241,.06);padding:20px 22px;min-width:0}#clp-root .sp-dtitle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:var(--text-main);margin-bottom:14px}#clp-root .sp-dsub{font-size:12px;font-weight:500;color:var(--text-muted)}#clp-root .sp-count{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#clp-root .sp-link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 2px;font:inherit;font-size:12px;font-weight:700;color:var(--color-primary);cursor:pointer;white-space:nowrap}#clp-root .sp-link:hover{text-decoration:underline}#clp-root .sp-link i,#clp-root .sp-link svg{width:14px;height:14px}#clp-root .sp-tile{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}#clp-root .sp-tile--lg{width:44px;height:44px;flex-basis:44px;border-radius:13px}#clp-root .sp-tile i,#clp-root .sp-tile svg{width:18px;height:18px}#clp-root .sp-tile--primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}#clp-root .sp-tile--success{background:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success)}#clp-root .sp-tile--warn{background:color-mix(in srgb,var(--color-warning) 16%,transparent);color:var(--color-warning)}#clp-root .sp-tile--danger{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}#clp-root .sp-tile--info{background:color-mix(in srgb,var(--color-info) 14%,transparent);color:var(--color-info)}#clp-root .sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm,10px);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}#clp-root .sp-btn--sm{padding:6px 12px;font-size:12px;flex-shrink:0}#clp-root .sp-btn i,#clp-root .sp-btn svg{width:15px;height:15px}#clp-root .sp-btn--primary{background:var(--color-primary);border:1px solid transparent;color:var(--on-primary-text,#fff);box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 28%,transparent)}#clp-root .sp-btn--primary:hover{transform:translateY(-1px)}#clp-root .sp-btn--ghost{background:transparent;border:1px solid var(--control-border,var(--card-border));color:var(--text-main)}#clp-root .sp-btn--ghost:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}#clp-root .sp-donut-wrap{position:relative;width:148px;height:148px;margin:2px auto 14px}#clp-root .sp-donut{width:100%;height:100%;display:block}#clp-root .sp-donut-bg{fill:none;stroke:color-mix(in srgb,var(--color-primary) 14%,transparent);stroke-width:10}#clp-root .sp-donut-fg{stroke:var(--color-primary);stroke-width:10}#clp-root .sp-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#clp-root .sp-donut-pct{font-size:26px;letter-spacing:-.02em;color:var(--text-main)}#clp-root .sp-donut-lbl{font-size:11px;color:var(--text-muted)}#clp-root .sp-lvl-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--card-border)}#clp-root .sp-lvl-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;line-height:1.25}#clp-root .sp-lvl-txt b{font-size:15px;font-weight:800;color:var(--text-main)}#clp-root .sp-lvl-txt small{font-size:11.5px;color:var(--text-muted)}#clp-root .sp-mini-av{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}#clp-root .sp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}#clp-root .sp-stat{display:flex;align-items:center;gap:12px;min-width:0}#clp-root .sp-stat-val{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--radius-lg,18px);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 14%,var(--card-bg)),var(--card-bg));border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent)}#clp-root .sp-banner-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}#clp-root .sp-banner-txt b{font-size:14.5px;font-weight:800;color:var(--text-main)}#clp-root .sp-profile{text-align:center;padding:0 22px 20px;overflow:hidden}#clp-root .sp-profile-banner{height:68px;margin:0 -22px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 28%,transparent),color-mix(in srgb,var(--color-warning) 16%,transparent))}#clp-root .sp-profile-av{width:64px;height:64px;margin:-32px auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;background:var(--color-primary);color:var(--on-primary-text,#fff);border:3px solid var(--surface-solid,var(--card-bg));position:relative}#clp-root .sp-profile-name{font-size:16px;font-weight:800;color:var(--text-main)}#clp-root .sp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}#clp-root .sp-cal-title{font:inherit;font-size:14px;font-weight:700;color:var(--text-main)}#clp-root .sp-cal-nav,#clp-root .sp-cal-title{border:none;background:transparent;cursor:pointer}#clp-root .sp-cal-nav{width:28px;height:28px;border-radius:8px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}#clp-root .sp-cal-nav:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}#clp-root .sp-cal-nav i,#clp-root .sp-cal-nav svg{width:16px;height:16px}#clp-root .sp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center}#clp-root .sp-cal-dow{font-size:11px;font-weight:600;color:var(--text-faint,var(--text-muted));padding:4px 0}#clp-root .sp-cal-day{position:relative;height:34px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:var(--text-main);border-radius:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-cal-day.is-today{background:var(--color-primary);color:var(--on-primary-text,#fff)}#clp-root .sp-cal-day.has-ev:after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--color-primary)}#clp-root .sp-cal-day.has-ev.ev-past:after{background:var(--text-faint,var(--text-muted))}#clp-root .sp-cal-day.is-today.has-ev:after{background:var(--on-primary-text,#fff)}#clp-root .sp-next-mini.is-live .sp-tile{background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--color-success)}@media (max-width:1180px){#clp-root .sp-dash{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){#clp-root .sp-dash-row{grid-template-columns:minmax(0,1fr)}#clp-root .sp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#clp-root .sp-banner{flex-wrap:wrap}}#clp-root .sp-dcard{border-radius:20px;padding:22px 24px;border-color:color-mix(in srgb,var(--card-border) 45%,transparent);box-shadow:0 2px 4px rgba(26,29,58,.03),0 14px 32px -14px rgba(99,102,241,.16)}#clp-root .sp-dtitle{font-size:16px;margin-bottom:12px}#clp-root .sp-select{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border:1px solid var(--card-border);border-radius:10px;font-size:12.5px;font-weight:600;color:var(--text-main);background:var(--surface-solid,var(--card-bg));white-space:nowrap}#clp-root .sp-select i,#clp-root .sp-select svg{width:14px;height:14px;color:var(--text-muted)}#clp-root .sp-donut-wrap{width:168px;height:168px}#clp-root .sp-donut-bg,#clp-root .sp-donut-fg{stroke-width:11}#clp-root .sp-donut-pct{font-size:30px}#clp-root .sp-lvl-row .sp-tile{width:40px;height:40px;flex-basis:40px;border-radius:50%}#clp-root .sp-lvl-row .sp-link{font-weight:600}#clp-root .sp-pillbtn{border:none;border-radius:999px;padding:6px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);cursor:pointer}#clp-root .sp-pillbtn:hover{background:color-mix(in srgb,var(--color-primary) 16%,transparent)}#clp-root .sp-profile{padding:0 24px 22px}#clp-root .sp-profile-banner{height:88px;margin:0 -24px;background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary) 24%,transparent),color-mix(in srgb,var(--color-warning) 10%,transparent))}#clp-root .sp-profile-av{width:76px;height:76px;margin:-38px auto 10px;font-size:24px;border-width:4px}#clp-root .sp-online{position:absolute;right:2px;bottom:4px;width:14px;height:14px;border-radius:50%;background:var(--color-success);border:2px solid var(--surface-solid,var(--card-bg))}#clp-root .sp-cal{margin-top:16px;padding:14px 12px 10px;border:1px solid var(--card-border);border-radius:16px}#clp-root .sp-cal-day{width:32px;height:32px;margin:0 auto;border-radius:50%}#clp-root .sp-cal-day.is-out{color:var(--text-faint,var(--text-muted));opacity:.5}#clp-root .sp-cal-day.has-ev:after{bottom:3px}#clp-root .sp-plan-add{width:34px;height:34px;border:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);cursor:pointer}#clp-root .sp-plan-add i,#clp-root .sp-plan-add svg{width:18px;height:18px}#clp-root .sp-plan-row{display:flex;align-items:center;gap:12px;padding:9px 0}#clp-root .sp-check{width:20px;height:20px;flex:0 0 20px;border:1.5px solid var(--control-border,var(--card-border));border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--on-primary-text,#fff)}#clp-root .sp-check.is-done{background:var(--color-primary);border-color:var(--color-primary)}#clp-root .sp-check i,#clp-root .sp-check svg{width:13px;height:13px}#clp-root .sp-plan-txt{display:flex;flex-direction:column;gap:1px;min-width:0}#clp-root .sp-plan-txt b{font-size:13.5px;font-weight:700;color:var(--text-main)}#clp-root .sp-plan-foot{display:flex;margin-top:8px}#clp-root .sp-dash,#clp-root .sp-dash-main,#clp-root .sp-dash-rail,#clp-root .sp-dash-row{gap:28px}#clp-root .sp-dcard{padding:28px 30px}#clp-root .sp-dtitle{margin-bottom:20px}#clp-root .sp-donut-wrap{margin:8px auto 24px}#clp-root .sp-lvl-row{padding:14px 0;gap:14px}#clp-root .sp-stats{gap:24px}#clp-root .sp-stat{gap:16px}#clp-root .sp-banner{padding:20px 26px;gap:18px}#clp-root .sp-profile{padding:0 30px 28px}#clp-root .sp-profile-banner{margin:0 -30px;height:96px}#clp-root .sp-cal{margin-top:24px;padding:18px 16px 14px}#clp-root .sp-cal-head{margin-bottom:14px}#clp-root .sp-cal-grid{row-gap:6px}#clp-root .sp-plan-row{padding:12px 0;gap:14px}#clp-root .sp-plan-foot{margin-top:12px}@media (max-width:760px){#clp-root .sp-dash,#clp-root .sp-dash-main,#clp-root .sp-dash-rail,#clp-root .sp-dash-row{gap:20px}#clp-root .sp-dcard{padding:20px}#clp-root .sp-profile{padding:0 20px 22px}#clp-root .sp-profile-banner{margin:0 -20px}}#clp-root .sp-ac-card .sp-btn{align-self:flex-start}#clp-root .sp-qa-title{font-size:16px;font-weight:700;color:var(--text-main);margin:4px 0 -8px}#clp-root .sp-qa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px}#clp-root .sp-qa-btn{display:flex;align-items:center;gap:14px;min-width:0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--card-border) 55%,transparent);background:var(--card-bg);box-shadow:0 2px 4px rgba(26,29,58,.03),0 10px 24px -16px rgba(99,102,241,.22);font:inherit;font-size:13.5px;font-weight:600;color:var(--text-main);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}#clp-root .sp-qa-btn:hover{box-shadow:0 2px 4px rgba(26,29,58,.04),0 14px 28px -14px rgba(99,102,241,.32)}#clp-root .sp-qa-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#clp-root .sp-qa-btn .sp-tile{border-radius:12px}#clp-root .sp-qa-btn span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1100px){#clp-root .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){#clp-root .sp-qa{gap:16px}}#clp-root .sp-dash{grid-template-columns:minmax(0,1fr) 380px}#clp-root .sp-dcard{border:1px solid color-mix(in srgb,var(--card-border) 28%,transparent);box-shadow:0 1px 2px rgba(26,29,58,.03),0 12px 32px -20px rgba(99,102,241,.16)}#clp-root .sp-qa-btn{gap:16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--card-border) 22%,transparent);border-radius:16px;box-shadow:0 1px 2px rgba(26,29,58,.03),0 10px 26px -18px rgba(99,102,241,.2)}#clp-root .sp-qa-btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(26,29,58,.04),0 14px 30px -16px rgba(99,102,241,.28)}#clp-root .sp-qa-btn .sp-tile{width:42px;height:42px;flex-basis:42px;border-radius:50%;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg))}#clp-root .sp-ac-card .sp-btn{padding:6px 14px;background:color-mix(in srgb,var(--tc) 14%,var(--card-bg));color:color-mix(in srgb,var(--tc) 85%,var(--text-main));font-size:12px}#clp-root .sp-ac-card .sp-btn:hover{background:color-mix(in srgb,var(--tc) 22%,var(--card-bg))}#clp-root .sp-dash{grid-template-columns:minmax(0,1fr) 460px}#clp-root .sp-plan-stat{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg))}#clp-root .sp-plan-stat b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-plan-stat span{font-size:13px;font-weight:600;color:var(--text-muted)}@media (max-width:1100px){#clp-root .sp-dash{grid-template-columns:minmax(0,1fr)}}#clp-root .sp-qa-wrap{display:flex;flex-direction:column;gap:20px;margin-top:32px}#clp-root .sp-qa-wrap .sp-qa-title{margin:0}#clp-root .sp-pstat{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.4;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);white-space:nowrap}#clp-root .sp-qa-wrap{margin-top:0;gap:16px}#clp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (max-width:760px){#clp-root .sp-dash-main .sp-qa{grid-template-columns:minmax(0,1fr);gap:14px}}#clp-root .sp-banner,#clp-root .sp-dcard,#clp-root .sp-qa-btn,#clp-root .sp-stat{border-radius:20px}#clp-root .sp-select--native{position:relative;padding:0;cursor:pointer}#clp-root .sp-select--native select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;outline:none;background:transparent;font:inherit;color:inherit;padding:6px 30px 6px 12px;cursor:pointer}#clp-root .sp-select--native select:focus-visible{box-shadow:0 0 0 2px var(--color-primary);border-radius:10px}#clp-root .sp-select--native i,#clp-root .sp-select--native svg{position:absolute;right:10px;top:50%;margin-top:-7px;pointer-events:none}#clp-root .sp-ac-card .sp-btn{padding:8px 18px;border:none;border-radius:999px;background:color-mix(in srgb,var(--tc) 82%,#1a1d3a);color:var(--on-primary-text,#fff);box-shadow:0 8px 16px -8px color-mix(in srgb,var(--tc) 75%,transparent)}#clp-root .sp-ac-card .sp-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--tc) 70%,#1a1d3a)}#clp-root .sp-ac-card .sp-btn:focus-visible{outline:2px solid var(--tc);outline-offset:2px}#clp-root .sp-pm{--pm:var(--color-success);display:flex;flex-direction:column;gap:14px}#clp-root .sp-pm .sp-dtitle{margin-bottom:0}#clp-root .sp-pm-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--pm);background:color-mix(in srgb,var(--pm) 10%,transparent)}#clp-root .sp-pm-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pm)}#clp-root .sp-pm-amount{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-pm-sub{margin-top:2px;font-size:13px;color:var(--text-muted)}#clp-root .sp-pm-bar{height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--pm) 14%,transparent)}#clp-root .sp-pm-bar span{display:block;height:100%;border-radius:inherit;background:var(--pm);transition:width .6s ease}#clp-root .sp-pm-row{display:flex;align-items:baseline;gap:18px;font-size:12.5px;color:var(--text-muted)}#clp-root .sp-pm-row b{margin-left:6px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-pm-pct{margin-left:auto;font-weight:700;color:var(--pm)}#clp-root .sp-pm-note{font-size:12px;color:var(--text-muted)}#clp-root .sp-pm-note b{color:var(--text-main);font-weight:600}#clp-root .sp-pm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding-top:2px}#clp-root .sp-pm-err-body{display:flex;align-items:flex-start;gap:12px}#clp-root .sp-pm-err-body>div{display:flex;flex-direction:column;gap:3px;min-width:0}#clp-root .sp-pm-err-body b{font-size:14px;font-weight:700;color:var(--text-main)}#clp-root .sp-pm-err-ic{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--pm);background:color-mix(in srgb,var(--pm) 10%,transparent)}#clp-root .sp-pm-err-ic i,#clp-root .sp-pm-err-ic svg{width:18px;height:18px}#clp-root .sp-pm-err .sp-btn{align-self:flex-start}#clp-root .sp-ac-card .sp-btn{background:var(--card-bg);color:color-mix(in srgb,var(--tc) 90%,var(--text-main));border:1px solid color-mix(in srgb,var(--tc) 28%,transparent);box-shadow:none;padding:7px 16px;font-size:12.5px;font-weight:700}#clp-root .sp-ac-card .sp-btn:hover{background:color-mix(in srgb,var(--tc) 12%,var(--card-bg));transform:none}#clp-root button.sp-select{font-family:inherit;cursor:pointer}#clp-root button.sp-select:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--card-border))}#clp-root .sp-dd.is-open button.sp-select svg{transform:rotate(180deg)}#clp-root .sp-act-chip{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}#clp-root .sp-act-chip--done{color:var(--text-muted);background:color-mix(in srgb,var(--card-border) 40%,transparent)}#clp-root .sp-act-chip--live{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,transparent)}#clp-root .sp-act-chip--next{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 11%,transparent)}#clp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#clp-root .sp-dash-main .sp-qa-btn{gap:10px;padding:10px 12px;border-radius:14px;font-size:12.5px}#clp-root .sp-dash-main .sp-qa-btn .sp-tile{width:32px;height:32px;flex-basis:32px}#clp-root .sp-dash-main .sp-qa-btn .sp-tile i,#clp-root .sp-dash-main .sp-qa-btn .sp-tile svg{width:16px;height:16px}@media (max-width:1100px){#clp-root .sp-dash-main .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){#clp-root .sp-dash-main .sp-qa{grid-template-columns:minmax(0,1fr)}}#clp-root .sp-donut-bg{stroke:color-mix(in srgb,var(--color-primary) 9%,transparent);stroke-width:12}#clp-root .sp-donut-fg{fill:none;stroke:url(#spDonutGrad);stroke-width:12;stroke-linecap:round;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--color-primary) 28%,transparent));transition:stroke-dasharray .6s ease}#clp-root .sp-donut-pct{font-size:32px;font-weight:800;letter-spacing:-.03em}#clp-root .sp-donut-lbl{font-size:12px}#clp-root .sp-ac-card .sp-btn,#clp-root .sp-ac-card .sp-btn--ghost,#clp-root .sp-ac-card .sp-btn--primary,#clp-root .sp-ac-card .sp-btn--sm{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:4px 2px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;font-weight:700!important;color:var(--color-primary)!important}#clp-root .sp-ac-card .sp-btn--sm:after,#clp-root .sp-ac-card .sp-btn:after{content:"→";font-size:13px;line-height:1;transition:transform .15s ease}#clp-root .sp-ac-card .sp-btn:hover{background:transparent!important;transform:none!important;text-decoration:underline}#clp-root .sp-ac-card .sp-btn:hover:after{transform:translateX(2px)}#clp-root .sp-dash-row>.sp-dcard{display:flex;flex-direction:column}#clp-root .sp-lvl-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 14%,transparent)}#clp-root .sp-lvl-dot--warn{background:var(--color-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 16%,transparent)}#clp-root .sp-lvl-dot--success{background:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 16%,transparent)}#clp-root .sp-pm--ok .sp-pm-zen{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 10px 8px}#clp-root .sp-pm-zen b{margin-top:8px;font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--text-main)}#clp-root .sp-pm-seal{position:relative;width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--pm) 70%,#fff),var(--pm));box-shadow:0 12px 24px -10px color-mix(in srgb,var(--pm) 70%,transparent);animation:spPmPop .55s cubic-bezier(.2,.9,.3,1.3) both}#clp-root .sp-pm-seal:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid color-mix(in srgb,var(--pm) 35%,transparent);animation:spPmRing 2.6s ease-out infinite}#clp-root .sp-pm-seal i,#clp-root .sp-pm-seal svg{width:30px;height:30px;stroke-width:3}#clp-root .sp-pm-spark{position:absolute;border-radius:50%;background:var(--pm);opacity:.5;animation:spPmFloat 3.2s ease-in-out infinite}#clp-root .sp-pm-spark--1{width:8px;height:8px;top:20px;left:24%}#clp-root .sp-pm-spark--2{width:6px;height:6px;top:46px;right:22%;animation-delay:.8s}#clp-root .sp-pm-spark--3{width:5px;height:5px;top:14px;right:30%;animation-delay:1.6s;opacity:.35}@media (prefers-reduced-motion:reduce){#clp-root .sp-pm-seal,#clp-root .sp-pm-seal:after,#clp-root .sp-pm-spark{animation:none}}#clp-root .sp-plan-prog{display:flex;flex-direction:column;gap:8px;margin:4px 0 18px}#clp-root .sp-plan-prog-top{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text-muted)}#clp-root .sp-plan-prog-top b{color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-plan-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);overflow:hidden}#clp-root .sp-plan-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}#clp-root .sp-plan-list{display:flex;flex-direction:column;gap:10px}#clp-root .sp-plan-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:var(--text-muted)}#clp-root .sp-plan-meta i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}#clp-root .sp-ac-card .sp-btn{padding-top:0!important;padding-bottom:0!important}#clp-root .sp-pm-actions--center{justify-content:center;padding-top:6px}#clp-root .sp-pm-more{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg));color:var(--color-primary);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease}#clp-root .sp-pm-more:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg))}#clp-root .sp-pm-more i,#clp-root .sp-pm-more svg{width:15px;height:15px}#clp-root .sp-dash-rail .sp-qa-wrap{margin-top:4px;gap:14px}#clp-root .sp-dash-rail .sp-qa{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#clp-root .sp-dash-rail .sp-qa-btn{flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:108px;padding:16px;border-radius:18px;font-size:13px;font-weight:600;line-height:1.3}#clp-root .sp-dash-rail .sp-qa-btn span:last-child{white-space:normal}#clp-root .sp-dash-rail .sp-qa-btn .sp-tile{width:38px;height:38px;flex-basis:38px}#clp-root .sp-dash-rail .sp-qa-btn .sp-tile i,#clp-root .sp-dash-rail .sp-qa-btn .sp-tile svg{width:18px;height:18px}#clp-root .sp-dash-col{display:flex;flex-direction:column;min-width:0}#clp-root .sp-dash-col>.sp-dcard{width:100%;box-sizing:border-box}#clp-root .sp-dash-rail .sp-qa{gap:10px}#clp-root .sp-dash-rail .sp-qa-btn{flex-direction:row;align-items:center;min-height:0;gap:10px;padding:10px 12px;border-radius:14px;font-size:12.5px}#clp-root .sp-dash-rail .sp-qa-btn .sp-tile{width:32px;height:32px;flex-basis:32px}#clp-root .sp-dash-rail .sp-qa-btn .sp-tile i,#clp-root .sp-dash-rail .sp-qa-btn .sp-tile svg{width:16px;height:16px}#clp-root .sp-dash-rail .sp-qa-btn span:last-child{white-space:nowrap}#clp-root .sp-pm--ok .sp-pm-confetti{display:inline-flex;width:96px;height:96px;animation:spPmPop .55s cubic-bezier(.2,.9,.3,1.2) both}#clp-root .sp-pm--ok .sp-pm-confetti svg{width:100%;height:100%;display:block}#clp-root .sp-pm-more,#clp-root .sp-pm-more:hover{background:transparent;border:0;box-shadow:none}#clp-root .sp-pm-more:hover{text-decoration:underline}#clp-root .sp-pm--wait{--pm:var(--color-warning)}#clp-root .sp-pm--late{--pm:var(--color-danger)}#clp-root .sp-pm--late,#clp-root .sp-pm--wait{gap:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--pm) 5%,var(--card-bg)) 0,var(--card-bg) 60%)}#clp-root .sp-pm--late .sp-pm-chip,#clp-root .sp-pm--wait .sp-pm-chip{border:0;font-weight:600;background:color-mix(in srgb,var(--pm) 11%,var(--card-bg))}#clp-root .sp-pm-hero{display:flex;flex-direction:column;gap:2px}#clp-root .sp-pm-amount{font-size:32px;font-weight:700;letter-spacing:-.025em}#clp-root .sp-pm-meter{display:flex;flex-direction:column;gap:9px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--pm) 6%,var(--card-bg))}#clp-root .sp-pm-meter .sp-pm-bar{height:6px;background:color-mix(in srgb,var(--pm) 16%,transparent)}#clp-root .sp-pm-meter .sp-pm-bar span{background:color-mix(in srgb,var(--pm) 82%,transparent)}#clp-root .sp-pm-meter .sp-pm-row{justify-content:space-between;gap:12px}#clp-root .sp-pm--late .sp-pm-actions,#clp-root .sp-pm--wait .sp-pm-actions{padding-top:0;gap:10px 16px}#clp-root .sp-pm--late .sp-btn--primary,#clp-root .sp-pm--wait .sp-btn--primary{border:0;box-shadow:none;border-radius:999px;padding:9px 18px;font-weight:700;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));transform:none}#clp-root .sp-pm--late .sp-btn--primary:hover,#clp-root .sp-pm--wait .sp-btn--primary:hover{background:color-mix(in srgb,var(--color-primary) 20%,var(--card-bg));transform:none}#clp-root .sp-pm-sk{gap:16px}#clp-root .sp-pm-sk .skeleton{border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 7%,transparent) 25%,color-mix(in srgb,var(--text-muted) 14%,transparent) 37%,color-mix(in srgb,var(--text-muted) 7%,transparent) 63%);background-size:400% 100%}#clp-root .sp-plan-empty-ic{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))}#clp-root .sp-plan-empty-ic i,#clp-root .sp-plan-empty-ic svg{width:20px;height:20px}#clp-root .sp-plan-empty-txt{display:flex;flex-direction:column;gap:2px;min-width:0}#clp-root .sp-plan-empty-txt b{font-size:14px;font-weight:700;color:var(--text-main)}#clp-root .sp-plan-ghost{display:flex;flex-direction:column;gap:8px;margin-top:14px}#clp-root .sp-banner{background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg));border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent);box-shadow:none}#clp-root .sp-dash-main .sp-qa-wrap{margin-top:0;gap:14px}#clp-root .sp-pm--due{--pm:var(--text-muted);gap:10px;background:var(--card-bg)}#clp-root .sp-pm-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}#clp-root .sp-pm-line b{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-pm-line span{font-size:13px;color:var(--text-muted)}#clp-root .sp-pm-line--late b{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}#clp-root .sp-pm-mini{display:flex;flex-direction:column;gap:6px}#clp-root .sp-pm--due .sp-pm-bar{height:4px;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}#clp-root .sp-pm--due .sp-pm-bar span{background:color-mix(in srgb,var(--color-primary) 75%,var(--text-main))}#clp-root .sp-pm-mini-txt{font-size:12.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .sp-pm--due .sp-pm-actions{padding-top:2px;gap:8px 14px}#clp-root .sp-pm--due .sp-btn--primary{border:0;box-shadow:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));transform:none}#clp-root .sp-pm--due .sp-btn--primary:hover{background:color-mix(in srgb,var(--color-primary) 18%,var(--card-bg))}#clp-root .sp-pm--due,#clp-root .sp-pm--min{background:var(--card-bg);gap:10px}#clp-root .sp-pm--min .sp-pm-line b{font-size:20px;color:var(--text-main)}#clp-root .sp-dash-row{align-items:stretch}#clp-root .sp-dash-col{gap:20px}#clp-root .sp-dash-col>.sp-dcard:last-child{flex:1 1 auto}#clp-root .sp-dash,#clp-root .sp-dash-col,#clp-root .sp-dash-main,#clp-root .sp-dash-rail,#clp-root .sp-dash-row{gap:20px}#clp-root .sp-dash-row{align-items:start}#clp-root .sp-dash-col>.sp-dcard:last-child{flex:0 0 auto}@media (min-width:761px){#clp-root .sp-dcard:not(.sp-profile){padding:24px}}#clp-root .sp-dtitle{min-height:32px;gap:12px;margin-bottom:16px}#clp-root .sp-pm .sp-dtitle{margin-bottom:4px}#clp-root .sp-banner{padding:16px 24px;gap:16px}#clp-root .sp-pm,#clp-root .sp-pm--due,#clp-root .sp-pm--late,#clp-root .sp-pm--min,#clp-root .sp-pm--wait,#clp-root .sp-pm-sk{gap:12px}#clp-root .sp-pm--ok .sp-pm-zen{padding:0 8px;gap:4px}#clp-root .sp-pm-zen b{margin-top:4px}#clp-root .sp-pm-actions--center{padding-top:0}#clp-root .sp-pm-more{padding:8px 16px}#clp-root .sp-pm-meter{gap:8px;padding:12px 16px}#clp-root .sp-dash-main .sp-qa-wrap{gap:16px}#clp-root .sp-dash-main .sp-qa-btn{padding:8px 12px}#clp-root .clp-d-banner .sp-banner-txt b{font-size:16px}#clp-root .clp-d-banner .sp-btn{margin-left:auto}#clp-root .clp-d-empty{display:flex;align-items:center;gap:12px;padding:0}#clp-root .clp-d-todo{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--card-border);cursor:pointer}#clp-root .clp-d-todo:first-of-type{border-top:none}#clp-root .clp-d-todo:hover .sp-link{text-decoration:underline}#clp-root .clp-d-todo-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}#clp-root .clp-d-todo-txt b{font-size:13px;font-weight:700;color:var(--text-main)}#clp-root .clp-d-stat{border:none;background:transparent;font:inherit;color:inherit;text-align:left;padding:0;cursor:pointer}#clp-root .clp-d-stat:hover .sp-stat-val{color:var(--color-primary)}#clp-root .clp-d-stat-txt{display:flex;flex-direction:column;min-width:0}#clp-root .clp-d-tutors{margin-top:16px;padding-top:14px;border-top:1px solid var(--card-border);text-align:left}#clp-root .clp-d-label{font-size:11.5px;font-weight:700;color:var(--text-muted);margin-bottom:8px}#clp-root .clp-d-tutor{display:flex;align-items:center;gap:10px;padding:6px 0}#clp-root .clp-d-tutor-name{flex:1 1;min-width:0;font-size:13px;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root .clp-d-tutor .sp-btn{padding:5px 10px}@media (max-width:760px){#clp-root .clp-d-banner{flex-wrap:wrap}#clp-root .clp-d-banner .sp-btn{margin-left:0}}#clp-root .clp-d-kpis{display:flex;flex-direction:column}#clp-root .clp-d-kpi{display:flex;align-items:center;gap:12px;width:100%;padding:11px 0;border:none;border-top:1px solid var(--card-border);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}#clp-root .clp-d-kpi:first-of-type{border-top:none}#clp-root .clp-d-kpi-line{flex:1 1;min-width:0;display:flex;align-items:baseline;gap:8px}#clp-root .clp-d-kpi-line b{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .clp-d-kpi-line span{font-size:13px;font-weight:600;color:var(--text-muted)}#clp-root .clp-d-kpi-chev{width:16px;height:16px;color:var(--text-muted);flex:none}#clp-root .clp-d-kpi:hover .clp-d-kpi-line b{color:var(--color-primary)}#clp-root .sp-donut-fg{stroke:url(#clpDonutGrad)}#clp-root #clp-progress .sp-lvl-txt{flex-direction:row;align-items:baseline;gap:8px}#clp-root #clp-progress .sp-lvl-txt b{font-size:20px;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root #clp-progress .sp-lvl-txt small{font-size:13px;font-weight:600}#clp-root .clp-d-tcard{background:var(--card-bg)}#clp-root .clp-d-tcard .clp-d-tutor{padding:12px 0;border-top:1px solid var(--card-border)}#clp-root .clp-d-tcard .sp-dtitle+.clp-d-tutor{border-top:none;padding-top:4px}#clp-root .clp-d-tcard .sp-mini-av{width:34px;height:34px;flex-basis:34px;font-size:12px}#clp-root .clp-d-tcard .clp-d-tutor-name{font-size:13.5px;font-weight:700}#clp-root .sp-quote-empty{padding:0 22px 16px}#clp-root #clp-px-pay td.sp-pay-amount,#clp-root #clp-px-pay tfoot .sp-pay-amount{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.3}#clp-root #clp-px-pay .sp-pay-total .sp-pay-amount{font-size:15px;font-weight:800}#clp-root #clp-px-pay .sp-card-title{flex-wrap:nowrap;overflow:visible;min-height:0;align-items:center}#clp-root #clp-px-pay .sp-pay-switch{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;height:auto;overflow:visible;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 7%,transparent)}#clp-root #clp-px-pay .sp-pay-switch-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--text-muted);padding:7px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}#clp-root #clp-px-pay .sp-pay-switch-btn:hover{color:var(--text-main)}#clp-root #clp-px-pay .sp-pay-switch-btn.active{background:var(--card-bg);color:var(--color-primary);box-shadow:0 1px 3px rgba(26,29,58,.1)}#clp-root #clp-px-pay .sp-pay-switch-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#clp-root #clp-px-pay .sp-pay-switch-count{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger);border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:700;line-height:1.5}#clp-root #clp-px-pay .sp-pay-download{width:auto;min-width:0;height:34px;padding:0 14px;gap:6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent);background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg));box-shadow:none;transition:background .15s ease,border-color .15s ease}#clp-root #clp-px-pay .sp-pay-download i,#clp-root #clp-px-pay .sp-pay-download svg{width:15px;height:15px}#clp-root #clp-px-pay .sp-pay-download:hover{background:color-mix(in srgb,var(--color-primary) 14%,var(--card-bg));border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);color:var(--color-primary)}@media (max-width:640px){#clp-root #clp-px-pay .sp-pay-download{height:40px}}#clp-root #clp-px-exam .sp-exam-list,#tup-root #clp-px-exam .sp-exam-list{display:flex;flex-direction:column;gap:10px;padding:4px 22px 22px}#clp-root #clp-px-exam .sp-exam-group,#tup-root #clp-px-exam .sp-exam-group{padding:12px 2px 0;font-size:11.5px}#clp-root #clp-px-exam .sp-exam-group:first-child,#tup-root #clp-px-exam .sp-exam-group:first-child{padding-top:6px}#clp-root #clp-px-exam .sp-exam-group-count,#tup-root #clp-px-exam .sp-exam-group-count{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:700}#clp-root #clp-px-exam .sp-exam-line,#tup-root #clp-px-exam .sp-exam-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;grid-column-gap:16px;column-gap:16px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--card-border) 28%,transparent);border-radius:16px;background:color-mix(in srgb,var(--color-primary) 3.5%,var(--card-bg));box-shadow:0 1px 2px rgba(26,29,58,.03),0 10px 26px -20px rgba(99,102,241,.2);transition:box-shadow .15s ease,transform .15s ease}#clp-root #clp-px-exam .sp-exam-line:last-child,#tup-root #clp-px-exam .sp-exam-line:last-child{border-bottom:1px solid color-mix(in srgb,var(--card-border) 28%,transparent)}html:not([data-theme=dark]) #clp-root #clp-px-exam .sp-exam-line{border-radius:16px}#clp-root #clp-px-exam .sp-exam-line:hover,#tup-root #clp-px-exam .sp-exam-line:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(26,29,58,.04),0 14px 30px -16px rgba(99,102,241,.28)}#clp-root #clp-px-exam .sp-exam-line--next,#tup-root #clp-px-exam .sp-exam-line--next{background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));border-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}#clp-root #clp-px-exam .sp-exam-line--past,#tup-root #clp-px-exam .sp-exam-line--past{background:color-mix(in srgb,var(--text-muted) 5%,var(--card-bg));box-shadow:none}#clp-root #clp-px-exam .sp-exam-date-tile,#tup-root #clp-px-exam .sp-exam-date-tile{width:56px;height:56px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));color:var(--color-primary)}#clp-root #clp-px-exam .sp-exam-date-tile b,#tup-root #clp-px-exam .sp-exam-date-tile b{font-size:20px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root #clp-px-exam .sp-exam-date-tile span,#tup-root #clp-px-exam .sp-exam-date-tile span{margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#clp-root #clp-px-exam .sp-exam-line--past .sp-exam-date-tile,#tup-root #clp-px-exam .sp-exam-line--past .sp-exam-date-tile{background:color-mix(in srgb,var(--text-muted) 12%,var(--card-bg));color:var(--text-muted)}#clp-root #clp-px-exam .sp-exam-main,#tup-root #clp-px-exam .sp-exam-main{gap:3px;align-items:flex-start}#clp-root #clp-px-exam .sp-exam-type,#tup-root #clp-px-exam .sp-exam-type{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,transparent)}#clp-root #clp-px-exam .sp-exam-line--past .sp-exam-type,#tup-root #clp-px-exam .sp-exam-line--past .sp-exam-type{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}#clp-root #clp-px-exam .sp-exam-title,#tup-root #clp-px-exam .sp-exam-title{max-width:100%;margin-top:3px;font-size:14.5px;font-weight:700}#clp-root #clp-px-exam .sp-exam-line--next .sp-exam-title,#tup-root #clp-px-exam .sp-exam-line--next .sp-exam-title{font-weight:800}#clp-root #clp-px-exam .sp-exam-when,#tup-root #clp-px-exam .sp-exam-when{font-size:12.5px;font-weight:500;color:var(--text-muted);text-transform:capitalize}#clp-root #clp-px-exam .sp-exam-ref,#tup-root #clp-px-exam .sp-exam-ref{font-size:11.5px;color:var(--text-muted)}#clp-root #clp-px-exam .sp-exam-status,#tup-root #clp-px-exam .sp-exam-status{display:flex;justify-content:flex-end}#clp-root #clp-px-exam .sp-exam-details-btn,#tup-root #clp-px-exam .sp-exam-details-btn{border-radius:999px!important;padding:7px 14px!important;min-height:34px;background:var(--card-bg)!important;color:var(--color-primary)!important;border:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent)!important}#clp-root #clp-px-exam .sp-exam-details-btn:hover,#tup-root #clp-px-exam .sp-exam-details-btn:hover{background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))!important;border-color:color-mix(in srgb,var(--color-primary) 45%,transparent)!important}@media (max-width:860px){#clp-root #clp-px-exam .sp-exam-line,#tup-root #clp-px-exam .sp-exam-line{grid-template-columns:56px minmax(0,1fr) auto}#clp-root #clp-px-exam .sp-exam-action,#tup-root #clp-px-exam .sp-exam-action{grid-column:2/-1;justify-content:flex-start}}@media (max-width:640px){#clp-root #clp-px-exam .sp-exam-list,#tup-root #clp-px-exam .sp-exam-list{padding:4px 14px 16px}#clp-root #clp-px-exam .sp-exam-line,#tup-root #clp-px-exam .sp-exam-line{grid-template-columns:48px minmax(0,1fr);row-gap:10px;padding:12px 14px}#clp-root #clp-px-exam .sp-exam-date-tile,#tup-root #clp-px-exam .sp-exam-date-tile{width:48px;height:48px}#clp-root #clp-px-exam .sp-exam-action,#clp-root #clp-px-exam .sp-exam-status,#tup-root #clp-px-exam .sp-exam-action,#tup-root #clp-px-exam .sp-exam-status{grid-column:2;justify-content:flex-start}}#clp-root #clp-px-exam .sp-exam-list,#tup-root #clp-px-exam .sp-exam-list{padding:8px 26px 26px;gap:12px}#clp-root #clp-px-exam .sp-exam-line,#tup-root #clp-px-exam .sp-exam-line{padding:18px 24px!important;column-gap:20px}#clp-root #clp-px-exam .sp-exam-date-tile,#tup-root #clp-px-exam .sp-exam-date-tile{width:54px;height:54px;margin:2px 0}#clp-root #clp-px-exam .sp-exam-status,#tup-root #clp-px-exam .sp-exam-status{gap:10px;align-items:center;flex-wrap:wrap}#clp-root #clp-px-exam .sp-exam-type,#tup-root #clp-px-exam .sp-exam-type{white-space:nowrap;padding:4px 11px;font-size:10.5px;text-transform:uppercase}#clp-root #clp-px-exam .sp-exam-type--cours,#tup-root #clp-px-exam .sp-exam-type--cours{color:#6d4aff;background:color-mix(in srgb,#7c5cff 8%,transparent);font-weight:600}#clp-root #clp-px-exam .sp-exam-type--comm,#tup-root #clp-px-exam .sp-exam-type--comm{color:#0b8f7a;background:color-mix(in srgb,#14b8a6 8%,transparent);font-weight:600}#clp-root #clp-px-exam .sp-exam-type--final,#tup-root #clp-px-exam .sp-exam-type--final{color:#b45309;background:color-mix(in srgb,#f59e0b 9%,transparent);font-weight:600}#clp-root #clp-px-exam .sp-exam-line--past .sp-exam-type,#tup-root #clp-px-exam .sp-exam-line--past .sp-exam-type{opacity:.7}#clp-root #clp-px-exam .sp-exam-status .status-badge,#tup-root #clp-px-exam .sp-exam-status .status-badge{padding:4px 11px;font-size:10.5px;font-weight:700;letter-spacing:.03em;border-width:1px}#clp-root #clp-px-exam .sp-exam-line--next .sp-exam-status .status-badge,#tup-root #clp-px-exam .sp-exam-line--next .sp-exam-status .status-badge{background:transparent;color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 32%,transparent)}#clp-root #clp-px-exam .sp-exam-line--next .sp-exam-status .status-badge-dot,#tup-root #clp-px-exam .sp-exam-line--next .sp-exam-status .status-badge-dot{background:var(--color-primary)}#clp-root #clp-px-exam .sp-exam-line--past .sp-exam-status .status-badge,#tup-root #clp-px-exam .sp-exam-line--past .sp-exam-status .status-badge{background:transparent;border-color:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted);font-weight:600}#clp-root #clp-px-exam .sp-exam-line--past .sp-exam-status .status-badge-dot,#tup-root #clp-px-exam .sp-exam-line--past .sp-exam-status .status-badge-dot{background:var(--text-muted)}@media (max-width:640px){#clp-root #clp-px-exam .sp-exam-line,#tup-root #clp-px-exam .sp-exam-line{padding:14px 16px!important}}#clp-root{--px-line:color-mix(in srgb,var(--card-border) 70%,transparent)}#clp-root .px-split,#tup-root .px-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);grid-gap:20px;gap:20px;align-items:start}#clp-root .px-side,#tup-root .px-side{position:-webkit-sticky;position:sticky;top:16px}@media (max-width:1000px){#clp-root .px-split,#tup-root .px-split{grid-template-columns:minmax(0,1fr)}#clp-root .px-side,#tup-root .px-side{position:static}}#clp-root .px-side>.card,#clp-root .px-split>.card,#tup-root .px-side>.card,#tup-root .px-split>.card{width:100%;box-sizing:border-box;margin:0}#clp-root .px-section,#tup-root .px-section{display:flex;align-items:center;gap:8px;padding:16px 22px 6px;font-size:12.5px;font-weight:600;color:var(--text-muted);letter-spacing:0;text-transform:none}#clp-root .px-count,#tup-root .px-count{padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}#clp-root .px-list,#tup-root .px-list{display:flex;flex-direction:column;padding:0 10px 10px}#clp-root .px-row,#tup-root .px-row{display:grid;grid-template-columns:8px minmax(0,1fr) 112px minmax(120px,190px);align-items:center;grid-column-gap:14px;column-gap:14px;padding:12px;border-radius:12px}#clp-root .px-row+.px-row,#tup-root .px-row+.px-row{border-top:1px solid var(--px-line);border-top-left-radius:0;border-top-right-radius:0}#clp-root .px-row--current,#tup-root .px-row--current{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid));border-top-color:transparent}#clp-root .px-row--current+.px-row,#tup-root .px-row--current+.px-row{border-top-color:transparent}#clp-root .px-dot,#tup-root .px-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint,#98A2B3)}#clp-root .px-dot--ok,#tup-root .px-dot--ok{background:color-mix(in srgb,var(--color-success) 85%,var(--text-main))}#clp-root .px-dot--info,#tup-root .px-dot--info{background:color-mix(in srgb,var(--color-primary) 80%,var(--text-main))}#clp-root .px-dot--warn,#tup-root .px-dot--warn{background:color-mix(in srgb,var(--color-warning) 85%,var(--text-main))}#clp-root .px-main,#tup-root .px-main{min-width:0;display:flex;flex-direction:column;gap:2px}#clp-root .px-title,#tup-root .px-title{font-size:14px;font-weight:600;color:var(--text-main);display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}#clp-root .px-title--lg,#tup-root .px-title--lg{font-size:17px;font-weight:700}#clp-root .px-row--current .px-title,#tup-root .px-row--current .px-title{font-weight:700}#clp-root .px-sub,#tup-root .px-sub{font-size:13px;color:var(--text-muted);font-weight:400}#clp-root .px-status,#tup-root .px-status{display:flex}#clp-root .px-meta,#tup-root .px-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}#clp-root .px-pct,#tup-root .px-pct{font-size:13px;color:var(--text-muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .px-bar,#tup-root .px-bar{flex:1 1;max-width:70px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);overflow:hidden}#clp-root .px-bar i,#tup-root .px-bar i{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-primary) 85%,var(--text-main))}@media (max-width:640px){#clp-root .px-row,#tup-root .px-row{grid-template-columns:8px minmax(0,1fr);row-gap:6px}#clp-root .px-meta,#clp-root .px-status,#tup-root .px-meta,#tup-root .px-status{grid-column:2;justify-content:flex-start}}#clp-root .px-list--exams,#tup-root .px-list--exams{padding:0 10px 12px}#clp-root .px-exam,#tup-root .px-exam{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;grid-column-gap:16px;column-gap:16px;padding:14px 12px}#clp-root .px-exam+.px-exam,#tup-root .px-exam+.px-exam{border-top:1px solid var(--px-line)}#clp-root .px-exam--next,#tup-root .px-exam--next{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid));border-radius:12px;border-top-color:transparent}#clp-root .px-exam--next+.px-exam,#tup-root .px-exam--next+.px-exam{border-top-color:transparent}#clp-root .px-date,#tup-root .px-date{line-height:1.1;padding:6px 0;border-radius:10px;border:1px solid var(--px-line);background:var(--surface-solid)}#clp-root .px-date b,#tup-root .px-date b{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-main)}#clp-root .px-date span,#tup-root .px-date span{margin-top:2px;font-size:12px;font-weight:500;color:var(--text-muted);text-transform:lowercase}#clp-root .px-exam--past .px-date b,#tup-root .px-exam--past .px-date b{color:var(--text-muted)}#clp-root .px-type,#tup-root .px-type{font-size:12.5px;color:var(--text-muted);padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 9%,transparent);text-transform:none;letter-spacing:0}#clp-root .px-prof,#tup-root .px-prof{display:flex;align-items:center;gap:6px}#clp-root .px-prof i,#clp-root .px-prof svg,#tup-root .px-prof i,#tup-root .px-prof svg{width:13px;height:13px;flex-shrink:0}#clp-root .px-pill,#tup-root .px-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;background:color-mix(in srgb,var(--pc,var(--text-muted)) 11%,transparent);color:color-mix(in srgb,var(--pc,var(--text-muted)) 80%,var(--text-main))}#clp-root .px-pill:before,#tup-root .px-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}#clp-root .px-pill--ok,#tup-root .px-pill--ok{--pc:var(--color-success)}#clp-root .px-pill--bad,#tup-root .px-pill--bad{--pc:var(--color-danger)}#clp-root .px-pill--info,#tup-root .px-pill--info{--pc:var(--color-primary)}#clp-root .px-pill--mute,#tup-root .px-pill--mute{--pc:var(--text-muted)}#clp-root .px-link,#tup-root .px-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer}#clp-root .px-link:hover,#tup-root .px-link:hover{color:var(--text-main);background:color-mix(in srgb,var(--text-muted) 8%,transparent)}#clp-root .px-link i,#clp-root .px-link svg,#tup-root .px-link i,#tup-root .px-link svg{width:14px;height:14px}#clp-root .px-scores,#tup-root .px-scores{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}#clp-root .px-score,#tup-root .px-score{font-size:12.5px;color:var(--text-muted);padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 9%,transparent)}#clp-root .px-score b,#tup-root .px-score b{color:var(--text-main);font-weight:600}@media (max-width:760px){#clp-root .px-exam,#tup-root .px-exam{grid-template-columns:48px minmax(0,1fr);row-gap:8px}#clp-root .px-exam .px-link,#clp-root .px-exam .px-pill,#tup-root .px-exam .px-link,#tup-root .px-exam .px-pill{grid-column:2;justify-self:start}}#clp-root .px-pay-side,#tup-root .px-pay-side{min-width:0}#clp-root .px-pay-side>.sp-dcard,#tup-root .px-pay-side>.sp-dcard{height:auto}#clp-root .px-pay-side .sp-pm-actions--center,#tup-root .px-pay-side .sp-pm-actions--center{display:none}#clp-root .px-docrow,#tup-root .px-docrow{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;align-items:center;grid-column-gap:16px;column-gap:16px;padding:12px}#clp-root .px-dochead+.px-docrow,#clp-root .px-docrow+.px-docrow,#tup-root .px-dochead+.px-docrow,#tup-root .px-docrow+.px-docrow{border-top:1px solid var(--px-line)}#clp-root .px-docrow--single,#tup-root .px-docrow--single{grid-template-columns:36px minmax(0,1fr) auto}#clp-root .px-dochead,#tup-root .px-dochead{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;grid-column-gap:16px;column-gap:16px;padding:4px 12px 8px;font-size:12.5px;font-weight:500;color:var(--text-muted)}#clp-root .px-docicon,#tup-root .px-docicon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--text-muted) 9%,transparent);color:var(--text-muted)}#clp-root .px-docicon i,#clp-root .px-docicon svg,#tup-root .px-docicon i,#tup-root .px-docicon svg{width:16px;height:16px}#clp-root .px-doccell,#tup-root .px-doccell{display:flex;align-items:center;gap:10px}#clp-root .px-docrow--single .px-doccell,#tup-root .px-docrow--single .px-doccell{justify-content:flex-end}#clp-root .px-docstate,#tup-root .px-docstate{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);min-width:78px}#clp-root .px-docstate:before,#tup-root .px-docstate:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-faint,#98A2B3)}#clp-root .px-docstate--ok:before,#tup-root .px-docstate--ok:before{background:color-mix(in srgb,var(--color-success) 85%,var(--text-main))}#clp-root .px-docbtn,#tup-root .px-docbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:9px;border:1px solid var(--px-line);background:var(--surface-solid);color:var(--text-main);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;margin-left:auto}#clp-root .px-docbtn:hover,#tup-root .px-docbtn:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface-solid));border-color:color-mix(in srgb,var(--color-primary) 35%,var(--px-line))}#clp-root .px-docbtn i,#clp-root .px-docbtn svg{width:14px;height:14px}#tup-root #clp-px-exam,#tup-root #tup-classes{--card-pad:0px}#tup-root .px-docbtn i,#tup-root .px-docbtn svg{width:14px;height:14px}#clp-root .px-docbtn[disabled],#tup-root .px-docbtn[disabled]{opacity:.5;cursor:not-allowed}#clp-root .px-docbtn[disabled]:hover,#tup-root .px-docbtn[disabled]:hover{background:var(--surface-solid);border-color:var(--px-line)}#clp-root .px-empty,#tup-root .px-empty{display:flex;align-items:center;gap:10px;padding:8px 22px 20px;font-size:13px;color:var(--text-muted)}#clp-root .px-empty i,#clp-root .px-empty svg,#tup-root .px-empty i,#tup-root .px-empty svg{width:16px;height:16px}@media (max-width:760px){#clp-root .px-dochead,#tup-root .px-dochead{display:none}#clp-root .px-docrow,#tup-root .px-docrow{grid-template-columns:minmax(0,1fr);row-gap:8px}#clp-root .px-doccell:before,#tup-root .px-doccell:before{content:attr(data-label);min-width:62px;font-size:13px;font-weight:500;color:var(--text-main)}#clp-root .px-docrow--single,#tup-root .px-docrow--single{grid-template-columns:36px minmax(0,1fr)}#clp-root .px-docrow--single .px-doccell,#tup-root .px-docrow--single .px-doccell{grid-column:2;justify-content:flex-start}#clp-root .px-docrow--single .px-doccell:before,#tup-root .px-docrow--single .px-doccell:before{content:none}}#clp-root .px-paywrap,#tup-root .px-paywrap{display:flex;flex-direction:column;gap:16px;width:100%}#clp-root .px-paybar,#tup-root .px-paybar{padding:0}#clp-root .px-paybar-msg,#tup-root .px-paybar-msg{display:flex;align-items:center;gap:14px;padding:18px 22px}#clp-root .px-paybar-msg>div,#tup-root .px-paybar-msg>div{flex:1 1;min-width:0}#clp-root .px-payicon,#tup-root .px-payicon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-muted)}#clp-root .px-payicon i,#clp-root .px-payicon svg,#tup-root .px-payicon i,#tup-root .px-payicon svg{width:18px;height:18px}#clp-root .px-payicon--ok,#tup-root .px-payicon--ok{background:color-mix(in srgb,var(--color-success) 13%,transparent);color:color-mix(in srgb,var(--color-success) 80%,var(--text-main))}#clp-root .px-payicon--due,#tup-root .px-payicon--due{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:color-mix(in srgb,var(--color-warning) 75%,var(--text-main))}#clp-root .px-paytitle,#tup-root .px-paytitle{font-size:16px;font-weight:700;color:var(--text-main)}#clp-root .px-paybtn,#tup-root .px-paybtn{flex-shrink:0;min-height:38px;padding:0 18px}#clp-root .px-paystats,#tup-root .px-paystats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--px-line)}#clp-root .px-paystat,#tup-root .px-paystat{display:flex;flex-direction:column;gap:2px;padding:14px 22px}#clp-root .px-paystat+.px-paystat,#tup-root .px-paystat+.px-paystat{border-left:1px solid var(--px-line)}#clp-root .px-paystat span,#tup-root .px-paystat span{font-size:13px;color:var(--text-muted)}#clp-root .px-paystat b,#tup-root .px-paystat b{font-size:16px;font-weight:700;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .px-paystat--due b,#tup-root .px-paystat--due b{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}@media (max-width:640px){#clp-root .px-paybar-msg,#tup-root .px-paybar-msg{flex-wrap:wrap}#clp-root .px-paybtn,#tup-root .px-paybtn{width:100%}#clp-root .px-paystats,#tup-root .px-paystats{grid-template-columns:1fr}#clp-root .px-paystat+.px-paystat,#tup-root .px-paystat+.px-paystat{border-left:0;border-top:1px solid var(--px-line)}}#clp-root .px-list--pay,#tup-root .px-list--pay{padding:0 10px 10px}#clp-root .px-payhead,#clp-root .px-payrow,#tup-root .px-payhead,#tup-root .px-payrow{display:grid;grid-template-columns:130px minmax(0,1fr) 120px 100px 110px;align-items:center;grid-column-gap:16px;column-gap:16px;padding:12px}#clp-root .px-payhead,#tup-root .px-payhead{padding-top:4px;padding-bottom:8px;font-size:12.5px;font-weight:500;color:var(--text-muted)}#clp-root .px-payrow,#tup-root .px-payrow{border-top:1px solid var(--px-line);font-size:14px;color:var(--text-main)}#clp-root .px-paydate,#tup-root .px-paydate{color:var(--text-muted);font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .px-paylabel,#tup-root .px-paylabel{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root .px-payamt,#tup-root .px-payamt{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .px-payamt--late,#tup-root .px-payamt--late{color:color-mix(in srgb,var(--color-danger) 80%,var(--text-main))}#clp-root .px-r,#tup-root .px-r{text-align:right}#clp-root .px-payact,#tup-root .px-payact{display:flex;justify-content:flex-end}#clp-root .px-payact .px-docbtn,#tup-root .px-payact .px-docbtn{margin-left:0}#clp-root .px-paytotal,#tup-root .px-paytotal{display:flex;justify-content:space-between;padding:12px;border-top:1px solid var(--px-line);font-size:14px;color:var(--text-muted)}#clp-root .px-paytotal b,#tup-root .px-paytotal b{color:var(--text-main);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#clp-root .px-note,#tup-root .px-note{padding:0 22px 16px;font-size:13px;color:var(--text-muted)}@media (max-width:760px){#clp-root .px-payhead,#tup-root .px-payhead{display:none}#clp-root .px-payrow,#tup-root .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#clp-root .px-payrow .px-paydate,#tup-root .px-payrow .px-paydate{grid-column:1/-1}#clp-root .px-payact,#tup-root .px-payact{grid-column:1/-1;justify-content:flex-start}}#clp-root .px-date,#tup-root .px-date{min-height:52px}#clp-root .px-date span,#tup-root .px-date span{margin-top:3px}#clp-root .px-nextlist,#tup-root .px-nextlist{display:flex;flex-direction:column}#clp-root .px-nextlist .px-next,#tup-root .px-nextlist .px-next{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#clp-root .px-nextlist .px-next+.px-next,#tup-root .px-nextlist .px-next+.px-next{border-top:1px solid var(--px-line)}#clp-root .px-nextlist .px-main,#tup-root .px-nextlist .px-main{flex:1 1;min-width:140px}#clp-root .px-next-icon,#tup-root .px-next-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 9%,transparent);color:var(--purple-text)}#clp-root .px-next-icon i,#clp-root .px-next-icon svg,#tup-root .px-next-icon i,#tup-root .px-next-icon svg{width:18px;height:18px}#clp-root .px-nextlist .sp-next-level-btn,#tup-root .px-nextlist .sp-next-level-btn{width:auto;flex-shrink:0;min-height:36px;padding:0 16px}#clp-root .px-hint,#tup-root .px-hint{padding:4px 22px 16px;font-size:13px;color:var(--text-muted)}#clp-root .px-split,#tup-root .px-split{display:flex;flex-direction:column;gap:16px;width:100%}#clp-root .px-side,#tup-root .px-side{position:static;width:100%;min-width:0}#clp-root .px-row,#tup-root .px-row{grid-template-columns:8px minmax(0,1fr) 120px minmax(120px,200px)}#clp-root .px-nextlist .px-next,#tup-root .px-nextlist .px-next{padding:12px 22px}#clp-root .px-date,#tup-root .px-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;min-height:0;padding:0;box-sizing:border-box;text-align:center;line-height:1;gap:3px}#clp-root .px-date b,#clp-root .px-date span,#tup-root .px-date b,#tup-root .px-date span{display:block;width:100%;margin:0;padding:0;text-align:center;line-height:1}#clp-root .px-payicon--due,#tup-root .px-payicon--due{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}#clp-root .px-paybar-bar,#tup-root .px-paybar-bar{height:4px;margin:0 22px 18px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}#clp-root .px-paybar-bar span,#tup-root .px-paybar-bar span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-primary) 80%,var(--text-main))}#clp-root .px-list--pay4 .px-payhead,#clp-root .px-list--pay4 .px-payrow,#tup-root .px-list--pay4 .px-payhead,#tup-root .px-list--pay4 .px-payrow{grid-template-columns:120px minmax(0,1fr) 120px 96px}#clp-root .px-list--pay4 .px-payrow:hover,#tup-root .px-list--pay4 .px-payrow:hover{background:color-mix(in srgb,var(--text-muted) 5%,transparent)}#clp-root .px-msg,#tup-root .px-msg{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:30px 22px 34px}#clp-root .px-msg b,#tup-root .px-msg b{font-size:15px;font-weight:700;color:var(--text-main)}#clp-root .px-msg>span:not(.px-msg-ic),#tup-root .px-msg>span:not(.px-msg-ic){font-size:13px;color:var(--text-muted);max-width:360px}#clp-root .px-msg-ic,#tup-root .px-msg-ic{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-muted)}#clp-root .px-msg-ic i,#clp-root .px-msg-ic svg,#tup-root .px-msg-ic i,#tup-root .px-msg-ic svg{width:20px;height:20px}#clp-root .px-msg-btn,#tup-root .px-msg-btn{margin-top:10px;padding:6px 14px;font-size:12.5px}#clp-root .px-sk-ic,#tup-root .px-sk-ic{width:38px;height:38px;border-radius:50%;flex:0 0 38px}#clp-root .px-sk-col,#tup-root .px-sk-col{display:flex;flex-direction:column;gap:8px;flex:1 1}#clp-root .px-exgrid,#tup-root .px-exgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start;width:100%}#clp-root .px-exgrid>.card,#tup-root .px-exgrid>.card{overflow:visible;margin:0;min-width:0}#clp-root .px-excol .px-list--exams,#tup-root .px-excol .px-list--exams{padding:0 8px 10px}#clp-root .px-excol .px-count,#tup-root .px-excol .px-count{margin-left:8px}#clp-root .px-excol .px-exam,#tup-root .px-excol .px-exam{grid-template-columns:52px minmax(0,1fr) auto;column-gap:14px}#clp-root .px-exact,#tup-root .px-exact{display:flex;align-items:center;gap:6px;justify-self:end}#clp-root .px-more,#tup-root .px-more{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}#clp-root .px-more:hover,#tup-root .px-more:hover{background:color-mix(in srgb,var(--text-muted) 10%,transparent);color:var(--text-main)}#clp-root .px-more i,#clp-root .px-more svg,#tup-root .px-more i,#tup-root .px-more svg{width:16px;height:16px}#clp-root .px-more-wrap .sp-dd-menu,#tup-root .px-more-wrap .sp-dd-menu{min-width:180px;z-index:40}@media (max-width:1000px){#clp-root .px-exgrid,#tup-root .px-exgrid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){#clp-root .px-excol .px-exam,#tup-root .px-excol .px-exam{grid-template-columns:48px minmax(0,1fr)}#clp-root .px-excol .px-exact,#tup-root .px-excol .px-exact{grid-column:2;justify-self:start}}#clp-root .px-paygrid,#tup-root .px-paygrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:16px;gap:16px;width:100%}#clp-root .px-paygrid>.card,#tup-root .px-paygrid>.card{margin:0;min-width:0}#clp-root .px-paygrid .px-paybar-msg,#tup-root .px-paygrid .px-paybar-msg{flex-direction:column;align-items:flex-start;gap:12px}#clp-root .px-paygrid .px-paybar-msg>div,#tup-root .px-paygrid .px-paybar-msg>div{flex:none;width:100%}#clp-root .px-paygrid .px-paybtn,#tup-root .px-paygrid .px-paybtn{width:100%}#clp-root .px-paygrid .px-paybar-bar,#tup-root .px-paygrid .px-paybar-bar{margin:0 22px 20px}@media (max-width:1000px){#clp-root .px-paygrid,#tup-root .px-paygrid{grid-template-columns:minmax(0,1fr)}#clp-root .px-paygrid>.px-paybar,#tup-root .px-paygrid>.px-paybar{order:-1}}#clp-root .px-list--dues .px-payhead,#clp-root .px-list--dues .px-payrow,#tup-root .px-list--dues .px-payhead,#tup-root .px-list--dues .px-payrow{grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr) 100px 120px}#clp-root .px-paynote,#tup-root .px-paynote{color:var(--text-muted);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){#clp-root .px-list--dues .px-payhead,#tup-root .px-list--dues .px-payhead{display:none}#clp-root .px-list--dues .px-payrow,#tup-root .px-list--dues .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#clp-root .px-list--dues .px-payrow .px-paydate,#clp-root .px-list--dues .px-payrow .px-paynote,#tup-root .px-list--dues .px-payrow .px-paydate,#tup-root .px-list--dues .px-payrow .px-paynote{grid-column:1/-1}}@media (min-width:761px){#clp-root .px-dochead,#clp-root .px-docrow:not(.px-docrow--single),#tup-root .px-dochead,#tup-root .px-docrow:not(.px-docrow--single){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}#clp-root .px-dochead span:nth-child(2),#tup-root .px-dochead span:nth-child(2){text-align:center}#clp-root .px-dochead span:nth-child(3),#tup-root .px-dochead span:nth-child(3){text-align:right}#clp-root .px-docrow:not(.px-docrow--single) .px-doccell,#tup-root .px-docrow:not(.px-docrow--single) .px-doccell{justify-content:flex-end}#clp-root .px-docrow:not(.px-docrow--single) .px-doccell:first-of-type,#tup-root .px-docrow:not(.px-docrow--single) .px-doccell:first-of-type{justify-content:center}#clp-root .px-docrow:not(.px-docrow--single) .px-docbtn,#tup-root .px-docrow:not(.px-docrow--single) .px-docbtn{margin-left:0}}@media (max-width:760px){#clp-root .px-list--pay4 .px-payhead,#tup-root .px-list--pay4 .px-payhead{display:none}#clp-root .px-list--pay4 .px-payrow,#tup-root .px-list--pay4 .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}#clp-root .px-list--pay4 .px-payrow .px-paydate,#tup-root .px-list--pay4 .px-payrow .px-paydate{grid-column:1/-1}}@media (min-width:761px){#clp-root .px-list--docs .px-dochead,#clp-root .px-list--docs .px-docrow:not(.px-docrow--single),#tup-root .px-list--docs .px-dochead,#tup-root .px-list--docs .px-docrow:not(.px-docrow--single){grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);column-gap:24px}#clp-root .px-list--docs .px-dochead span:nth-child(n+2),#tup-root .px-list--docs .px-dochead span:nth-child(n+2){text-align:center}#clp-root .px-list--docs .px-docrow:not(.px-docrow--single) .px-doccell,#tup-root .px-list--docs .px-docrow:not(.px-docrow--single) .px-doccell{justify-content:center}}#clp-root .px-filter,#tup-root .px-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}#clp-root .px-fchip,#tup-root .px-fchip{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:600;line-height:1;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}#clp-root .px-fchip:hover,#tup-root .px-fchip:hover{color:var(--text-main)}#clp-root .px-fchip.is-on,#tup-root .px-fchip.is-on{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg))}#clp-root .px-fchip:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#tup-root .px-fchip:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}#clp-root .px-exgrid,#tup-root .px-exgrid{gap:24px}#clp-root .px-excol .sp-card-title,#tup-root .px-excol .sp-card-title{padding-bottom:6px}#clp-root .px-excol .px-list--exams,#tup-root .px-excol .px-list--exams{padding:6px 14px 18px}#clp-root .px-excol .px-exam,#tup-root .px-excol .px-exam{padding:20px 14px;column-gap:18px}#clp-root .px-excol .px-main,#tup-root .px-excol .px-main{display:flex;flex-direction:column;gap:6px}#clp-root .px-excol .px-title,#tup-root .px-excol .px-title{margin-bottom:0;row-gap:6px}#clp-root .px-excol .px-scores,#tup-root .px-excol .px-scores{margin-top:4px}#clp-root .px-excol .px-date,#tup-root .px-excol .px-date{align-self:center}#clp-root .px-docid,#tup-root .px-docid{display:flex;align-items:center;gap:12px;min-width:0}@media (min-width:761px){#clp-root .px-docrow.px-docrow--single,#tup-root .px-docrow.px-docrow--single{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);column-gap:24px}#clp-root .px-docrow.px-docrow--single .px-doccell,#tup-root .px-docrow.px-docrow--single .px-doccell{justify-content:center}#clp-root .px-docrow.px-docrow--single .px-docbtn,#tup-root .px-docrow.px-docrow--single .px-docbtn{margin-left:0}}@media (max-width:760px){#clp-root .px-docrow.px-docrow--single,#tup-root .px-docrow.px-docrow--single{grid-template-columns:minmax(0,1fr);row-gap:8px}#clp-root .px-docrow.px-docrow--single .px-docgap,#tup-root .px-docrow.px-docrow--single .px-docgap{display:none}#clp-root .px-docrow.px-docrow--single .px-doccell,#tup-root .px-docrow.px-docrow--single .px-doccell{grid-column:auto;justify-content:flex-start}}@media (min-width:761px){#clp-root .px-list--pay4 .px-payhead,#clp-root .px-list--pay4 .px-payrow,#tup-root .px-list--pay4 .px-payhead,#tup-root .px-list--pay4 .px-payrow{grid-template-columns:140px minmax(0,1fr) 140px 140px;column-gap:32px}#clp-root .px-list--pay4 .px-payhead span:nth-child(4),#tup-root .px-list--pay4 .px-payhead span:nth-child(4){text-align:center}#clp-root .px-list--pay4 .px-payrow .px-payact,#tup-root .px-list--pay4 .px-payrow .px-payact{display:flex;justify-content:center}}#clp-root .px-exwrap>.px-filter,#tup-root .px-exwrap>.px-filter{margin-bottom:20px}#clp-root .px-paygrid .px-paybar-msg,#tup-root .px-paygrid .px-paybar-msg{padding-bottom:22px}#clp-root .px-exgrid,#clp-root .px-paygrid,#clp-root .px-split,#tup-root .px-exgrid,#tup-root .px-paygrid,#tup-root .px-split{gap:20px}#clp-root .px-type,#tup-root .px-type{font-weight:500}#clp-root .px-type--cours,#tup-root .px-type--cours{color:color-mix(in srgb,#7c5cff 62%,var(--text-muted));background:color-mix(in srgb,#7c5cff 7%,transparent)}#clp-root .px-type--comm,#tup-root .px-type--comm{color:color-mix(in srgb,#0f9d8a 62%,var(--text-muted));background:color-mix(in srgb,#14b8a6 8%,transparent)}#clp-root .px-type--exam,#tup-root .px-type--exam{color:color-mix(in srgb,#d97706 60%,var(--text-muted));background:color-mix(in srgb,#f59e0b 8%,transparent)}#clp-root .px-exam--past .px-type,#tup-root .px-exam--past .px-type{opacity:1}#clp-root .px-pill--mute,#tup-root .px-pill--mute{--pc:color-mix(in srgb,var(--color-warning) 60%,var(--text-muted));background:color-mix(in srgb,var(--color-warning) 8%,transparent)}#clp-root .px-docbtn--ready,#tup-root .px-docbtn--ready{color:color-mix(in srgb,var(--color-success) 88%,var(--text-main));background:transparent;border-color:color-mix(in srgb,var(--color-success) 30%,transparent);font-weight:600}#clp-root .px-docbtn--ready:hover,#tup-root .px-docbtn--ready:hover{background:color-mix(in srgb,var(--color-success) 8%,transparent);border-color:color-mix(in srgb,var(--color-success) 45%,transparent)}#clp-root .px-payrow--click,#tup-root .px-payrow--click{cursor:pointer}#clp-root .px-payrow--click:hover,#tup-root .px-payrow--click:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}#clp-root{--clp-line:color-mix(in srgb,var(--card-border) 75%,transparent);--clp-head-bg:color-mix(in srgb,var(--color-primary) 4%,transparent)}#clp-root #clp-emploi{overflow:visible}#clp-root #clp-emploi .clp-sch-bar{display:flex;align-items:center;padding:14px 22px 16px}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-toolbar{gap:8px;width:100%}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-select-btn,#clp-root #clp-emploi .clp-sch-bar .sp-emploi-today-chip{min-height:36px;padding:6px 12px;border:1px solid var(--card-border);background:transparent;border-radius:10px;font-size:13px;font-weight:600;color:var(--text-muted)}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-select-btn:hover,#clp-root #clp-emploi .clp-sch-bar .sp-emploi-today-chip:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);color:var(--text-main)}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-select-btn.active,#clp-root #clp-emploi .clp-sch-bar .sp-emploi-today-chip.active{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-divider{display:none}#clp-root #clp-emploi .clp-sch-bar .sp-emploi-today-chip:last-child{margin-left:auto}#clp-root #clp-emploi .clp-cren-headrow{margin:0 22px;padding:10px 14px;border:0;border-radius:10px;background:var(--clp-head-bg);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-muted)}#clp-root #clp-emploi .clp-cren-headrow,#clp-root #clp-emploi .clp-cren-row{grid-template-columns:minmax(150px,1.3fr) minmax(120px,.9fr) minmax(0,1.4fr) 36px;column-gap:16px}#clp-root #clp-emploi .clp-cren-list{padding:0 22px 18px}#clp-root #clp-emploi .clp-cren-row{padding:14px;border-radius:0;border-top:0;border-bottom:1px solid var(--clp-line);background:transparent;box-shadow:none}#clp-root #clp-emploi .clp-cren-row:last-child{border-bottom:0}#clp-root #clp-emploi .clp-cren-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}#clp-root #clp-emploi .clp-cren-row.clp-slot-row--today{background:color-mix(in srgb,var(--color-primary) 5%,transparent);box-shadow:inset 2px 0 0 var(--color-primary)}#clp-root #clp-emploi .clp-cren-date{font-size:14px;font-weight:600}#clp-root #clp-emploi .clp-cren-time{margin-top:3px;font-weight:500}#clp-root #clp-emploi .clp-cren-prof{font-weight:500}#clp-root #clp-emploi .row-more-wrap{display:flex;justify-content:flex-end}@media (max-width:900px){#clp-root #clp-emploi .clp-sch-bar{padding:12px 16px 14px}#clp-root #clp-emploi .clp-cren-headrow{display:none}#clp-root #clp-emploi .clp-cren-list{padding:0 16px 14px}#clp-root #clp-emploi .clp-cren-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"when more" "meta more";row-gap:8px;padding:12px 4px}}#clp-root #clp-px-pay{--card-pad:0px;padding:0;overflow:hidden}#clp-root #clp-px-pay>.sp-card-title:first-child{margin:0!important;flex-wrap:wrap;row-gap:10px}#clp-root #clp-px-pay .sp-pay-switch{margin-left:auto;max-width:100%}#clp-root #clp-px-pay .px-list--pay,#tup-root #clp-px-pay .px-list--pay{padding:14px 22px 22px}#clp-root #clp-px-pay .px-payhead,#clp-root #clp-px-pay .px-payrow,#tup-root #clp-px-pay .px-payhead,#tup-root #clp-px-pay .px-payrow{column-gap:20px;padding:14px}#clp-root #clp-px-pay .px-payhead,#tup-root #clp-px-pay .px-payhead{padding-top:10px;padding-bottom:10px;border-radius:10px;background:var(--clp-head-bg);font-size:13px;font-weight:600;color:var(--text-muted)}#clp-root #clp-px-pay .px-payrow,#tup-root #clp-px-pay .px-payrow{border-top:0;border-bottom:1px solid var(--clp-line)}#clp-root #clp-px-pay .px-payrow:last-child,#tup-root #clp-px-pay .px-payrow:last-child{border-bottom:0}#clp-root #clp-px-pay .px-payrow>*,#tup-root #clp-px-pay .px-payrow>*{min-width:0}#clp-root #clp-px-pay .px-paylabel,#clp-root #clp-px-pay .px-paynote,#tup-root #clp-px-pay .px-paylabel,#tup-root #clp-px-pay .px-paynote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clp-root #clp-px-pay .px-list--pay4 .px-payhead,#clp-root #clp-px-pay .px-list--pay4 .px-payrow,#tup-root #clp-px-pay .px-list--pay4 .px-payhead,#tup-root #clp-px-pay .px-list--pay4 .px-payrow{grid-template-columns:120px minmax(0,1fr) 130px 72px}#clp-root #clp-px-pay .px-list--dues .px-payhead,#clp-root #clp-px-pay .px-list--dues .px-payrow,#tup-root #clp-px-pay .px-list--dues .px-payhead,#tup-root #clp-px-pay .px-list--dues .px-payrow{grid-template-columns:110px minmax(0,1.2fr) minmax(0,1fr) 110px 110px}#clp-root #clp-px-pay .px-list--pay4 .px-payhead span:nth-child(4),#clp-root #clp-px-pay .px-list--pay4 .px-payrow .px-payact,#tup-root #clp-px-pay .px-list--pay4 .px-payhead span:nth-child(4),#tup-root #clp-px-pay .px-list--pay4 .px-payrow .px-payact{justify-self:end;text-align:right;display:flex;justify-content:flex-end}#clp-root .px-paygrid,#tup-root .px-paygrid{grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}#clp-root .clp-solde,#clp-root .clp-solde .clp-stu-ok,#clp-root .clp-solde .clp-stu-rest,#tup-root .clp-solde,#tup-root .clp-solde .clp-stu-ok,#tup-root .clp-solde .clp-stu-rest{font-size:14px;font-weight:600;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:normal}#clp-root .clp-cc{margin:0 22px 14px;border:1px solid var(--card-border);border-radius:14px;overflow:hidden;background:var(--card-bg)}#clp-root .clp-cc-head{display:flex;align-items:center;gap:12px;padding:12px 16px}#clp-root .clp-cc-ico{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:color-mix(in srgb,var(--color-success) 13%,transparent);color:color-mix(in srgb,var(--color-success) 80%,var(--text-main))}#clp-root .clp-cc--warning .clp-cc-ico{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:color-mix(in srgb,var(--color-warning) 75%,var(--text-main))}#clp-root .clp-cc--critical .clp-cc-ico{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}#clp-root .clp-cc-ico i,#clp-root .clp-cc-ico svg{width:17px;height:17px}#clp-root .clp-cc-txt{flex:1 1;min-width:0}#clp-root .clp-cc-title{font-size:14px;font-weight:600;color:var(--text-main)}#clp-root .clp-cc-sub{font-size:12.5px;color:var(--text-muted)}#clp-root .clp-cc-badge{flex:none;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-success) 12%,transparent);color:color-mix(in srgb,var(--color-success) 80%,var(--text-main))}#clp-root .clp-cc--warning .clp-cc-badge{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:color-mix(in srgb,var(--color-warning) 75%,var(--text-main))}#clp-root .clp-cc--critical .clp-cc-badge{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}#clp-root .clp-cc-list{border-top:1px solid var(--card-border)}#clp-root .clp-cc-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;font-size:13px}#clp-root .clp-cc-item+.clp-cc-item{border-top:1px solid var(--card-border)}#clp-root .clp-cc-item>i,#clp-root .clp-cc-item>svg{width:15px;height:15px;margin-top:2px;flex:none}#clp-root .clp-cc-item--critical>i,#clp-root .clp-cc-item--critical>svg{color:var(--color-danger)}#clp-root .clp-cc-item--warning>i,#clp-root .clp-cc-item--warning>svg{color:color-mix(in srgb,var(--color-warning) 75%,var(--text-main))}#clp-root .clp-cc-item b{display:block;font-weight:600;color:var(--text-main)}#clp-root .clp-cc-item span{color:var(--text-muted)}#clp-root .clp-sched-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:16px;gap:16px;align-items:start;min-width:0}#clp-root .clp-sched-main{min-width:0}#clp-root .clp-sched-side{position:-webkit-sticky;position:sticky;top:16px;min-width:0}#clp-root .clp-sched-side .clp-cc{margin:0;border-radius:20px;box-shadow:var(--shadow-level-default)}#clp-root .clp-sched-side .clp-cc-head{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;padding:20px 18px}#clp-root .clp-sched-side .clp-cc-badge{grid-column:1/-1;justify-self:start}@media (max-width:1100px){#clp-root .clp-sched-split{grid-template-columns:minmax(0,1fr)}#clp-root .clp-sched-side{position:static}}#clp-root .px-paygrid .px-paybar-msg,#tup-root .px-paygrid .px-paybar-msg{padding:22px}@media (max-width:1180px){#clp-root .px-paygrid,#tup-root .px-paygrid{grid-template-columns:minmax(0,1fr)}#clp-root .px-paygrid>.px-paybar,#tup-root .px-paygrid>.px-paybar{order:-1}}@media (max-width:760px){#clp-root #clp-px-pay .px-list--pay,#tup-root #clp-px-pay .px-list--pay{padding:8px 16px 16px}#clp-root #clp-px-pay .px-payhead,#tup-root #clp-px-pay .px-payhead{display:none}#clp-root #clp-px-pay .px-list--dues .px-payrow,#clp-root #clp-px-pay .px-list--pay4 .px-payrow,#tup-root #clp-px-pay .px-list--dues .px-payrow,#tup-root #clp-px-pay .px-list--pay4 .px-payrow{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:12px 4px}#clp-root #clp-px-pay .px-payrow .px-paydate,#clp-root #clp-px-pay .px-payrow .px-paynote,#tup-root #clp-px-pay .px-payrow .px-paydate,#tup-root #clp-px-pay .px-payrow .px-paynote{grid-column:1/-1}}#clp-root #clp-documents,#tup-root #tup-classes{overflow:visible}#clp-root #clp-documents .clp-stu-toolbar,#tup-root #tup-classes .clp-stu-toolbar{display:flex;align-items:center;gap:12px;padding:16px 22px}#clp-root #clp-documents .clp-stu-search,#tup-root #tup-classes .clp-stu-search{flex:0 1 320px;min-width:200px;height:38px}#clp-root #clp-documents .clp-stu-count,#tup-root #tup-classes .clp-stu-count{margin-left:auto;white-space:nowrap}#clp-root #clp-documents .clp-stu-table,#tup-root #tup-classes .clp-stu-table{gap:0;padding:0 22px 20px!important}#clp-root #clp-documents .clp-stu-head,#clp-root #clp-documents .clp-stu-row,#tup-root #tup-classes .clp-stu-head,#tup-root #tup-classes .clp-stu-row{grid-template-columns:minmax(200px,1.7fr) minmax(130px,1fr) 130px 130px 40px;column-gap:20px}#clp-root #clp-documents .clp-stu-head,#tup-root #tup-classes .clp-stu-head{padding:10px 14px;border-radius:10px;background:var(--clp-head-bg);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-muted)}#clp-root #clp-documents .clp-stu-head>span:last-child,#tup-root #tup-classes .clp-stu-head>span:last-child{text-indent:-9999px;overflow:hidden}#clp-root #clp-documents .clp-stu-row,#tup-root #tup-classes .clp-stu-row{padding:12px 14px;border-radius:0;background:transparent;border-bottom:1px solid var(--clp-line)}#clp-root #clp-documents .clp-stu-row:last-child,#tup-root #tup-classes .clp-stu-row:last-child{border-bottom:0}#clp-root #clp-documents .clp-stu-row:hover,#tup-root #tup-classes .clp-stu-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}#clp-root #clp-documents .clp-stu-row>.clp-stu-details>div,#tup-root #tup-classes .clp-stu-row>.clp-stu-details>div{min-width:0}#clp-root #clp-documents .clp-stu-who .clp-prof-name,#tup-root #tup-classes .clp-stu-who .clp-prof-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}#clp-root #clp-documents .clp-stu-head .clp-num,#clp-root #clp-documents .clp-stu-row .clp-num,#tup-root #tup-classes .clp-stu-head .clp-num,#tup-root #tup-classes .clp-stu-row .clp-num{text-align:right}#clp-root #clp-documents .clp-stu-act,#tup-root #tup-classes .clp-stu-act{justify-content:flex-end}@media (max-width:1100px){#clp-root #clp-documents .clp-stu-head,#clp-root #clp-documents .clp-stu-row,#tup-root #tup-classes .clp-stu-head,#tup-root #tup-classes .clp-stu-row{grid-template-columns:minmax(170px,1.5fr) minmax(110px,1fr) 112px 112px 40px;column-gap:14px}}@media (max-width:900px){#clp-root #clp-documents .clp-stu-toolbar,#tup-root #tup-classes .clp-stu-toolbar{padding:12px 16px}#clp-root #clp-documents .clp-stu-search,#tup-root #tup-classes .clp-stu-search{flex:1 1 100%;max-width:none}#clp-root #clp-documents .clp-stu-count,#tup-root #tup-classes .clp-stu-count{margin-left:0}#clp-root #clp-documents .clp-stu-table,#tup-root #tup-classes .clp-stu-table{padding:0 16px 16px!important}#clp-root #clp-documents .clp-stu-head,#tup-root #tup-classes .clp-stu-head{display:none}#clp-root #clp-documents .clp-stu-row,#tup-root #tup-classes .clp-stu-row{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding:12px 4px}}.ph-title-text--stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.ph-title-sub{font-size:12.5px;font-weight:600;letter-spacing:0;line-height:1.3;color:var(--text-muted)}