@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap";:root{--main-color: #43a4ff;--font-color: #000;--navbar-color: #f5f5f5;--blue-color: rgb(0, 81, 255);--bg-page: #fafafa;--surface: #ffffff;--surface-alt: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #444;--text-muted: #666;--border: #e8e8e8;--border-input: #e0e0e0;--nav-bg: #ffffff;--nav-text: #1a1a1a;--nav-welcome: #444;--accent: #43a4ff;--accent-hover: #2d8ae6;--control-bg: #e8e8e8;--control-text: #555;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-strong: 0 2px 8px rgba(0, 0, 0, .1);--red-accent: #8b2020}[data-theme=dark]{--bg-page: #1a1a1a;--surface: #2d2d2d;--surface-alt: #383838;--text-primary: #e8e8e8;--text-secondary: #c0c0c0;--text-muted: #a0a0a0;--border: #404040;--border-input: #505050;--nav-bg: #252525;--nav-text: #e8e8e8;--nav-welcome: #c0c0c0;--accent: #5eb8ff;--accent-hover: #7ec8ff;--control-bg: #404040;--control-text: #c0c0c0;--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-strong: 0 2px 8px rgba(0, 0, 0, .4);--red-accent: #a03030}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,Arial,Helvetica,sans-serif}select{text-align:initial!important}input:focus::placeholder{font-weight:600;color:#434343;transition:color ease-in-out .3s}a{text-decoration:none;font-size:1.2rem;color:var(--text-primary);transition:color ease-in-out .1s}a:hover{color:var(--main-color)}button{font-family:inherit;cursor:pointer}body{min-height:100vh;background-color:var(--bg-page);color:var(--font-color)}#root{min-height:100vh}[data-theme=dark] body{background-color:var(--bg-page);color:var(--text-primary)}[data-theme=dark] .ems-admin-portal-wrapper,[data-theme=dark] .role-home-wrapper,[data-theme=dark] .account-page-wrapper{background-color:var(--bg-page)}[data-theme=dark] .planner-nav{background-color:var(--nav-bg);border-bottom-color:var(--border);box-shadow:0 1px 2px #0003}[data-theme=dark] .navbar-logo-container h2{color:var(--nav-text)}[data-theme=dark] .planner-nav .welcome-text{color:var(--nav-welcome)}[data-theme=dark] .planner-nav a{color:var(--nav-text)}[data-theme=dark] .planner-nav a:hover{color:var(--accent)}[data-theme=dark] .planner-nav .header-link-btn{color:var(--nav-text)}[data-theme=dark] .planner-nav .header-link-btn:hover{color:var(--accent)}[data-theme=dark] .control-bar{background-color:var(--nav-bg);border-bottom-color:var(--border)}[data-theme=dark] .control-bar .toggle-label{color:var(--text-secondary)}[data-theme=dark] .control-bar .toggle-btn{background-color:var(--control-bg);color:var(--control-text)}[data-theme=dark] .control-bar .toggle-btn:hover{background-color:var(--surface-alt);color:var(--text-primary)}[data-theme=dark] .control-bar .status-text{color:var(--text-muted)}[data-theme=dark] .ems-inventory-outer-container,[data-theme=dark] .system-card,[data-theme=dark] .ems-portal-btn-container{background-color:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}[data-theme=dark] .panel-title,[data-theme=dark] .dashboard-widget .widget-title,[data-theme=dark] .dashboard-widget .widget-value{color:var(--text-primary);border-bottom-color:var(--border)}[data-theme=dark] .panel-body,[data-theme=dark] .panel-body .message,[data-theme=dark] .dashboard-widget,[data-theme=dark] .new-features .feature-list li{color:var(--text-secondary)}[data-theme=dark] .role-selector select{background:var(--surface);border-color:var(--border-input);color:var(--text-primary)}[data-theme=dark] .role-selector .role-buttons-label{color:var(--text-secondary)}[data-theme=dark] .role-selector .role-btn{background-color:var(--surface-alt);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .role-selector .role-btn:hover{background-color:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .new-features .section-title{color:var(--text-primary)}[data-theme=dark] .new-features .feature-date{color:var(--text-muted)}[data-theme=dark] .role-home-left .panel,[data-theme=dark] .role-home-right .panel{background:var(--surface);border-color:var(--border)}[data-theme=dark] .role-home-left .panel-title,[data-theme=dark] .role-home-right .panel-title{background:var(--surface-alt);border-bottom-color:var(--border);color:var(--text-primary)}[data-theme=dark] .role-home-left .panel-body,[data-theme=dark] .role-home-right .panel-body{color:var(--text-secondary)}[data-theme=dark] .role-home-tabs button{color:var(--text-muted)}[data-theme=dark] .role-home-tabs button.active{background:var(--accent);color:#fff}[data-theme=dark] .role-home-more button{background:var(--surface-alt);border-color:var(--border);color:var(--control-text)}[data-theme=dark] .role-home-more button:hover{background:var(--border)}[data-theme=dark] .cohort-listing-card,[data-theme=dark] .cohort-table-wrap{border-color:var(--border)}[data-theme=dark] .cohort-listing-title,[data-theme=dark] .cohort-table th{color:var(--text-primary)}[data-theme=dark] .cohort-search-input{background:var(--surface);border-color:var(--border-input);color:var(--text-primary)}[data-theme=dark] .login-card .cohort-search-input{background:var(--surface-alt);border:1px solid var(--border-input);color:var(--text-primary);box-shadow:0 0 0 1px #ffffff0f}[data-theme=dark] .login-card .cohort-search-input::placeholder{color:var(--text-muted)}[data-theme=dark] .login-card .cohort-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #5eb8ff40}[data-theme=dark] .login-intro{color:var(--text-secondary)}[data-theme=dark] .login-card-header{border-bottom-color:var(--border)}[data-theme=dark] .login-card-title,[data-theme=dark] .login-nav-title{color:var(--text-primary)}[data-theme=dark] .planner-nav-context{color:var(--text-secondary)}[data-theme=dark] .login-password-toggle{background:var(--surface-alt);border-color:var(--border-input);color:var(--text-secondary)}[data-theme=dark] .login-password-toggle:hover{background:var(--border);color:var(--text-primary)}[data-theme=dark] .login-password-row .login-password-input.cohort-search-input{border-right:none}[data-theme=dark] .login-password-row:focus-within .login-password-input{border-color:var(--accent);box-shadow:0 0 0 2px #5eb8ff40}[data-theme=dark] .login-password-row:focus-within .login-password-toggle{border-color:var(--accent)}[data-theme=dark] .login-error,[data-theme=dark] .school-location-error{color:#ff8a80}[data-theme=dark] .cohort-table{background:var(--surface-alt)}[data-theme=dark] .cohort-table th{background:var(--control-bg);color:var(--text-primary);border-bottom-color:var(--border)}[data-theme=dark] .cohort-table td{border-bottom-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .cohort-table tbody tr:nth-of-type(2n){background:#ffffff0f}[data-theme=dark] .cohort-table tbody tr:hover{background:#ffffff1a}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-active{background:#66bb6a38}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-active:nth-of-type(2n){background:#66bb6a29}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-inactive{background:#e5737333}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-inactive:nth-of-type(2n){background:#e5737324}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-active:hover{background:#66bb6a52}[data-theme=dark] .cohort-table tbody tr.cohort-row-session-inactive:hover{background:#e5737347}[data-theme=dark] .cohort-table .row-edit-btn,[data-theme=dark] .cohort-table .row-delete-btn,[data-theme=dark] .cohort-table .row-make-primary-btn{color:var(--text-muted);border-color:var(--border);background:var(--surface)}[data-theme=dark] .cohort-table .row-edit-btn:hover{color:var(--accent);border-color:#5eb8ff73;background:#5eb8ff1f}[data-theme=dark] .cohort-table .row-delete-btn:hover{color:#ff8a80;border-color:#ff8a8066;background:#ff52521f}[data-theme=dark] .cohort-table .row-make-primary-btn:hover{color:#ffd54f;border-color:#ffd54f73;background:#ffd54f1a}[data-theme=dark] .cohort-filter-btn{background-color:var(--control-bg);color:var(--control-text)}[data-theme=dark] .cohort-filter-btn:hover{background-color:var(--surface-alt);color:var(--text-primary)}[data-theme=dark] .account-panel{background:var(--surface);border-color:var(--border)}[data-theme=dark] .account-panel-banner{background:var(--nav-bg);color:var(--nav-text);border-bottom-color:var(--border)}[data-theme=dark] .account-details h3,[data-theme=dark] .account-details .account-info,[data-theme=dark] .account-actions a,[data-theme=dark] .account-school a{color:var(--text-primary)}[data-theme=dark] .account-actions a:hover,[data-theme=dark] .account-school a:hover{color:var(--accent)}[data-theme=dark] .account-theme-toggle{background:var(--surface-alt);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .account-theme-toggle:hover{background:var(--control-bg)}body.planner-native-app,body.planner-phone-app{-webkit-tap-highlight-color:transparent}body.planner-native-app .ems-admin-portal-wrapper,body.planner-native-app .role-home-wrapper,body.planner-phone-app .ems-admin-portal-wrapper,body.planner-phone-app .role-home-wrapper{min-height:100dvh;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);box-sizing:border-box}body.planner-native-app .planner-nav,body.planner-phone-app .planner-nav{padding-left:max(12px,env(safe-area-inset-left,0));padding-right:max(12px,env(safe-area-inset-right,0))}body.planner-native-app .role-home-main,body.planner-phone-app .role-home-main{width:100%;max-width:100%;padding-left:max(12px,env(safe-area-inset-left,0));padding-right:max(12px,env(safe-area-inset-right,0));box-sizing:border-box}body.planner-native-app .login-page-main,body.planner-phone-app .login-page-main{padding-left:max(16px,env(safe-area-inset-left,0));padding-right:max(16px,env(safe-area-inset-right,0))}body.planner-native-app button,body.planner-native-app a,body.planner-phone-app button,body.planner-phone-app a{touch-action:manipulation}.dashboard-clinical-banner-mobile,body.planner-native-app .dashboard-clinical-banner-desktop,body.planner-phone-app .dashboard-clinical-banner-desktop{display:none}body.planner-native-app .dashboard-clinical-banner-mobile,body.planner-phone-app .dashboard-clinical-banner-mobile{display:block;width:calc(100% - 24px);max-width:100%;margin-top:12px;padding:14px 16px;box-sizing:border-box}body.planner-native-app .dashboard-clinical-banner-title,body.planner-phone-app .dashboard-clinical-banner-title{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:var(--text-primary, #1a1a1a)}body.planner-native-app .dashboard-clinical-banner-text,body.planner-phone-app .dashboard-clinical-banner-text{margin:0 0 14px;font-size:.95rem;line-height:1.5;color:var(--text-secondary, #444)}body.planner-native-app .dashboard-clinical-banner-cta,body.planner-phone-app .dashboard-clinical-banner-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:100%;min-height:44px;box-sizing:border-box}html[data-theme=dark] body.planner-native-app .dashboard-clinical-banner-title,html[data-theme=dark] body.planner-phone-app .dashboard-clinical-banner-title{color:var(--text-primary, #e8eaed)}html[data-theme=dark] body.planner-native-app .dashboard-clinical-banner-text,html[data-theme=dark] body.planner-phone-app .dashboard-clinical-banner-text{color:var(--text-secondary, #9aa0a6)}body.planner-native-app .planner-nav,body.planner-phone-app .planner-nav{flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:12px;padding-bottom:12px;text-align:center}body.planner-native-app .planner-nav-account,body.planner-phone-app .planner-nav-account{align-items:center;width:100%}body.planner-native-app .planner-nav .welcome-text,body.planner-phone-app .planner-nav .welcome-text{text-align:center;margin-bottom:8px;font-size:.9rem}body.planner-native-app .planner-nav ul,body.planner-phone-app .planner-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;width:100%}body.planner-native-app .planner-nav ul li,body.planner-phone-app .planner-nav ul li{margin:0;width:auto}body.planner-native-app .planner-nav a,body.planner-native-app .planner-nav .header-link-btn,body.planner-phone-app .planner-nav a,body.planner-phone-app .planner-nav .header-link-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:10px 12px;border-radius:8px;background:transparent;border:0;box-sizing:border-box;text-align:center}html[data-theme=dark] body.planner-native-app .planner-nav a,html[data-theme=dark] body.planner-native-app .planner-nav .header-link-btn,html[data-theme=dark] body.planner-phone-app .planner-nav a,html[data-theme=dark] body.planner-phone-app .planner-nav .header-link-btn{background:#1e2836;border-color:#334155}body.planner-native-app .control-bar,body.planner-phone-app .control-bar{padding:10px 16px;justify-content:stretch}body.planner-native-app .control-bar .control-actions,body.planner-phone-app .control-bar .control-actions{margin-left:0;width:100%}body.planner-native-app .add-credit-dropdown,body.planner-phone-app .add-credit-dropdown{width:100%}body.planner-native-app .add-credit-btn,body.planner-phone-app .add-credit-btn{width:100%;justify-content:center;min-height:44px}body.planner-native-app .manage-cohorts-main,body.planner-phone-app .manage-cohorts-main{padding:12px 16px 32px}body.planner-native-app .cohort-listing-card.ems-inventory-outer-container,body.planner-phone-app .cohort-listing-card.ems-inventory-outer-container{width:100%;padding:16px;box-sizing:border-box}body.planner-native-app .cohort-listing-header,body.planner-phone-app .cohort-listing-header,body.planner-native-app .cohort-listing-actions,body.planner-phone-app .cohort-listing-actions{flex-direction:column;align-items:stretch}body.planner-native-app .cohort-search-input,body.planner-phone-app .cohort-search-input{min-width:100%;width:100%;box-sizing:border-box}body.planner-native-app .cohort-listing-title,body.planner-phone-app .cohort-listing-title{font-size:1.2rem;margin-bottom:4px}body.planner-native-app .cohort-action-buttons,body.planner-phone-app .cohort-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}body.planner-native-app .cohort-action-buttons .cohort-primary-btn,body.planner-phone-app .cohort-action-buttons .cohort-primary-btn{grid-column:1 / -1;width:100%;min-height:44px}body.planner-native-app .cohort-filter-btn,body.planner-phone-app .cohort-filter-btn{width:100%;min-height:44px}body.planner-native-app .cohort-dash-sort-bar,body.planner-phone-app .cohort-dash-sort-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}body.planner-native-app .cohort-dash-sort-label,body.planner-phone-app .cohort-dash-sort-label{grid-column:1 / -1;margin-right:0;margin-bottom:2px}body.planner-native-app .cohort-dash-sort-chip,body.planner-phone-app .cohort-dash-sort-chip{justify-content:center;min-height:44px;width:100%;box-sizing:border-box}body.planner-native-app .cohort-dash-pager-layout,body.planner-phone-app .cohort-dash-pager-layout{flex-direction:column}body.planner-native-app .cohort-dash-pager-rail,body.planner-phone-app .cohort-dash-pager-rail{flex-direction:row;justify-content:center}body.planner-native-app .cohort-dashboard-grid,body.planner-phone-app .cohort-dashboard-grid{grid-template-columns:1fr}body.planner-native-app .cohort-detail-main,body.planner-phone-app .cohort-detail-main{padding:12px 16px 40px}body.planner-native-app .cohort-detail-main-tabs,body.planner-phone-app .cohort-detail-main-tabs{flex-wrap:wrap;overflow:visible;width:100%;min-width:0;max-width:100%;box-sizing:border-box;gap:4px 6px;padding-bottom:0;margin-bottom:16px}body.planner-native-app .cohort-detail-tab,body.planner-phone-app .cohort-detail-tab{flex:0 1 auto;max-width:100%;min-height:44px;padding:10px 14px;white-space:normal;text-align:center}body.planner-native-app .cohort-detail-tab.active,body.planner-phone-app .cohort-detail-tab.active{margin-bottom:0}body.planner-native-app .clinical-req-section .cohort-detail-form-grid,body.planner-phone-app .clinical-req-section .cohort-detail-form-grid,body.planner-native-app .cohort-detail-form-grid,body.planner-phone-app .cohort-detail-form-grid{grid-template-columns:1fr}body.planner-native-app .cohort-detail-field.span-2,body.planner-phone-app .cohort-detail-field.span-2{grid-column:span 1}body.planner-native-app .calendar-main,body.planner-phone-app .calendar-main{max-width:100%}body.planner-native-app .calendar-card--phone,body.planner-phone-app .calendar-card--phone{border-radius:10px}body.planner-native-app .calendar-toolbar-row,body.planner-phone-app .calendar-toolbar-row{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}body.planner-native-app .calendar-toolbar-left,body.planner-native-app .calendar-toolbar-center,body.planner-native-app .calendar-toolbar-right,body.planner-phone-app .calendar-toolbar-left,body.planner-phone-app .calendar-toolbar-center,body.planner-phone-app .calendar-toolbar-right{justify-content:center;flex-wrap:wrap;width:100%}body.planner-native-app .calendar-period,body.planner-phone-app .calendar-period{flex:1;min-width:0}body.planner-native-app .calendar-toolbar-right .calendar-export-btn,body.planner-phone-app .calendar-toolbar-right .calendar-export-btn{display:inline-flex;align-items:center;width:auto;height:32px;min-height:32px;flex:0 0 auto;align-self:flex-start;justify-content:center;box-sizing:border-box}body.planner-native-app .calendar-student-legend,body.planner-phone-app .calendar-student-legend{line-height:1.45;font-size:.82rem}body.planner-native-app .calendar-grid-wrap,body.planner-phone-app .calendar-grid-wrap{padding:10px 8px 14px}body.planner-native-app .calendar-weekday,body.planner-phone-app .calendar-weekday{font-size:.68rem;padding:4px 0;letter-spacing:-.02em}body.planner-native-app .calendar-day-cell,body.planner-phone-app .calendar-day-cell{min-height:54px;padding:3px 2px 4px;border-radius:4px}body.planner-native-app .calendar-day-cell.calendar-day-cell--has-pickup,body.planner-phone-app .calendar-day-cell.calendar-day-cell--has-pickup{min-height:54px}body.planner-native-app .calendar-day-cell.calendar-day-empty,body.planner-phone-app .calendar-day-cell.calendar-day-empty{min-height:44px}body.planner-native-app .calendar-day-num,body.planner-phone-app .calendar-day-num{font-size:.78rem;margin-bottom:2px;text-align:center}body.planner-native-app .calendar-day-preview,body.planner-phone-app .calendar-day-preview{align-items:flex-end;justify-content:center}body.planner-native-app .calendar-day-preview-compact,body.planner-phone-app .calendar-day-preview-compact{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;width:100%}body.planner-native-app .calendar-day-badge,body.planner-phone-app .calendar-day-badge{min-width:20px;height:20px;padding:0 5px;border-radius:10px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}body.planner-native-app .calendar-day-badge--sched,body.planner-phone-app .calendar-day-badge--sched{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}body.planner-native-app .calendar-day-badge--pickup,body.planner-phone-app .calendar-day-badge--pickup{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}body.planner-native-app .calendar-day-badge--events,body.planner-phone-app .calendar-day-badge--events{background:#eef2f7;color:#455a64;border:1px solid #cfd8dc}html[data-theme=dark] body.planner-native-app .calendar-day-badge--sched,html[data-theme=dark] body.planner-phone-app .calendar-day-badge--sched{background:#2196f333;color:#90caf9;border-color:#1976d2}html[data-theme=dark] body.planner-native-app .calendar-day-badge--pickup,html[data-theme=dark] body.planner-phone-app .calendar-day-badge--pickup{background:#81c78433;color:#a5d6a7;border-color:#388e3c}html[data-theme=dark] body.planner-native-app .calendar-day-badge--events,html[data-theme=dark] body.planner-phone-app .calendar-day-badge--events{background:#90a4ae33;color:#b0bec5;border-color:#546e7a}body.planner-native-app .calendar-week-days .calendar-day-cell,body.planner-phone-app .calendar-week-days .calendar-day-cell{min-height:72px}body.planner-native-app .calendar-week-days .calendar-day-num,body.planner-phone-app .calendar-week-days .calendar-day-num{font-size:.72rem}.ems-admin-portal-wrapper{display:flex;flex-direction:column;justify-content:start;align-items:center;min-height:100vh;background-color:#fafafa}.login-page.ems-admin-portal-wrapper{align-items:stretch}.login-page-main{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px 56px;box-sizing:border-box}.login-card.system-card{max-width:560px;width:100%;padding:32px 30px;box-shadow:0 4px 14px #0000001a,0 2px 4px #0000000f}.login-card-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.login-card-header-side{display:flex;align-items:center}.login-card-header-left{justify-content:flex-start}.login-card-header-right{justify-content:flex-end}.login-card-logo{height:46px;width:auto;display:block;flex-shrink:0;object-fit:contain}.login-card-title{font-size:1.55rem;font-weight:700;margin:0;padding:0;border:none;color:#1a1a1a;letter-spacing:.02em;text-align:center;justify-self:center}.login-field-input-upper{text-transform:uppercase}.login-form{display:flex;flex-direction:column;align-items:stretch}.login-form .login-submit.cohort-primary-btn{align-self:center;margin-top:14px;min-height:44px;padding:10px 26px}.login-password-row{display:flex;align-items:stretch;width:100%;min-width:0}.login-password-row .login-password-input.cohort-search-input.login-field-input{flex:1 1 auto;width:auto;min-width:0;border-radius:8px 0 0 8px;border-right:none}.login-password-toggle{flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #e0e0e0;border-radius:0 8px 8px 0;background:#fff;color:#555;cursor:pointer;transition:background-color .15s ease,color .15s ease}.login-password-toggle:hover{background:#f5f5f5;color:#1a1a1a}.login-password-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #43a4ff59;z-index:1}.login-password-row:focus-within .login-password-input{border-color:#43a4ff;box-shadow:0 0 0 2px #43a4ff33}.login-password-row:focus-within .login-password-toggle{border-color:#43a4ff}.login-top-nav-brand.navbar-logo-container{gap:12px}.login-nav-logo{height:36px;width:auto;display:block;object-fit:contain}.login-nav-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;letter-spacing:.02em}.planner-nav-brand-main.navbar-logo-container{align-items:center}.planner-nav-brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.planner-nav-context{font-size:.85rem;font-weight:600;color:#555;max-width:min(360px,40vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-intro{margin:-8px 0 20px;font-size:.95rem;color:var(--text-secondary, #444);line-height:1.5}.login-form .login-field{margin-bottom:18px}.login-form .login-field label{display:block;margin-bottom:9px;font-weight:600;font-size:.95rem;color:var(--text-primary, #1a1a1a);text-align:left}.login-field-input.cohort-search-input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;font-size:.95rem}@media(max-width:640px){.login-card.system-card{max-width:460px;padding:24px}.login-card-logo{height:40px}.login-card-title{font-size:1.35rem}}.login-error{color:#c62828;font-size:.9rem;margin:4px 0 0;text-align:center}.ems-admin-portal-wrapper h1{margin-top:50px;text-align:center}.ems-admin-portal-wide-container{width:80%;display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin:50px 0}.ems-portal-btn-container{display:flex;flex-direction:column;justify-content:start;align-items:center;margin:0;box-shadow:0 1px 3px #00000014;border:1px solid #e8e8e8;background-color:#fff;border-radius:12px;padding:20px}.ems-portal-btn-container h1{margin-top:0}.ems-inventory-outer-container{margin-top:0;text-align:left;width:100%;max-width:100%;box-shadow:0 1px 3px #00000014;border:1px solid #e8e8e8;border-radius:12px;padding:24px;background-color:#fff}.ems-inventory-outer-container h1{margin:0}.ems-entity-new{cursor:pointer;border-radius:6px;width:300px;height:60px;margin:10px;display:flex;align-items:center;justify-content:center;background-color:#e5e5e5;box-shadow:0 2px 4px #0003,0 6px 20px #00000030}.ems-entity-new:hover{filter:brightness(95%);transition:ease-in-out .3s;color:#43a4ff}.system-card{box-shadow:0 1px 3px #00000014;border:1px solid #e8e8e8;text-align:left;background-color:#fff;padding:24px;font-size:14px;font-weight:400;border-radius:12px;transition:box-shadow .2s ease,border-color .2s ease}.system-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#e0e0e0}.system-card h2{font-size:1.25rem;margin-bottom:10px;font-weight:600}.system-card p{font-size:1rem}.planner-nav-account{display:flex;flex-direction:column;align-items:flex-end}.planner-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;background-color:#fff;padding:16px 24px;width:100%;border-bottom:1px solid #e8e8e8;box-shadow:0 1px 2px #0000000a}.navbar-logo-container{display:flex;align-items:center;gap:8px}.navbar-logo-container h2{font-size:1.5rem;font-weight:700;margin:0;color:#1a1a1a;letter-spacing:.02em}.planner-nav .welcome-text{font-size:.95rem;color:#444;margin-bottom:6px}.planner-nav ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0}.planner-nav ul li{display:inline-block;margin:0 8px}.planner-nav a{color:#1a1a1a;font-size:.95rem;font-weight:500}.planner-nav a:hover{color:#43a4ff;transition:ease-in-out .2s}.planner-nav .header-link-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;font-size:.95rem;font-weight:500;color:#1a1a1a;text-transform:none;letter-spacing:normal;box-shadow:none;border-radius:0;text-decoration:none}.planner-nav .header-link-btn:hover{color:#43a4ff;filter:none;transition:color .2s ease}@media(max-width:800px){.planner-nav{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.planner-nav-brand-main.navbar-logo-container{justify-content:center}.planner-nav-brand-text{align-items:center}.planner-nav-context{max-width:240px}.planner-nav-account{align-items:center;width:100%}.planner-nav .welcome-text{text-align:center}.planner-nav ul{justify-content:center}}.control-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 24px;background-color:#fff;width:100%;border-bottom:1px solid #e8e8e8}.control-bar .toggle-label{font-size:.95rem;font-weight:500;color:#444;margin-right:4px}.control-bar .toggle-group{display:flex;gap:6px}.control-bar .toggle-btn{padding:10px 18px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;box-shadow:0 1px 2px #0000001a;background-color:#e8e8e8;color:#555;margin:0;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}.control-bar .toggle-btn:hover{background-color:#d8d8d8;color:#333}.control-bar .toggle-btn.active{background-color:#43a4ff;color:#fff;box-shadow:0 1px 3px #43a4ff59}.control-bar .control-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.add-credit-dropdown{position:relative}.add-credit-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background-color:#12b100;color:#fff;border:none;box-shadow:0 1px 3px #12b10059;cursor:pointer;margin:0;transition:filter .2s ease,box-shadow .2s ease}.add-credit-btn:hover{filter:brightness(1.05);box-shadow:0 2px 6px #12b10066}.add-credit-icon,.add-credit-chevron{font-size:.9rem}.add-credit-chevron{margin-left:2px}.add-credit-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:280px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:0;z-index:100;overflow:hidden}.add-credit-menu-item{display:block;width:100%;padding:10px 16px;margin:0;font-size:.95rem;text-align:left;color:#1a1a1a;background:none;border:none;border-bottom:1px solid #eee;cursor:pointer;font-family:inherit;transition:background-color .15s ease;border-radius:0;box-shadow:none;text-transform:none}.add-credit-menu-item:last-child{border-bottom:none}.add-credit-menu-item:hover{background-color:#f5f5f5}.schedule-training-btn{display:inline-flex;align-items:center;gap:8px}.schedule-training-icon{font-size:.95rem}.control-bar .control-actions .btn-primary{padding:10px 18px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background-color:#43a4ff;color:#fff;border:none;box-shadow:0 1px 3px #43a4ff59;cursor:pointer;margin:0;transition:filter .2s ease,box-shadow .2s ease}.control-bar .control-actions .btn-primary:hover{filter:brightness(1.05);box-shadow:0 2px 6px #43a4ff66}.control-bar .status-text{font-size:.9rem;color:#666;margin-left:4px}.dashboard-widget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:32px;padding:0 24px;width:80%;max-width:1200px}.dashboard-widget .widget-title{font-size:.95rem;font-weight:600;margin-bottom:12px;color:#1a1a1a}.dashboard-widget .widget-value{font-size:2.25rem;font-weight:700;margin-bottom:12px;color:#1a1a1a;line-height:1.2}.dashboard-widget .widget-link{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#43a4ff}.dashboard-widget .widget-link:hover{color:#2d8ae6;text-decoration:underline;transition:color .2s ease}.dashboard-row{display:grid;grid-template-columns:1fr;gap:24px;width:80%;max-width:1200px;margin:32px auto 24px}@media(max-width:768px){.dashboard-row{grid-template-columns:1fr;width:90%}.ems-admin-portal-wide-container,.dashboard-widget-grid,.ems-inventory-outer-container{width:90%}}.panel-title{font-size:1.1rem;font-weight:600;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #e8e8e8;color:#1a1a1a}.panel-body{font-size:1rem;line-height:1.6;color:#444}.panel-body .message{color:#444;margin-bottom:14px}.role-selector select{width:100%;padding:12px 14px;font-size:1rem;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:16px;background:#fff;color:#1a1a1a}.role-selector select:focus{outline:none;border-color:#43a4ff;box-shadow:0 0 0 2px #43a4ff33}.role-selector .role-buttons-label{font-size:.95rem;font-weight:600;color:#333;margin:0 0 10px}.role-selector .role-buttons{display:flex;flex-direction:column;gap:10px}.role-selector .role-btn{display:block;width:100%;padding:14px 18px;font-size:1rem;font-weight:600;text-align:center;color:#1a1a1a;background-color:#f0f0f0;border:2px solid #d0d0d0;border-radius:8px;cursor:pointer;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.role-selector .role-btn:hover{background-color:#43a4ff;border-color:#43a4ff;color:#fff}.role-selector .role-btn:focus{outline:none;border-color:#43a4ff;box-shadow:0 0 0 3px #43a4ff40}.new-features .section-title{font-size:1.1rem;font-weight:600;margin-bottom:14px;color:#1a1a1a}.new-features .feature-list{list-style:none;padding:0;margin:0}.new-features .feature-list li{padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:1rem;color:#444;line-height:1.5}.new-features .feature-list li:last-child{border-bottom:none}.new-features .feature-date{font-size:.9rem;color:#666;margin-right:10px;font-weight:500}.dashboard-new-features-wrap{width:80%;max-width:800px;margin:0 auto 48px}.home-cohort-cta-link{display:inline-block;margin-top:12px;padding:10px 18px;border-radius:8px;background:#1565c0;color:#fff!important;font-weight:600;font-size:.95rem;text-decoration:none;box-shadow:0 2px 6px #1565c040}.home-cohort-cta-link:hover{background:#0d47a1;text-decoration:none}.manage-cohorts-main{width:100%;max-width:1200px;padding:24px 24px 48px;margin:0 auto}.cohort-listing-card{width:100%}.cohort-listing-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.cohort-listing-title{font-size:1.35rem;font-weight:600;color:#1a1a1a;margin:0}.cohort-listing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cohort-search-label{display:inline-block}.cohort-search-input{padding:10px 14px;font-size:.95rem;border:1px solid #e0e0e0;border-radius:8px;min-width:260px;background:#fff;color:#1a1a1a}.cohort-search-input::placeholder{color:#888}.cohort-search-input:focus{outline:none;border-color:#43a4ff;box-shadow:0 0 0 2px #43a4ff33}.cohort-action-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cohort-filter-btn{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background-color:#e8e8e8;color:#555;border:none;cursor:pointer;margin:0;transition:background-color .2s ease,color .2s ease}.cohort-filter-btn:hover{background-color:#d8d8d8;color:#333}.cohort-filter-btn.active{background-color:#43a4ff;color:#fff}.cohort-primary-btn{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background-color:#43a4ff;color:#fff;border:none;box-shadow:0 1px 3px #43a4ff59;cursor:pointer;margin:0;transition:filter .2s ease}.cohort-primary-btn:hover{filter:brightness(1.05)}.cohort-back-link{font-size:.9rem;font-weight:500;color:#43a4ff;margin-left:8px}.cohort-back-link:hover{text-decoration:underline}.cohort-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e8e8e8}.cohort-table{width:100%;border-collapse:collapse;background:#f5f5f5;font-size:.95rem}.cohort-table th,.cohort-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #e8e8e8;vertical-align:middle}.cohort-table td:last-child{white-space:nowrap}.cohort-actions-cell{padding-left:16px}.cohort-table th{background:#e8e8e8;color:#1a1a1a;font-weight:600;white-space:nowrap}.cohort-table-sort-btn{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:0;margin:0;border:none;background:transparent;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left;white-space:nowrap}.cohort-table-sort-btn:hover{color:#0d47a1}.cohort-sort-icon{flex-shrink:0;font-size:.75em;opacity:.45}.cohort-sort-icon-active{opacity:1;color:#43a4ff}.cohort-table tbody tr:nth-of-type(2n){background:#fafafa}.cohort-table tbody tr:hover{background:#f0f0f0}.cohort-table-centered th,.cohort-table-centered td{text-align:center;vertical-align:middle}.cohort-table-centered .cohort-row-actions{justify-content:center}.cohort-table-centered .cohort-table-sort-btn{justify-content:center;width:100%;text-align:center}.cohort-table tbody tr.cohort-row-session-active{background:#c8f5d2b8}.cohort-table tbody tr.cohort-row-session-active:nth-of-type(2n){background:#b9ebc89e}.cohort-table tbody tr.cohort-row-session-inactive{background:#ffdada9e}.cohort-table tbody tr.cohort-row-session-inactive:nth-of-type(2n){background:#ffcdcd85}.cohort-table tbody tr.cohort-row-session-active:hover{background:#afe6bed9}.cohort-table tbody tr.cohort-row-session-inactive:hover{background:#ffc8c8bf}.cohort-table-empty{text-align:center;padding:32px;color:#666}.cohort-enrollment-badge{font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cohort-enrollment-open{color:#1b5e20}.cohort-enrollment-closed{color:#b71c1c}.cohort-row-actions{display:inline-flex;align-items:center;gap:12px}.cohort-row-actions-text{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.cohort-row-actions-text .row-edit-btn,.cohort-row-actions-text .row-delete-btn{width:auto;height:auto;min-height:34px;padding:6px 14px;white-space:nowrap}.row-edit-btn,.row-delete-btn,.row-make-primary-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:var(--text-muted, #666);font-size:.95rem;line-height:1;box-shadow:none;text-transform:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.row-edit-btn:hover{color:var(--accent, #43a4ff);border-color:#43a4ff73;background:#43a4ff14;filter:none}.row-delete-btn:hover{color:#c62828;border-color:#c6282859;background:#c628280f;filter:none}.cohort-row-actions-text .row-edit-btn{color:#1565c0;border-color:#1565c059}.cohort-row-actions-text .row-delete-btn{color:#c62828;border-color:#c6282859}.cohort-user-name-link{color:#1565c0;text-decoration:underline;text-underline-offset:2px}button.cohort-user-name-link{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-align:inherit}.cohort-user-name-link:hover{color:#0d47a1}.cohort-modal-checkbox-row{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:.95rem}.user-detail-card{margin-top:1rem}.user-detail-dl{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:8px 16px;margin:0;padding:1rem 1.25rem .5rem}.user-detail-dl dt{margin:0;font-weight:600;color:var(--text-muted, #555)}.user-detail-dl dd{margin:0}.user-detail-footnote{padding:0 1.25rem 1rem;max-width:52rem}.row-make-primary-btn:hover{color:#b8860b;border-color:#b8860b66;background:#ffc1071a;filter:none}.program-director-user{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}.program-director-user-text{white-space:nowrap}.program-director-email-trigger{font:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;white-space:nowrap;border-bottom:1px dotted transparent;transition:color .15s ease,border-color .15s ease}.program-director-email-trigger:hover{color:#0d47a1;border-bottom-color:#43a4ff8c}.program-director-email-trigger:focus-visible{outline:2px solid rgba(67,164,255,.6);outline-offset:2px;border-radius:2px}.program-director-copied{margin-left:8px;font-size:.75rem;font-weight:600;color:#2e7d32;white-space:nowrap}[data-theme=dark] .program-director-email-trigger:hover{color:#90caf9;border-bottom-color:#64b5f68c}[data-theme=dark] .program-director-copied,[data-theme=dark] .cohort-enrollment-open{color:#81c784}[data-theme=dark] .cohort-enrollment-closed{color:#e57373}.program-director-primary-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 10px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0d47a1;background:#43a4ff1f;border:1px solid rgba(67,164,255,.35);border-radius:6px;box-shadow:none}.program-director-primary-chip-icon{color:#43a4ff;font-size:.8rem}.program-director-primary-chip-label{line-height:1}[data-theme=dark] .program-director-primary-chip{color:#90caf9;background:#43a4ff24;border-color:#43a4ff66;box-shadow:none}[data-theme=dark] .program-director-primary-chip-icon{color:#64b5f6}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.cohort-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.cohort-modal{width:100%;max-width:480px;max-height:90vh;overflow:auto;padding:24px;border-radius:12px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);box-shadow:var(--shadow-strong, 0 8px 32px rgba(0, 0, 0, .15))}.cohort-modal-title{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.cohort-modal-status{margin:0;color:var(--text-muted, #666);font-size:.95rem}.cohort-edit-form{display:flex;flex-direction:column;gap:10px}.cohort-edit-form label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #444)}.cohort-modal-input{width:100%;min-width:0;margin-bottom:4px}.cohort-modal-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cohort-modal-error{margin:8px 0 0;font-size:.9rem;color:#c62828}.cohort-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px}.cohort-modal-backdrop-confirm{z-index:1001}.cohort-modal-body{margin:0 0 8px;font-size:.95rem;color:var(--text-secondary, #444);line-height:1.5}.cohort-modal-danger-btn{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background-color:#c62828;color:#fff;border:none;box-shadow:0 1px 3px #c6282859;cursor:pointer;margin:0;transition:filter .2s ease}.cohort-modal-danger-btn:hover:not(:disabled){filter:brightness(1.05)}.cohort-modal-danger-btn:disabled{opacity:.65;cursor:not-allowed}@media(max-width:768px){.cohort-listing-header{flex-direction:column;align-items:stretch}.cohort-search-input{min-width:100%}.cohort-listing-actions{flex-direction:column;align-items:stretch}.cohort-modal-date-row{grid-template-columns:1fr}}.cohort-detail-main{width:100%;max-width:min(100%,1420px);margin:0 auto;padding:16px 24px 48px}.cohort-detail-main--embedded{max-width:none;margin:0;padding:0 0 8px}button.cohort-dash-editor-close{background:none;border:none;padding:0;font:inherit;cursor:pointer}.cohort-detail-header-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.cohort-detail-title-group{min-width:0;flex:1}.cohort-detail-subline{margin:8px 0 0;font-size:.92rem;color:#424242;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cohort-detail-subline--student-portal{margin:10px 0 0;font-size:1.35rem;font-weight:700;color:#263238;text-transform:uppercase;letter-spacing:.05em}.cohort-detail-subline-label{font-weight:600;color:#546e7a;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}.cohort-detail-code-pill{display:inline-block;padding:4px 10px;border-radius:6px;background:#eceff1;border:1px solid #cfd8dc;font-family:ui-monospace,Consolas,monospace;font-size:.88rem;font-weight:700;color:#0d47a1;letter-spacing:.02em}.cohort-detail-code-hint{margin-top:4px}.cohort-detail-title{font-size:1.1rem;font-weight:700;letter-spacing:.04em;margin:0;color:#2a2a2a}.cohort-detail-main-tabs{display:flex;gap:4px;border-bottom:2px solid #ddd;margin-bottom:20px}.cohort-detail-tab{padding:10px 18px;font-size:.9rem;font-weight:600;border:1px solid transparent;border-bottom:none;background:#f3f3f3;color:#43a4ff;cursor:pointer;border-radius:6px 6px 0 0}.cohort-detail-tab:hover{color:#1976d2}.cohort-detail-tab.active{background:#fff;color:#1565c0;border-color:#ccc;border-bottom-color:#fff;margin-bottom:-2px;position:relative;z-index:1}.cohort-users-subtabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.cohort-users-subtab{padding:8px 16px;font-size:.85rem;font-weight:600;border:1px solid #ccc;background:#fafafa;color:#43a4ff;cursor:pointer;border-radius:6px}.cohort-users-subtab:hover{color:#1976d2}.cohort-users-subtab.active{background:#1565c0;color:#fff;border-color:#1565c0}.cohort-users-cards{display:none;flex-direction:column;gap:10px;width:100%;min-width:0;max-width:100%}.cohort-user-card{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:12px 14px;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa}.cohort-user-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-width:0}.cohort-user-card-name{flex:1 1 9rem;min-width:0;font-size:1rem;font-weight:700;line-height:1.35;overflow-wrap:break-word;word-break:normal}.cohort-user-card-fields{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}.cohort-user-card-field{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0}.cohort-user-card-field dt{flex:0 0 auto;margin:0;color:#546e7a;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.cohort-user-card-field dd{margin:0;min-width:0;text-align:right;overflow-wrap:break-word;word-break:normal}.cohort-user-card .cohort-row-actions-text{flex-shrink:0}.cohort-users-cards-empty{margin:0}.cohort-detail-panel>.user-detail-panel,.cohort-detail-panel .user-detail-card-wrap,.cohort-detail-panel .user-detail-card,.cohort-detail-panel .user-detail-fields-grid{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.cohort-detail-panel .user-detail-card.ems-inventory-outer-container{width:100%;max-width:100%;margin-top:0;padding:12px}@container cohort-editor (max-width: 900px){.cohort-users-table-wrap{display:none}.cohort-users-cards{display:flex}.cohort-detail-panel .user-detail-card.ems-inventory-outer-container{padding:0}.cohort-detail-panel .user-detail-fields-grid{grid-template-columns:1fr;padding:4px 0 0}}@media(max-width:800px){.cohort-users-table-wrap{display:none}.cohort-users-cards{display:flex}}.cohort-detail-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.cohort-detail-main input:not([type=date]):not([type=hidden]),.cohort-detail-main select{text-transform:uppercase}.cohort-detail-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;margin-bottom:24px;min-width:0;max-width:100%}.cohort-detail-field{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%}.cohort-detail-field.span-2{grid-column:span 2}.cohort-detail-field>span{font-size:.85rem;font-weight:600;color:#333}.cohort-code-readonly{background:#f5f5f5;color:#555}.cohort-classes-box{border:1px dashed #ccc;border-radius:8px;padding:12px;background:#fafafa}.cohort-class-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;min-height:36px}.cohort-class-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#e3f2fd;border-radius:6px;font-size:.88rem}.cohort-chip-remove{border:none;background:transparent;cursor:pointer;font-size:1.1rem;line-height:1;color:#555;padding:0 2px}.cohort-add-class-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cohort-add-class-select{flex:1;min-width:min(100%,220px)}.cohort-classes-table-wrap{margin:10px 0 12px;overflow-x:hidden;max-width:100%;min-width:0}.cohort-classes-table{width:100%;min-width:0}.cohort-class-card-list{list-style:none;margin:10px 0 12px;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%}.cohort-class-card{min-width:0;max-width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;box-sizing:border-box}.cohort-class-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.cohort-class-card-name{font-weight:700;color:#1a1a1a;line-height:1.3;word-break:break-word}.cohort-class-card-head-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.cohort-class-card-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(4.5rem,.55fr) minmax(0,1fr) minmax(0,1fr);gap:10px 12px;min-width:0}.cohort-class-card-grid label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#546e7a}.cohort-class-card .cohort-search-input,.cohort-class-card .cohort-classes-date-input,.cohort-class-card .cohort-classes-num-input,.cohort-class-card .cohort-classes-type-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.cohort-classes-name-cell{font-weight:600;vertical-align:middle}.cohort-classes-num-input{width:5rem;max-width:100%;padding:.4rem .5rem}.cohort-classes-date-input{min-width:9.5rem;max-width:100%;padding:.4rem .5rem}.cohort-classes-actions-th{width:4.5rem}.cohort-classes-remove-btn{font-size:1.25rem;padding:2px 6px}.cohort-classes-empty-hint{margin:8px 0 10px}.cohort-class-modal label{display:block;margin-top:12px;margin-bottom:4px;font-size:.85rem;font-weight:600;color:#333}.cohort-detail-footer-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid #eee}.cohort-save-btn{padding:10px 22px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;background:#7b1f24;color:#fff;border:none;cursor:pointer}.cohort-save-btn:disabled{opacity:.6;cursor:not-allowed}.cohort-save-btn.cohort-users-save-btn,.cohort-save-btn.cohort-users-save-btn:hover,.cohort-save-btn.cohort-users-save-btn:focus-visible{background:var(--main-color, #43a4ff);background-color:var(--main-color, #43a4ff);color:#fff;border:none;box-shadow:0 1px 3px #43a4ff59}.cohort-save-btn.cohort-users-save-btn:hover:not(:disabled){filter:brightness(1.05)}.cohort-page-muted{color:#666;font-size:.95rem}.cohort-page-muted.small{font-size:.82rem;margin:0 0 8px}.cohort-detail-banner-error{margin:0 0 12px}.cohort-planner-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cohort-planner-subtab{padding:8px 12px;font-size:.82rem;font-weight:600;border:1px solid #ddd;background:#f8f8f8;border-radius:6px;cursor:pointer;color:#333}.cohort-planner-subtab.active{background:#43a4ff;color:#fff;border-color:#43a4ff}.cohort-planner-placeholder{padding:24px 8px}.cohort-preceptors-toolbar{margin-bottom:12px}.cohort-preceptor-list-block{margin-top:28px;padding-top:20px;border-top:1px solid #eee}.cohort-section-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 8px}.cohort-name-link{color:#1565c0;font-weight:600;font-size:.95rem;text-decoration:underline;cursor:pointer}.cohort-name-link:hover{color:#0d47a1}.clinical-req-section{padding-bottom:8px}.clinical-req-title{font-size:1.15rem;font-weight:600;color:#0d47a1;margin:0 0 8px}.clinical-req-add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.clinical-req-add-name{min-width:200px;flex:1 1 220px}.clinical-req-add-start-date{width:148px;min-width:132px;flex:0 0 auto}.clinical-req-add-hours{width:120px;min-width:100px}.clinical-req-add-hours-compose{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap}.clinical-req-add-hours-compose .clinical-req-add-hours{width:100px;min-width:72px}.clinical-req-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}.clinical-req-card{margin:0}.clinical-req-card-inner{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;row-gap:10px;padding:12px 14px;border-radius:10px;border:1px solid #1565c0;background:linear-gradient(145deg,#e3f2fd,#bbdefb);box-shadow:0 1px 2px #0d47a114;min-height:56px}.clinical-req-card-inner>.clinical-req-hours-wrap{grid-column:1;grid-row:1}.clinical-req-hours-wrap{display:inline-flex;align-items:center;gap:2px;min-width:52px;padding:4px 8px 4px 6px;background:#fff;border:1px solid #90caf9;border-radius:6px;box-sizing:border-box}.clinical-req-hours-wrap:focus-within{border-color:#1565c0;box-shadow:0 0 0 2px #1565c033}.clinical-req-hours-suffix{font-size:.72rem;font-weight:700;color:#607d8b;letter-spacing:.03em;-webkit-user-select:none;user-select:none;line-height:1}.clinical-req-card-inner>.clinical-req-start-date-input-inline{grid-column:2;grid-row:1;min-width:0;width:100%;max-width:148px;padding:6px 8px;font-size:.85rem;justify-self:stretch}.clinical-req-card-inner>.clinical-req-card-icon-actions{grid-column:3;grid-row:1;justify-self:end}.clinical-req-card-inner>input[type=text].clinical-req-name-input-inline{grid-column:1 / -1;grid-row:2;min-width:0;width:100%}.clinical-req-card-edit{grid-template-columns:1fr;gap:8px}.clinical-req-hours-input-inline{width:auto;min-width:2ch;max-width:72px;text-align:center;font:inherit;font-weight:700;font-size:.95rem;color:#0d47a1;box-sizing:border-box;border:none;background:transparent;padding:4px 2px;margin:0;-moz-appearance:textfield}.clinical-req-hours-input-inline::-webkit-outer-spin-button,.clinical-req-hours-input-inline::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.clinical-req-hours-input-inline:focus{outline:none}.clinical-req-name{font-weight:600;font-size:.9rem;color:#0d47a1;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.clinical-req-name-input-inline{min-width:0;width:100%;padding:8px 10px;border:1px solid #90caf9;border-radius:6px;background:#fff;font-weight:600;font-size:.9rem;color:#0d47a1;line-height:1.35;box-sizing:border-box}.clinical-req-name-input-inline:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 2px #1565c033}.clinical-req-saving{font-size:.72rem;font-weight:600;color:#424242;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;margin-right:4px}.clinical-req-card-icon-actions{display:flex;gap:4px;align-items:center}.clinical-req-icon-btn{width:34px;height:34px;padding:0;border:none;border-radius:6px;background:#ffffffd9;color:#1565c0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.clinical-req-icon-btn:hover:not(:disabled){background:#fff;color:#0d47a1}.clinical-req-icon-danger{color:#c62828}.clinical-req-icon-danger:hover:not(:disabled){color:#b71c1c}.clinical-req-icon-btn:disabled{opacity:.5;cursor:not-allowed}.clinical-req-hours-input,.clinical-req-name-input{width:100%;padding:8px 10px;font-size:.9rem;border:1px solid #90caf9;border-radius:6px;background:#fff}.clinical-req-card-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.clinical-req-total{margin:20px 0 0;text-align:right;font-size:1rem;color:#1a1a1a}.cohort-skills-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1rem}.cohort-skills-toolbar-primary,.cohort-skills-toolbar-secondary{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.cohort-skills-table-wrap{overflow-x:visible;margin-top:.25rem}.cohort-skills-category-table{width:100%;table-layout:fixed}.cohort-skills-class-select{width:100%;min-width:8.5rem;max-width:11rem;padding:.35rem .45rem;text-align:center;margin-left:auto;margin-right:auto}.cohort-skills-class-th{width:9rem;white-space:nowrap}.cohort-skills-table .cohort-skills-num-input{width:4.5rem;max-width:100%;padding:.35rem .45rem}.cohort-skills-table .cohort-skills-name-input{min-width:8.5rem;max-width:18rem;width:100%}.cohort-skills-table th:first-child,.cohort-skills-table td:first-child{width:2.25rem;text-align:center;vertical-align:middle}.cohort-skills-table thead tr:last-child th,.cohort-skills-table tbody td{text-align:center;vertical-align:middle}.cohort-skills-table .cohort-skills-name-input,.cohort-skills-table .cohort-skills-num-input{text-align:center;margin-left:auto;margin-right:auto}.cohort-skills-table tbody td .clinical-req-icon-btn{margin-left:auto;margin-right:auto}.cohort-skills-table .cohort-actions-cell{white-space:nowrap;vertical-align:middle}.cohort-skills-table .cohort-actions-cell .clinical-req-saving{display:inline-block;margin-right:.35rem;vertical-align:middle}.cohort-skills-bls-th{width:1%;white-space:nowrap;text-align:center}.cohort-skills-bls-cell{white-space:nowrap;text-align:center}.cohort-skills-bls-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:.8rem;font-weight:700;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;background:#eceff1;color:#455a64;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .05s ease}.cohort-skills-bls-toggle--bls{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.cohort-skills-bls-toggle--als{background:#fdecea;color:#b71c1c;border-color:#f5c6c1}.cohort-skills-bls-toggle:hover:not(:disabled){filter:brightness(.97)}.cohort-skills-bls-toggle:active:not(:disabled){transform:translateY(1px)}.cohort-skills-bls-toggle:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.cohort-skills-bls-toggle:disabled{cursor:not-allowed;opacity:.6}.cohort-skills-top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem}.cohort-skills-category-stack{display:flex;flex-direction:column;gap:1.5rem}.cohort-skills-category-block{width:100%}.cohort-skills-category-header-cell{text-align:left;vertical-align:middle;background:#f4f7fb;border-bottom:1px solid #e2e8f0}.cohort-skills-category-header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;width:100%}.cohort-skills-category-name-input{flex:1 1 12rem;min-width:10rem;max-width:28rem}.cohort-skills-category-static-name{font-weight:600;font-size:1rem;color:#1a1a1a;flex:1 1 12rem;min-width:0}.cohort-skills-category-header-buttons{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-left:auto;flex-shrink:0}.cohort-skills-category-add-skill-btn{flex:0 0 auto}.cohort-skills-category-delete-btn{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;border:1px solid #c62828;background:#fff8f8;color:#b71c1c;cursor:pointer;margin:0;box-shadow:0 1px 2px #c628281f;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.cohort-skills-category-delete-btn:hover:not(:disabled){background:#ffebee;border-color:#b71c1c;color:#7f0000}.cohort-skills-category-delete-btn:disabled{opacity:.55;cursor:not-allowed}.cohort-skills-skill-actions-th{width:4rem}.cohort-skills-skill-actions-cell{width:4rem;text-align:center}.cohort-skills-category-table .cohort-skills-name-input{min-width:0;max-width:100%;width:100%}.cohort-skill-category{min-width:0;max-width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;box-sizing:border-box}.cohort-skill-category-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;min-width:0}.cohort-skill-category-head .cohort-skills-category-name-input,.cohort-skill-category-head .cohort-skills-category-static-name{flex:1 1 12rem;min-width:0;max-width:100%;width:auto}.cohort-skill-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}.cohort-skill-card{min-width:0;max-width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-sizing:border-box}.cohort-skill-fields{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,.9fr) minmax(0,1.3fr) auto;gap:10px 12px;align-items:end;min-width:0}.cohort-skill-field-name{grid-column:1 / 4;grid-row:1}.cohort-skill-fields>.cohort-skill-field:nth-child(2){grid-column:1;grid-row:2}.cohort-skill-fields>.cohort-skill-field:nth-child(3){grid-column:2;grid-row:2}.cohort-skill-field-class{grid-column:3;grid-row:2}.cohort-skill-field-remove{grid-column:4;grid-row:1;align-self:end;justify-self:end}.cohort-skill-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#607d8b}.cohort-skill-field .cohort-search-input,.cohort-skill-field select,.cohort-skill-fields .cohort-skills-name-input,.cohort-skill-fields .cohort-skills-num-input,.cohort-skill-fields .cohort-skills-class-select{width:100%;min-width:0;max-width:100%;min-height:40px;box-sizing:border-box}.cohort-skill-fields .cohort-skills-num-input{text-align:center}.cohort-skill-field .cohort-skills-bls-toggle{min-height:40px;align-self:flex-start;padding:0 16px}.cohort-skill-field-remove{align-items:flex-end}.cohort-skill-field-remove .clinical-req-icon-btn{width:40px;height:40px}.cohort-skill-field-spacer{display:none}.cohort-skill-category-head .cohort-skills-category-name-input{min-height:40px;font-weight:700;background:#fff}.cohort-skills-phone-step{min-width:0;max-width:100%}.cohort-skills-phone-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.cohort-skills-phone-actions .cohort-primary-btn,.cohort-skills-phone-actions a.cohort-primary-btn,.cohort-skills-phone-delete{width:100%;min-height:48px;box-sizing:border-box;justify-content:center}.cohort-detail-main--phone .cohort-skill-field-remove{display:none}.cohort-detail-main--phone .cohort-skill-fields,.cohort-detail-main--phone .cohort-class-card-grid{grid-template-columns:minmax(0,1fr)}.cohort-detail-main--phone .cohort-skill-field-name,.cohort-detail-main--phone .cohort-skill-fields>.cohort-skill-field,.cohort-detail-main--phone .cohort-skill-field-class,.cohort-detail-main--phone .cohort-skill-field-remove{grid-column:1 / -1;grid-row:auto}.cohort-detail-main--phone .cohort-skill-field .cohort-skills-bls-toggle,.cohort-detail-main--phone .cohort-skills-phone-actions .cohort-primary-btn,.cohort-detail-main--phone .cohort-forms-tab-header .cohort-filter-btn,.cohort-detail-main--phone .cohort-forms-card-actions .cohort-filter-btn{width:100%;min-height:48px}.cohort-detail-main--phone .cohort-forms-toolbar,.cohort-detail-main--phone .cohort-forms-tab-header{flex-direction:column;align-items:stretch}.cohort-detail-main--phone .cohort-forms-card-actions{flex-direction:column}@container cohort-editor (max-width: 760px){.cohort-class-card-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cohort-skill-fields{grid-template-columns:minmax(0,1fr)}.cohort-skill-field-name,.cohort-skill-fields>.cohort-skill-field,.cohort-skill-field-class,.cohort-skill-field-remove{grid-column:1 / -1;grid-row:auto}}html[data-theme=dark] .cohort-skill-category,html[data-theme=dark] .cohort-class-card{background:var(--surface-alt);border-color:var(--border)}html[data-theme=dark] .cohort-skill-card,html[data-theme=dark] .cohort-skill-category-head .cohort-skills-category-name-input{background:var(--surface);border-color:var(--border);color:var(--text-primary)}html[data-theme=dark] .cohort-skill-field,html[data-theme=dark] .cohort-class-card-grid label,html[data-theme=dark] .cohort-class-card-name{color:var(--text-secondary)}.manage-cohorts-main--dashboard{max-width:calc(1320px + 5vw)}.manage-cohorts-main--dashboard .cohort-listing-header .cohort-listing-actions,.program-directors-listing .cohort-listing-header .cohort-listing-actions,.manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons,.program-directors-listing .cohort-listing-header .cohort-action-buttons,body.planner-phone-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons,body.planner-native-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons,body.planner-phone-app .program-directors-listing .cohort-listing-header .cohort-action-buttons,body.planner-native-app .program-directors-listing .cohort-listing-header .cohort-action-buttons{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-self:flex-start;justify-content:flex-start;width:auto;max-width:100%;min-width:0;grid-template-columns:none}.manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-primary-btn,.manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-filter-btn,.program-directors-listing .cohort-listing-header .cohort-action-buttons .cohort-primary-btn,body.planner-phone-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-primary-btn,body.planner-phone-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-filter-btn,body.planner-native-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-primary-btn,body.planner-native-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons .cohort-filter-btn,body.planner-phone-app .program-directors-listing .cohort-listing-header .cohort-action-buttons .cohort-primary-btn,body.planner-native-app .program-directors-listing .cohort-listing-header .cohort-action-buttons .cohort-primary-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;justify-self:start;flex:0 0 auto;width:fit-content;min-width:0;max-width:max-content;height:32px;min-height:32px;max-height:32px;padding:0 12px;font-size:.8rem;line-height:1;box-sizing:border-box;grid-column:auto}@media(max-width:800px){.manage-cohorts-main--dashboard .cohort-listing-title{width:100%;text-align:center}.manage-cohorts-main--dashboard .cohort-listing-header .cohort-listing-actions,.manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons,body.planner-phone-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons,body.planner-native-app .manage-cohorts-main--dashboard .cohort-listing-header .cohort-action-buttons{flex-direction:column;align-items:flex-start}.manage-cohorts-main--dashboard .cohort-listing-header .cohort-filter-btn{order:2}}.cohort-dashboard-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.cohort-dashboard-filters .cohort-dash-sort-bar{margin-bottom:0}.cohort-dash-sort-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;background:#f4f7fb;border:1px solid #e2e8f0;border-radius:10px}.cohort-dash-sort-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#546e7a;margin-right:4px}.cohort-dash-sort-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid #cfd8dc;background:#fff;font-size:.82rem;font-weight:600;color:#37474f;cursor:pointer}.cohort-dash-sort-chip:hover{border-color:#43a4ff;color:#0d47a1}.cohort-dash-sort-chip.active{border-color:#1565c0;background:#e3f2fd;color:#0d47a1}.cohort-dash-sort-chip-icon{font-size:.75rem;opacity:.85}.cohort-dash-empty{padding:28px 16px;text-align:center;border-radius:10px;background:#fafafa;border:1px dashed #cfd8dc}.cohort-dash-pager-layout{display:flex;gap:14px;align-items:stretch}.cohort-dash-pager-rail{display:flex;flex-direction:column;justify-content:center;gap:10px;flex-shrink:0}.cohort-dash-pager-btn{width:44px;height:44px;border-radius:10px;border:1px solid #b0bec5;background:linear-gradient(180deg,#fff,#eceff1);color:#263238;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 1px 2px #0000000f}.cohort-dash-pager-btn:hover:not(:disabled){border-color:#1565c0;color:#0d47a1;background:#fff}.cohort-dash-pager-btn:disabled{opacity:.35;cursor:not-allowed}.cohort-dash-pager-main{flex:1;min-width:0}.cohort-dash-page-meta{margin:0 0 10px;font-size:.88rem;color:#546e7a;font-weight:500}.cohort-dash-page-meta-sep{margin:0 8px;color:#b0bec5}.cohort-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;min-height:0}.cohort-dash-card{display:flex;flex-direction:column;min-height:220px;height:100%;padding:16px 16px 14px;border-radius:12px;border:1px solid #cfd8dc;background:linear-gradient(165deg,#fff,#f5f9fc 55%,#eef4f8);box-shadow:0 2px 6px #2632380f,0 1px 2px #2632380a;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.cohort-dash-card:hover{border-color:#90caf9;box-shadow:0 6px 16px #1565c01f,0 2px 4px #0000000f}.cohort-dash-card-session-active{border-color:#81c784;background:linear-gradient(165deg,#f1fbf2,#e8f5e9 40%,#e0f2e4)}.cohort-dash-card-session-inactive{border-color:#cfd8dc}.cohort-dash-card-placeholder{visibility:hidden;pointer-events:none;border-color:transparent!important;background:transparent!important;box-shadow:none!important;min-height:220px}.cohort-dash-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.cohort-dash-card-title{font-size:1rem;font-weight:700;color:#0d47a1;text-decoration:none;line-height:1.3;word-break:break-word}.cohort-dash-card-title:hover{text-decoration:underline}.cohort-dash-card-actions{display:flex;gap:4px;flex-shrink:0}.cohort-dash-card-icon-btn{width:34px;height:34px;padding:0;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#1565c0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cohort-dash-card-icon-btn:hover{background:#e3f2fd;border-color:#90caf9}.cohort-dash-card-icon-danger{color:#c62828}.cohort-dash-card-icon-danger:hover{background:#ffebee;border-color:#ef9a9a}.cohort-dash-card-program{margin:0 0 12px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#607d8b}.cohort-dash-card-code{margin:-8px 0 12px;font-size:.78rem;font-weight:600;color:#37474f;letter-spacing:.03em}.cohort-dash-card-code-label{font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;color:#78909c;margin-right:4px}.cohort-dash-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 auto;padding:0}.cohort-dash-card-meta dt{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#78909c}.cohort-dash-card-meta dd{margin:2px 0 0;font-size:.9rem;font-weight:600;color:#263238}.cohort-dash-card-footer{margin-top:14px;padding-top:10px;border-top:1px solid rgba(176,190,197,.5)}.cohort-dash-split{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:16px;align-items:stretch;width:100%;min-width:0;max-width:100%;padding-bottom:5vh}.cohort-dash-split-list-panel,.cohort-dash-split-detail{min-height:0;box-sizing:border-box}.cohort-dash-split-list-panel{display:flex;flex-direction:column;max-height:min(calc(760px + 5vh),calc(105vh - 220px));overflow:hidden;padding:12px;border:1px solid #cfd8dc;border-radius:12px;background:#f7fafc}.cohort-dash-split-hint{margin:-2px 0 10px;font-size:.82rem;line-height:1.4;color:#546e7a}.cohort-dash-split-list{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:2px}.cohort-dash-split-item{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;margin:0;padding:10px 12px;text-align:left;font:inherit;color:inherit;border:1px solid #cfd8dc;border-left:4px solid #b0bec5;border-radius:10px;background:#fff;cursor:pointer}.cohort-dash-split-item.is-session{border-left-color:#43a047}.cohort-dash-split-item:hover{border-color:#90caf9}.cohort-dash-split-item.is-selected{background:#e3f2fd;border-color:#1565c0;box-shadow:inset 0 0 0 1px #1565c0}.cohort-dash-split-item.is-selected.is-session{border-left-color:#2e7d32}.cohort-dash-split-item:focus-visible{outline:2px solid #1565c0;outline-offset:2px}.cohort-dash-split-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%}.cohort-dash-split-item-name{font-size:.95rem;font-weight:700;color:#0d47a1;line-height:1.3;word-break:break-word}.cohort-dash-split-item .cohort-enrollment-badge{flex-shrink:0;font-size:.68rem}.cohort-dash-split-item-meta,.cohort-dash-split-item-sub{font-size:.78rem;line-height:1.35;color:#546e7a;word-break:break-word}.cohort-dash-split-item-meta{font-weight:600}.cohort-dash-editor-host{min-width:0;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;border:1px solid #cfd8dc;border-radius:12px;background:#fff;padding:14px 16px 8px;container-type:inline-size;container-name:cohort-editor}.cohort-dash-split .cohort-dash-editor-host,.cohort-dash-split .cohort-dash-split-detail{max-height:min(calc(760px + 5vh),calc(105vh - 220px))}.cohort-dash-editor-stack{margin-top:16px}.cohort-phone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cohort-phone-list li{margin:0}.cohort-phone-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;margin:0;padding:12px 14px;text-align:left;font:inherit;color:inherit;border:1px solid #cfd8dc;border-left:4px solid #b0bec5;border-radius:10px;background:#fff;cursor:pointer}.cohort-phone-row.is-session{border-left-color:#43a047}.cohort-phone-row-name{font-size:1rem;font-weight:700;color:#0d47a1;line-height:1.3;word-break:break-word}.cohort-phone-row-status{font-size:.82rem;font-weight:600;color:#546e7a}.cohort-phone-step{display:flex;flex-direction:column;gap:8px}.cohort-phone-back{align-self:flex-start;min-height:44px;margin:0;padding:8px 0;border:none;background:none;color:#1565c0;font:inherit;font-weight:700;cursor:pointer}.cohort-phone-title{margin:0;font-size:1.35rem;font-weight:700;color:#0d47a1;line-height:1.25;word-break:break-word}.cohort-phone-status{margin:0 0 4px;font-size:.9rem;font-weight:600;color:#546e7a}.cohort-phone-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:12px}.cohort-phone-actions .cohort-dash-detail-action,.cohort-phone-actions a.cohort-primary-btn{width:100%;min-height:48px;justify-content:center;box-sizing:border-box}.cohort-detail-main--phone .cohort-detail-header-bar{flex-direction:column;align-items:stretch}.cohort-detail-main--phone .cohort-dash-editor-close{align-self:center;width:100%;max-width:420px;min-height:48px;border:1px solid #cfd8dc;border-radius:6px;background:#fff;font-size:.85rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.cohort-detail-main--phone .cohort-detail-footer-actions{flex-direction:column-reverse;align-items:center;position:sticky;bottom:0;gap:10px;background:#fff;padding:12px 0 4px;z-index:2}.cohort-detail-main--phone .cohort-detail-footer-actions .cohort-filter-btn,.cohort-detail-main--phone .cohort-detail-footer-actions .cohort-save-btn{width:100%;max-width:420px;min-height:48px;box-sizing:border-box}.cohort-phone-editor{width:100%;min-width:0;max-width:100%;overflow-x:hidden;container-type:inline-size;container-name:cohort-editor}.cohort-detail-main--phone{min-width:0;max-width:100%;box-sizing:border-box}.cohort-detail-main--phone .cohort-detail-form-grid{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.cohort-detail-main--phone .cohort-detail-field,.cohort-detail-main--phone .cohort-classes-box,.cohort-detail-main--phone .cohort-classes-table-wrap,.cohort-detail-main--phone .cohort-table-wrap{min-width:0;max-width:100%}.cohort-detail-main--phone .cohort-search-input,.cohort-detail-main--phone select,.cohort-detail-main--phone textarea,.cohort-detail-main--embedded .cohort-search-input,.cohort-detail-main--embedded select,.cohort-detail-main--embedded textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.cohort-detail-main--embedded .cohort-detail-main-tabs,.cohort-detail-main--phone .cohort-detail-main-tabs,body.planner-native-app .cohort-detail-main--embedded .cohort-detail-main-tabs,body.planner-phone-app .cohort-detail-main--embedded .cohort-detail-main-tabs,body.planner-native-app .cohort-detail-main--phone .cohort-detail-main-tabs,body.planner-phone-app .cohort-detail-main--phone .cohort-detail-main-tabs{flex-wrap:wrap;overflow:visible;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.cohort-detail-main--phone .cohort-detail-tab,body.planner-native-app .cohort-detail-main--embedded .cohort-detail-tab,body.planner-phone-app .cohort-detail-main--embedded .cohort-detail-tab,body.planner-native-app .cohort-detail-main--phone .cohort-detail-tab,body.planner-phone-app .cohort-detail-main--phone .cohort-detail-tab{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center}.cohort-detail-main--phone .cohort-detail-tab.active,body.planner-native-app .cohort-detail-main--embedded .cohort-detail-tab.active,body.planner-phone-app .cohort-detail-main--embedded .cohort-detail-tab.active,body.planner-native-app .cohort-detail-main--phone .cohort-detail-tab.active,body.planner-phone-app .cohort-detail-main--phone .cohort-detail-tab.active{margin-bottom:0}.cohort-detail-main--embedded .cohort-table,.cohort-detail-main--phone .cohort-table{width:100%;min-width:0;table-layout:fixed}.cohort-detail-main--embedded .cohort-table th,.cohort-detail-main--embedded .cohort-table td,.cohort-detail-main--phone .cohort-table th,.cohort-detail-main--phone .cohort-table td{white-space:normal;overflow-wrap:anywhere}.cohort-detail-main--embedded .cohort-table-wrap,.cohort-detail-main--phone .cohort-table-wrap,.cohort-detail-main--embedded .clinical-req-add-row,.cohort-detail-main--phone .clinical-req-add-row{overflow-x:hidden;max-width:100%;min-width:0}.cohort-detail-main--embedded .cohort-users-table,.cohort-detail-main--phone .cohort-users-table{table-layout:auto;width:100%}.cohort-detail-main--embedded .cohort-users-table th,.cohort-detail-main--embedded .cohort-users-table td,.cohort-detail-main--phone .cohort-users-table th,.cohort-detail-main--phone .cohort-users-table td{overflow-wrap:break-word;word-break:normal;white-space:normal}.cohort-detail-main--embedded .clinical-req-add-name,.cohort-detail-main--embedded .clinical-req-add-start-date,.cohort-detail-main--embedded .clinical-req-add-hours,.cohort-detail-main--phone .clinical-req-add-name,.cohort-detail-main--phone .clinical-req-add-start-date,.cohort-detail-main--phone .clinical-req-add-hours{min-width:0;width:auto;max-width:100%;flex:1 1 140px}.cohort-detail-main--embedded .cohort-forms-card-grid,.cohort-detail-main--phone .cohort-forms-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.cohort-detail-main--embedded .cohort-forms-filter-grow,.cohort-detail-main--phone .cohort-forms-filter-label{min-width:0;max-width:100%;flex:1 1 160px}.cohort-detail-main--embedded .cohort-detail-main-tabs{flex-wrap:wrap}.cohort-dash-split-detail{display:flex;flex-direction:column;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:20px 22px 16px;border-radius:12px;border:1px solid #cfd8dc;background:linear-gradient(165deg,#fff,#f5f9fc 55%,#eef4f8);box-shadow:0 2px 6px #2632380f,0 1px 2px #2632380a}.cohort-dash-split-detail-session{border-color:#81c784;background:linear-gradient(165deg,#f1fbf2,#e8f5e9 40%,#e0f2e4)}.cohort-dash-split-detail-empty{justify-content:center}.cohort-dash-detail-empty-copy{margin:8px 0 0;max-width:36rem;font-size:.95rem;line-height:1.5;color:#546e7a}.cohort-dash-detail-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.cohort-dash-detail-heading{margin:0;font-size:1.45rem;font-weight:700;line-height:1.25;color:#0d47a1;word-break:break-word}.cohort-dash-session-chip{flex-shrink:0;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#eceff1;color:#546e7a}.cohort-dash-session-chip.is-active{background:#e8f5e9;color:#1b5e20}.cohort-dash-split-detail .cohort-dash-card-program{margin-bottom:8px}.cohort-dash-split-detail .cohort-dash-card-code{margin:0 0 4px}.cohort-dash-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}.cohort-dash-detail-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;box-sizing:border-box}a.cohort-dash-detail-action.cohort-primary-btn,a.cohort-dash-detail-action.cohort-primary-btn:hover{color:#fff;font-size:.85rem;text-decoration:none}a.cohort-dash-detail-action.cohort-dash-detail-secondary,button.cohort-dash-detail-action.cohort-dash-detail-secondary{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background:#fff;color:#1565c0;border:1px solid #90caf9;text-decoration:none}a.cohort-dash-detail-action.cohort-dash-detail-secondary:hover,button.cohort-dash-detail-action.cohort-dash-detail-secondary:hover{background:#e3f2fd;color:#0d47a1;border-color:#64b5f6}button.cohort-dash-detail-action.cohort-dash-detail-danger{padding:8px 14px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;background:#fff;color:#c62828;border:1px solid #ef9a9a}button.cohort-dash-detail-action.cohort-dash-detail-danger:hover{background:#ffebee;color:#b71c1c;border-color:#e57373}.cohort-dash-detail-meta{margin-bottom:0}.cohort-dash-split-detail .cohort-dash-card-footer{margin-top:18px}.cohort-dash-detail-enrollment-label{margin-right:8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#78909c}@media(max-width:1100px){.cohort-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.cohort-detail-form-grid{grid-template-columns:1fr}.cohort-detail-field.span-2{grid-column:span 1}.cohort-dash-pager-layout{flex-direction:column}.cohort-dash-pager-rail{flex-direction:row;justify-content:center}}@media(max-width:520px){.cohort-dashboard-grid{grid-template-columns:1fr}}a.cohort-primary-btn.cohort-skills-approve-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.approve-skills-program-line{margin-bottom:1rem}.approve-skills-layout{display:flex;flex-direction:column;gap:1.25rem}.approve-skills-category-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:stretch}@media(max-width:900px){.approve-skills-category-pair{grid-template-columns:1fr}}.approve-skills-box{border:1px solid #e0e0e0;border-radius:10px;background:#fff;padding:1rem 1.1rem;box-shadow:0 1px 4px #0000000d;min-height:0}.approve-skills-box--left{background:#fafbfc}.approve-skills-category-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:#1a1a1a}.approve-skills-box-caption{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#78909c}.approve-skills-name-list,.approve-skills-assign-list{list-style:none;margin:0;padding:0}.approve-skills-name-item{padding:.45rem 0;border-bottom:1px solid #eceff1;font-weight:600;color:#263238}.approve-skills-name-item:last-child{border-bottom:none}.approve-skills-empty{margin:0;font-size:.92rem;color:#90a4ae}.approve-skills-assign-block{padding:.75rem 0;border-bottom:1px solid #eceff1}.approve-skills-assign-block:last-child{border-bottom:none;padding-bottom:0}.approve-skills-assign-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.5rem}.approve-skills-assign-skill-name{font-weight:700;font-size:.95rem;color:#1a1a1a}.approve-skills-select-all-btn{flex-shrink:0}.approve-skills-cleared-summary{margin:0 0 .6rem;font-size:.88rem;line-height:1.45;color:#37474f}.approve-skills-cleared-summary--empty{color:#90a4ae;font-style:italic}.approve-skills-add-label{display:flex;flex-direction:column;gap:4px}.approve-skills-add-label-text{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#607d8b}.approve-skills-user-select{max-width:100%;width:100%}.approve-skills-add-row{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.approve-skills-user-rs-wrap{width:100%}.approve-skills-add-selected-btn{align-self:flex-start}html[data-theme=dark] .cohort-dash-sort-bar{background:var(--surface-alt);border-color:var(--border)}html[data-theme=dark] .cohort-dash-sort-label{color:var(--text-muted)}html[data-theme=dark] .cohort-dash-sort-chip{background:var(--surface);border-color:var(--border-input);color:var(--text-secondary)}html[data-theme=dark] .cohort-dash-sort-chip:hover{border-color:var(--accent);color:var(--accent-hover)}html[data-theme=dark] .cohort-dash-sort-chip.active{border-color:var(--accent);background:#5eb8ff24;color:var(--accent-hover)}html[data-theme=dark] .cohort-dash-sort-chip-icon{color:inherit}html[data-theme=dark] .cohort-dash-empty{background:var(--surface-alt);border-color:var(--border);color:var(--text-secondary)}html[data-theme=dark] .cohort-dash-pager-btn{background:var(--surface-alt);border-color:var(--border-input);color:var(--text-primary);box-shadow:none}html[data-theme=dark] .cohort-dash-pager-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface)}html[data-theme=dark] .cohort-dash-page-meta{color:var(--text-muted)}html[data-theme=dark] .cohort-dash-page-meta-sep{color:var(--border)}html[data-theme=dark] .cohort-dash-card{border-color:var(--border);background:linear-gradient(165deg,var(--surface) 0%,var(--surface-alt) 100%);box-shadow:var(--shadow)}html[data-theme=dark] .cohort-dash-card:hover{border-color:#5eb8ff8c;box-shadow:var(--shadow-strong)}html[data-theme=dark] .cohort-dash-card-session-active{border-color:#81c78480;background:linear-gradient(165deg,#2e7d3233,#1b5e2052)}html[data-theme=dark] .cohort-dash-card-session-inactive{border-color:var(--border)}html[data-theme=dark] .cohort-dash-card-title{color:var(--accent)}html[data-theme=dark] .cohort-dash-card-title:hover{color:var(--accent-hover)}html[data-theme=dark] .cohort-dash-card-icon-btn{background:var(--surface-alt);border-color:var(--border-input);color:var(--accent)}html[data-theme=dark] .cohort-dash-card-icon-btn:hover{background:#5eb8ff1f;border-color:var(--accent)}html[data-theme=dark] .cohort-dash-card-icon-danger{color:#ff8a80}html[data-theme=dark] .cohort-dash-card-icon-danger:hover{background:#ff525224;border-color:#ff8a8073}html[data-theme=dark] .cohort-dash-card-program,html[data-theme=dark] .cohort-dash-card-code-label{color:var(--text-muted)}html[data-theme=dark] .cohort-dash-card-code{color:var(--text-secondary)}html[data-theme=dark] .cohort-dash-card-meta dt{color:var(--text-muted)}html[data-theme=dark] .cohort-dash-card-meta dd{color:var(--text-primary)}html[data-theme=dark] .cohort-dash-card-footer{border-top-color:var(--border)}html[data-theme=dark] .cohort-dash-split-list-panel{background:var(--surface-alt);border-color:var(--border)}html[data-theme=dark] .cohort-dash-split-hint,html[data-theme=dark] .cohort-dash-split-item-meta,html[data-theme=dark] .cohort-dash-split-item-sub,html[data-theme=dark] .cohort-dash-detail-empty-copy,html[data-theme=dark] .cohort-dash-detail-enrollment-label{color:var(--text-muted)}html[data-theme=dark] .cohort-dash-split-item{background:var(--surface);border-color:var(--border);color:var(--text-primary)}html[data-theme=dark] .cohort-dash-split-item.is-selected{background:#5eb8ff24;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html[data-theme=dark] .cohort-dash-split-item-name,html[data-theme=dark] .cohort-dash-detail-heading{color:var(--accent)}html[data-theme=dark] .cohort-dash-split-detail,html[data-theme=dark] .cohort-dash-editor-host{border-color:var(--border);background:linear-gradient(165deg,var(--surface) 0%,var(--surface-alt) 100%);box-shadow:var(--shadow)}html[data-theme=dark] .cohort-phone-row{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .cohort-phone-row-name,html[data-theme=dark] .cohort-phone-title,html[data-theme=dark] .cohort-phone-back{color:var(--accent)}html[data-theme=dark] .cohort-phone-row-status,html[data-theme=dark] .cohort-phone-status{color:var(--text-muted)}html[data-theme=dark] .cohort-detail-main--phone .cohort-dash-editor-close,html[data-theme=dark] .cohort-detail-main--phone .cohort-detail-footer-actions{background:var(--surface);border-color:var(--border);color:var(--text-primary)}html[data-theme=dark] .cohort-dash-split-detail-session{border-color:#81c78480;background:linear-gradient(165deg,#2e7d3233,#1b5e2052)}html[data-theme=dark] .cohort-dash-session-chip{background:var(--surface);color:var(--text-muted)}html[data-theme=dark] .cohort-dash-session-chip.is-active{background:#2e7d3247;color:#a5d6a7}html[data-theme=dark] a.cohort-dash-detail-action.cohort-dash-detail-secondary,html[data-theme=dark] button.cohort-dash-detail-action.cohort-dash-detail-secondary{background:var(--surface-alt);color:var(--accent);border-color:var(--border-input)}html[data-theme=dark] a.cohort-dash-detail-action.cohort-dash-detail-secondary:hover,html[data-theme=dark] button.cohort-dash-detail-action.cohort-dash-detail-secondary:hover{background:#5eb8ff1f;color:var(--accent-hover);border-color:var(--accent)}html[data-theme=dark] button.cohort-dash-detail-action.cohort-dash-detail-danger{background:var(--surface-alt);color:#ff8a80;border-color:#ff8a8073}html[data-theme=dark] button.cohort-dash-detail-action.cohort-dash-detail-danger:hover{background:#ff525224;color:#ff8a80}html[data-theme=dark] .cohort-detail-title{color:var(--text-primary)}html[data-theme=dark] .cohort-detail-subline{color:var(--text-secondary)}html[data-theme=dark] .cohort-detail-subline-label{color:var(--text-muted)}html[data-theme=dark] .cohort-detail-code-pill{background:var(--surface-alt);border-color:var(--border-input);color:var(--accent)}html[data-theme=dark] .cohort-detail-main-tabs{border-bottom-color:var(--border)}html[data-theme=dark] .cohort-detail-tab{background:var(--surface-alt);color:var(--accent);border-color:transparent}html[data-theme=dark] .cohort-detail-tab:hover{color:var(--accent-hover)}html[data-theme=dark] .cohort-detail-tab.active{background:var(--surface);color:var(--text-primary);border-color:var(--border-input);border-bottom-color:var(--surface)}html[data-theme=dark] .cohort-detail-panel{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .cohort-detail-field>span{color:var(--text-secondary)}html[data-theme=dark] .clinical-req-title{color:var(--text-primary)}html[data-theme=dark] .clinical-req-section{color:var(--text-secondary)}html[data-theme=dark] .cohort-skills-table-wrap{background:var(--surface-alt);border-color:var(--border);border-radius:8px}html[data-theme=dark] .cohort-skills-table{background:var(--surface);color:var(--text-primary)}html[data-theme=dark] .cohort-skills-table th,html[data-theme=dark] .cohort-skills-table td{border-color:var(--border);color:var(--text-primary)}html[data-theme=dark] .cohort-skills-table thead tr:last-child th{background:var(--surface-alt);color:var(--text-secondary)}html[data-theme=dark] .cohort-skills-table tbody tr:nth-of-type(2n){background:#ffffff08}html[data-theme=dark] .cohort-skills-table tbody tr:hover{background:#5eb8ff14}.cohort-forms-tab{padding-top:.25rem}.cohort-forms-tab-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cohort-forms-tab-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:#1a1a1a}.cohort-forms-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 20px;margin-bottom:20px}.cohort-forms-filter-label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#607d8b}.cohort-forms-filter-grow{flex:1 1 220px;min-width:180px}.cohort-forms-filter-grow .cohort-search-input{width:100%;min-width:0}.cohort-forms-primary-btn{background:#1976d2;color:#fff}.cohort-forms-primary-btn:hover:not(:disabled){background:#1565c0;color:#fff}.cohort-forms-secondary-btn{background:#eceff1;color:#37474f}.cohort-forms-danger-btn{background:#c62828;color:#fff}.cohort-forms-danger-btn:hover:not(:disabled){background:#b71c1c;color:#fff}.cohort-forms-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;min-width:0}.cohort-forms-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;border:1px solid #e0e0e0;border-radius:10px;padding:16px;background:#fafafa;min-height:120px}.cohort-forms-card-body{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.cohort-forms-card-name-link{display:inline-block;font-size:1.05rem;font-weight:700;color:#0d47a1;text-decoration:none}.cohort-forms-card-name-link:hover{text-decoration:underline}.cohort-forms-card-category{margin:8px 0 0;font-size:.9rem;color:#37474f;text-align:center}.cohort-forms-card-category-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#78909c;margin-right:6px}.cohort-forms-card-inactive,.cohort-forms-card-meta{margin:6px 0 0;font-size:.82rem;color:#90a4ae;text-align:center}.cohort-forms-card-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;width:100%}.cohort-filter-btn.cohort-forms-card-btn-outline{background:transparent;color:#1976d2;border:2px solid #1976d2;box-shadow:none}.cohort-filter-btn.cohort-forms-card-btn-outline:hover:not(:disabled){background:#1976d214;color:#1565c0;border-color:#1565c0}.cohort-filter-btn.cohort-forms-card-btn-outline:focus-visible{outline:none;box-shadow:0 0 0 2px #1976d259}.cohort-forms-modal.cohort-modal{max-width:520px}.cohort-forms-edit-modal.cohort-modal{max-width:min(720px,96vw)}.cohort-forms-fields-editor{margin-top:4px}.cohort-forms-fields-editor-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cohort-forms-fields-editor-title{margin:0;font-size:.95rem;font-weight:700;color:#37474f}.cohort-forms-add-field-btn{background:#eceff1;color:#37474f;font-size:.8rem}.cohort-forms-fields-hint{margin:0 0 12px;font-size:.88rem}.cohort-forms-fields-hint.small{font-size:.82rem}.cohort-forms-fields-list{display:flex;flex-direction:column;gap:14px;max-height:min(48vh,420px);overflow-y:auto;padding-right:4px}.cohort-forms-field-card{border:1px solid #e0e0e0;border-radius:10px;padding:12px 14px;background:#fff}.cohort-forms-field-card-top{display:flex;gap:10px;align-items:flex-start}.cohort-forms-field-reorder{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.cohort-forms-icon-btn{padding:4px 8px;min-width:36px;font-size:.85rem;line-height:1.2}.cohort-forms-field-main-inputs{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.cohort-forms-field-type-select{min-width:0;width:100%}.cohort-forms-field-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.cohort-forms-remove-field-btn{background:#ffebee;color:#c62828;font-size:.78rem}.cohort-forms-field-select-extra{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.cohort-forms-select-option-row{margin-bottom:10px}.cohort-forms-select-option-input-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cohort-forms-select-option-input-row .cohort-search-input{flex:1 1 160px;min-width:0}.cohort-forms-skill-points-label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#607d8b}.cohort-forms-skill-points-input{max-width:120px;min-width:72px}.cohort-forms-checkbox-label{flex-direction:row;align-items:center;gap:10px}.cohort-forms-checkbox-label input{width:auto}.cohort-forms-submissions-toolbar{margin-top:0}.cohort-forms-submissions-subline{margin:.35rem 0 0}.cohort-forms-breadcrumb-link{color:#1565c0;font-weight:600;text-decoration:none}.cohort-forms-breadcrumb-link:hover{text-decoration:underline}.cohort-forms-submissions-table-wrap{overflow-x:auto}.cohort-forms-submissions-table{width:100%;min-width:640px}.cohort-forms-submissions-notes{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.cohort-detail-main{max-width:100%;padding:12px 16px 40px;box-sizing:border-box}.cohort-detail-panel{padding:16px}.cohort-detail-main-tabs{flex-wrap:wrap;overflow:visible;width:100%;min-width:0;max-width:100%;box-sizing:border-box;gap:4px 6px;padding-bottom:0;margin-bottom:16px}.cohort-detail-tab{flex:0 1 auto;max-width:100%;min-height:44px;padding:10px 14px;white-space:normal;text-align:center;font-size:.85rem}.cohort-detail-tab.active{margin-bottom:0}.student-calendar-view-tabs{margin-top:0;margin-bottom:12px}.cohort-detail-subline--student-portal{font-size:1.1rem}.cohort-detail-form-grid{grid-template-columns:1fr}.cohort-detail-field.span-2{grid-column:span 1}.student-cohort-portal .cohort-detail-header-bar{margin-bottom:12px}}@media(max-width:599px){.cohort-detail-main{padding:10px 12px 32px}.cohort-detail-panel{padding:12px;border-radius:6px}.cohort-detail-tab{padding:10px 12px;font-size:.8rem}.cohort-detail-title{font-size:1rem}.cohort-detail-subline--student-portal{font-size:.95rem;letter-spacing:.03em}}.cohort-skill-sheet-fill-breadcrumb{margin:0 0 24px}.cohort-skill-sheet-fill-page{max-width:920px}.cohort-skill-sheet-fill-title{margin:0 0 12px}.cohort-skill-sheet-fill-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:20px;font-size:.92rem;color:var(--text-secondary, #555)}.cohort-skill-sheet-fill-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;max-width:420px}.cohort-skill-sheet-fill-fields .cohort-forms-filter-label{gap:6px}.cohort-skill-sheet-fill-student-readonly{margin:0}.cohort-skill-sheet-fill-table-wrap{margin-bottom:0}.cohort-skill-sheet-fill-table th,.cohort-skill-sheet-fill-table td{padding:10px 12px;vertical-align:middle}.cohort-skill-sheet-fill-col-max,.cohort-skill-sheet-fill-col-earned,.cohort-skill-sheet-fill-col-crit-failure,.cohort-skill-sheet-fill-col-fail{text-align:center;white-space:nowrap}.cohort-skill-sheet-fill-col-crit-failure{width:5.5rem}.cohort-skill-sheet-fill-col-fail{width:8.75rem;min-width:8.75rem}.cohort-skill-sheet-fill-fail-header{display:block;font-size:inherit;font-weight:inherit}.cohort-skill-sheet-fill-col-hint{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;margin-top:3px;font-size:.72rem;font-weight:500;line-height:1.2;white-space:nowrap;text-transform:none;letter-spacing:normal}.cohort-skill-sheet-fill-legend-eq{color:var(--text-secondary, #666);font-weight:500;font-size:inherit}.cohort-skill-sheet-fill-col-max,.cohort-skill-sheet-fill-col-earned{width:7.5rem}.cohort-skill-sheet-earned-stepper{display:inline-flex;align-items:center;justify-content:center;gap:6px}.cohort-skill-sheet-earned-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border-color, #ccc);border-radius:4px;background:var(--surface-bg, #fff);color:var(--text-primary, #222);font-size:1.1rem;font-weight:600;line-height:1;cursor:pointer}.cohort-skill-sheet-earned-btn:hover:not(:disabled){background:var(--surface-hover, #f0f0f0);border-color:var(--border-hover, #999)}.cohort-skill-sheet-earned-btn:disabled{opacity:.4;cursor:not-allowed}.cohort-skill-sheet-earned-value{min-width:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.cohort-skill-sheet-critical-mark{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;line-height:1;text-transform:none}.cohort-skill-sheet-critical-mark--legend{width:auto;height:auto;font-size:.72rem;font-weight:700;margin:0 1px}.cohort-skill-sheet-critical-mark--pass{color:#000!important}.cohort-skill-sheet-critical-mark--fail{color:#d32f2f!important}.cohort-skill-sheet-critical-checkbox{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:#c62828}.cohort-skill-sheet-fill-notes-wrap{margin-top:16px;max-width:100%}.cohort-skill-sheet-fill-notes{min-height:4.5rem;resize:vertical}.cohort-skill-sheet-fill-actions{margin-top:20px}.cohort-skill-sheet-fill-modal{max-width:min(960px,96vw);max-height:92vh;overflow-y:auto}.cohort-skill-sheet-fill-main{overflow-x:clip;max-width:100%}.cohort-skill-sheet-fill-page{max-width:min(920px,100%);overflow-x:clip}.cohort-skill-sheet-fill-page .cohort-skill-sheet-fill-title{overflow-wrap:anywhere}.cohort-skill-sheet-fill-guided{min-width:0;max-width:100%}.cohort-skill-sheet-fill-guided .cohort-search-input{width:100%;min-width:0;max-width:100%}.cohort-skill-sheet-fill-fields.cohort-skill-sheet-fill-fields--guided{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;gap:12px 16px}.cohort-skill-sheet-fill-actions--top{margin-top:0;margin-bottom:12px}.cohort-skill-sheet-fill-score-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);min-width:0}.cohort-skill-sheet-fill-score-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 12px;border-bottom:1px solid var(--border);min-width:0}.cohort-skill-sheet-fill-score-list li:last-child{border-bottom:0}.cohort-skill-sheet-fill-score-name{flex:1 1 14rem;min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-primary)}.cohort-skill-sheet-fill-score-critical{display:inline-block;margin-left:8px;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary)}.cohort-skill-sheet-fill-score-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}.cohort-skill-sheet-fill-score-max{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.cohort-skill-sheet-fill-critical-label{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.cohort-skill-sheet-fill-guided .cohort-skill-sheet-fill-actions{justify-content:flex-start;flex-wrap:wrap}.cohort-skill-sheet-fill-guided .cohort-skill-sheet-fill-actions .cohort-filter-btn,.cohort-skill-sheet-fill-guided .cohort-skill-sheet-fill-actions .cohort-primary-btn{width:auto;height:32px;min-height:32px;padding:0 14px;line-height:32px;flex:0 0 auto}@media(max-width:800px){.cohort-skill-sheet-fill-fields.cohort-skill-sheet-fill-fields--guided{grid-template-columns:minmax(0,1fr)}.cohort-skill-sheet-fill-critical-label,.cohort-skill-sheet-fill-score-max{white-space:normal}}.program-directors-cards,.program-directors-form-back{display:none}.program-director-name-btn{font:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;border-bottom:1px dotted transparent}.program-director-name-btn:hover{color:#0d47a1;border-bottom-color:#43a4ff8c}.program-director-name-btn:focus-visible{outline:2px solid rgba(67,164,255,.6);outline-offset:2px;border-radius:2px}[data-theme=dark] .program-director-name-btn:hover{color:#90caf9;border-bottom-color:#64b5f68c}.program-director-detail-modal{text-align:center}.program-director-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;min-width:0}.program-director-detail-head .cohort-modal-title{margin:0;min-width:0;overflow-wrap:break-word;word-break:normal}.program-director-detail-modal .program-director-detail-meta{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 16px;min-width:0}.program-director-detail-modal .program-director-detail-meta-row{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;text-align:center}.program-director-detail-meta-row dt{margin:0;color:var(--text-muted, #546e7a);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.program-director-detail-modal .program-director-detail-meta-row dd{margin:0;min-width:0;max-width:100%;text-align:center;line-height:1.4;overflow-wrap:break-word;word-break:normal}.program-director-detail-modal .cohort-edit-form{align-items:center;width:100%;min-width:0}.program-director-detail-modal .cohort-edit-form label,.program-director-detail-modal .cohort-modal-error{width:100%;text-align:center}.program-director-detail-modal .cohort-modal-input{text-align:center}.program-director-detail-modal .cohort-modal-actions{justify-content:center;width:100%}@media(max-width:800px){.program-directors-main{max-width:100%;padding:16px 16px 32px;overflow-x:hidden}.program-directors-listing{max-width:100%;min-width:0;overflow-x:hidden}.program-directors-listing .cohort-listing-header,.program-directors-listing .cohort-listing-actions,.program-directors-listing .cohort-action-buttons{flex-direction:column;align-items:stretch;width:100%;min-width:0}.program-directors-listing .cohort-primary-btn,.program-directors-listing a.cohort-back-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-left:0;box-sizing:border-box;text-align:center}.program-directors-listing .program-directors-table{display:none}.program-directors-cards{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;min-width:0}.program-directors-cards-empty{margin:0;border:1px solid var(--border, #e0e0e0);border-radius:10px;background:var(--surface-alt, #fafafa)}.program-director-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:4px 14px;border:1px solid var(--border, #e0e0e0);border-radius:10px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a)}.program-director-card-open{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0;min-height:48px;padding:8px 0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.program-director-card-open:focus-visible{outline:2px solid rgba(67,164,255,.6);outline-offset:2px;border-radius:6px}.program-director-card-name-text{flex:1 1 auto;min-width:min(100%,8rem);font-size:1.05rem;font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:break-word;word-break:normal}.program-directors-listing .cohort-modal-backdrop{align-items:stretch;justify-content:flex-start;padding:0}.program-directors-listing .cohort-modal{width:100%;max-width:none;min-width:0;height:100%;max-height:none;border:none;border-radius:0;padding:16px 16px 24px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.program-directors-form-back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 8px;padding:0;border:none;background:none;color:#43a4ff;font:inherit;font-size:1rem;font-weight:600;cursor:pointer}.program-directors-form-back:disabled{opacity:.6;cursor:not-allowed}.program-directors-listing .cohort-modal .cohort-search-input,.program-directors-listing .cohort-modal-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.program-directors-listing .cohort-modal-actions{flex-direction:column;align-items:stretch}.program-directors-listing .cohort-modal-actions .cohort-filter-btn,.program-directors-listing .cohort-modal-actions .cohort-primary-btn,.program-directors-listing .cohort-modal-actions .cohort-modal-danger-btn{width:100%;min-height:44px}.program-directors-listing .program-director-detail-backdrop{align-items:center;justify-content:center;padding:16px}.program-directors-listing .program-director-detail-modal{width:min(420px,100%);max-width:420px;min-width:0;height:auto;max-height:calc(100dvh - 32px);margin:0;border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:var(--shadow-strong, 0 8px 32px rgba(0, 0, 0, .15));overflow-x:hidden;overflow-y:auto}.program-directors-listing .program-director-detail-modal .cohort-modal-actions{align-items:center}}.user-detail-panel{position:relative;box-sizing:border-box;padding:12px 14px 16px;container-type:inline-size;container-name:user-detail;--user-detail-watermark: url(/images/nav/navbar-logo.png);--user-detail-scrim: linear-gradient( 180deg, rgba(255, 255, 255, .88) 0%, rgba(255, 255, 255, .91) 38%, rgba(248, 250, 252, .94) 100% );background-color:var(--bg-page, #fafafa);background-image:var(--user-detail-scrim),var(--user-detail-watermark);background-repeat:no-repeat,no-repeat;background-position:0 0,center 18%;background-size:auto,min(280px,70%);border-radius:12px}html[data-theme=dark] .user-detail-panel{--user-detail-watermark: url(/images/nav/navbar-logo-dark.png);--user-detail-scrim: linear-gradient( 180deg, rgba(26, 26, 26, .9) 0%, rgba(26, 26, 26, .92) 42%, rgba(18, 18, 18, .95) 100% );background-color:var(--bg-page, #1a1a1a)}.user-detail-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 8px}.user-detail-page-heading{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3;word-break:break-word;color:var(--text-primary, #1a1a1a)}html[data-theme=dark] .user-detail-page-heading{color:var(--text-primary, #e8e8e8)}.user-detail-close{flex-shrink:0}.manage-users-back{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin:0 0 8px;padding:8px 0;border:none;background:none;color:var(--main-color, #1565c0);font:inherit;font-weight:700;cursor:pointer}.user-detail-close-row{margin:1rem 0 0}.user-detail-panel--phone .user-detail-back-top{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px;padding:8px 0;font-size:1rem}.user-detail-panel--phone .user-detail-phone-back{display:flex;justify-content:center;width:100%;margin:0;padding:0}.user-detail-panel--phone .user-detail-phone-back .manage-users-back{align-self:center;margin:5px 0 0}@media(max-width:560px){.user-detail-panel{background-size:auto,min(220px,70%);background-position:0 0,center 12%}}.user-detail-card-wrap{max-width:1100px;margin:0 auto}.user-detail-card{background:#fffffff5;border:1px solid var(--border, #e0e0e0);border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow:hidden}html[data-theme=dark] .user-detail-card{background:#2d2d2df0;border-color:var(--border, #404040);box-shadow:0 2px 12px #00000059}.user-detail-card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border, #e8e8e8);background:linear-gradient(180deg,#fafbfc,#fff)}html[data-theme=dark] .user-detail-card-header{border-bottom-color:var(--border, #404040);background:linear-gradient(180deg,#303030fa,#282828fa)}.user-detail-card-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:.02em}html[data-theme=dark] .user-detail-card-title{color:var(--text-primary, #e8e8e8)}.user-detail-fields-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.25rem;padding:1.25rem}@media(max-width:900px){.user-detail-fields-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.user-detail-fields-grid{grid-template-columns:1fr}}@container user-detail (max-width: 760px){.user-detail-fields-grid{grid-template-columns:repeat(2,1fr)}}@container user-detail (max-width: 520px){.user-detail-fields-grid{grid-template-columns:1fr}}.user-detail-field{display:flex;flex-direction:column;gap:4px;min-width:0}.user-detail-field--wide{grid-column:1 / -1}.user-detail-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #666)}.user-detail-value{font-size:.98rem;color:var(--text, #1a1a1a);word-break:break-word}html[data-theme=dark] .user-detail-value{color:var(--text-primary, #e8e8e8)}.user-detail-emergency-list{margin:0;padding-left:1.1rem}.user-detail-footnote{padding:0 1.25rem 1.25rem;margin:0;max-width:52rem}.user-detail-cert-box{margin:0 1.25rem 1.25rem;padding:1rem 1.15rem;border:1px solid var(--border, #d0d7de);border-radius:10px;background:#f8fafc}.user-detail-cert-box h3{margin:0 0 .75rem;font-size:1rem;font-weight:700}html[data-theme=dark] .user-detail-cert-box{background:#26282ceb;border-color:var(--border, #404040)}html[data-theme=dark] .user-detail-cert-box h3{color:var(--text-primary, #e8e8e8)}.user-detail-cert-summary{margin:0 0 .85rem;font-size:.92rem}.user-detail-cert-table-wrap{overflow-x:auto}.user-detail-cert-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--border, #e0e0e0)}.user-detail-cert-table th,.user-detail-cert-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border, #eee)}.user-detail-cert-table th{background:#f0f4f8;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #555)}.user-detail-cert-table tr:last-child td{border-bottom:none}html[data-theme=dark] .user-detail-cert-table{background:#202226f5;border-color:var(--border, #404040)}html[data-theme=dark] .user-detail-cert-table th,html[data-theme=dark] .user-detail-cert-table td{border-bottom-color:var(--border, #404040)}html[data-theme=dark] .user-detail-cert-table th{background:#303238f2;color:var(--text-muted, #a0a0a0)}html[data-theme=dark] .user-detail-cert-table td{color:var(--text-primary, #e8e8e8)}.user-detail-cert-empty{margin:0;font-size:.9rem;color:var(--text-muted, #666)}.user-detail-input,.user-detail-textarea{width:100%;max-width:100%;box-sizing:border-box;padding:.45rem .55rem;border:1px solid var(--border, #ccc);border-radius:8px;font-size:.95rem;background:#fff}.user-detail-input--readonly{background:#f3f4f6;color:var(--text-muted, #444)}html[data-theme=dark] .user-detail-input:not(.user-detail-input--readonly),html[data-theme=dark] .user-detail-textarea{background:var(--surface-alt, #383838);border-color:var(--border-input, #505050);color:var(--text-primary, #e8e8e8)}html[data-theme=dark] .user-detail-input--readonly{background:#1e1e1ed9;color:var(--text-muted, #a0a0a0);border-color:var(--border, #404040)}.user-detail-input--tight-top{margin-top:4px}.user-detail-textarea{resize:vertical;min-height:4.5rem}.user-detail-page input.user-detail-input:not([type=date]),.user-detail-page select.user-detail-input,.user-detail-page textarea.user-detail-textarea{text-transform:uppercase}.user-detail-page select.user-detail-input option{text-transform:uppercase}.user-detail-page input.user-detail-input:not([type=date])::placeholder,.user-detail-page textarea.user-detail-textarea::placeholder{text-transform:uppercase}.user-detail-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.95rem}.user-detail-field--drug .user-detail-sub-label{display:block;margin-top:8px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #666)}.user-detail-field--tight{margin-top:.25rem}.user-detail-hint{margin:6px 0 0;font-size:.8rem;color:var(--text-muted, #666)}.user-detail-lang-react-select{margin-top:4px}.user-detail-lang-above{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:0;margin-bottom:8px}.user-detail-lang-pill{display:inline-flex;align-items:center;gap:2px;padding:3px 4px 3px 10px;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#eef2f7;border:1px solid var(--border, #d0d7de);color:var(--text, #1a1a1a)}html[data-theme=dark] .user-detail-lang-pill{background:#383c44f2;border-color:var(--border, #505050);color:var(--text-primary, #e8e8e8)}.user-detail-lang-pill-text{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-detail-lang-pill-remove{border:none;background:transparent;cursor:pointer;font-size:1.15rem;line-height:1;padding:0 6px 2px;color:var(--text-muted, #666);border-radius:4px}.user-detail-lang-pill-remove:hover{color:#c62828;background:#c6282814}.user-detail-rs-root{text-align:left}.user-detail-rs__control{border-radius:8px!important;border-color:var(--border, #ccc)!important;min-height:38px!important;font-size:.95rem!important;box-shadow:none!important}.user-detail-rs__control:hover{border-color:var(--border-input, #aaa)!important}.user-detail-rs__control--is-focused{border-color:var(--main-color, #1976d2)!important;box-shadow:0 0 0 1px var(--main-color, #1976d2)!important}.user-detail-rs__value-container{padding:2px 8px!important}.user-detail-rs__input-container,.user-detail-rs__placeholder{text-transform:uppercase!important}.user-detail-rs__menu{border-radius:8px!important;overflow:hidden}.user-detail-rs__option{text-transform:uppercase;font-size:.9rem}html[data-theme=dark] .user-detail-rs__control{background:var(--surface-alt, #383838)!important;border-color:var(--border-input, #505050)!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .user-detail-rs__single-value,html[data-theme=dark] .user-detail-rs__input-container,html[data-theme=dark] .user-detail-rs__input{color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .user-detail-rs__placeholder,html[data-theme=dark] .user-detail-rs__indicator,html[data-theme=dark] .user-detail-rs__dropdown-indicator{color:var(--text-muted, #a0a0a0)!important}html[data-theme=dark] .user-detail-rs__menu{background:var(--surface, #2d2d2d)!important;border:1px solid var(--border, #404040)!important}html[data-theme=dark] .user-detail-rs__option{color:var(--text-primary, #e8e8e8)!important;background:var(--surface, #2d2d2d)!important}html[data-theme=dark] .user-detail-rs__option--is-focused{background:#1976d240!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .user-detail-rs__option--is-selected{background:#1976d259!important;color:var(--text-primary, #e8e8e8)!important}.user-detail-cert-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.user-detail-cert-head h3{margin:0}.user-detail-cert-add{padding:.35rem .85rem;font-size:.88rem}.user-detail-cert-actions-col{width:1%;white-space:nowrap}.user-detail-autosave-bar{min-height:1.5rem;margin-bottom:.5rem}.user-detail-autosave{font-size:.88rem;font-weight:600}.user-detail-autosave--saving{color:#1565c0}.user-detail-autosave--saved{color:#2e7d32}.user-detail-autosave--error{color:#c62828}.user-detail-emergency-block{padding:0 1.25rem 1rem}.user-detail-emergency-block .user-detail-label{display:block;margin-bottom:6px}.user-detail-modal-backdrop{position:fixed;inset:0;background:#00000073;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px}.user-detail-modal{width:100%;max-width:420px;padding:1.25rem;border-radius:12px;background:#fff}html[data-theme=dark] .user-detail-modal{background:var(--surface, #2d2d2d);border:1px solid var(--border, #404040);color:var(--text-primary, #e8e8e8)}html[data-theme=dark] .user-detail-modal-title{color:var(--text-primary, #e8e8e8)}html[data-theme=dark] .user-detail-modal-field{color:var(--text-secondary, #c0c0c0)}.user-detail-modal-title{margin:0 0 1rem;font-size:1.1rem}.user-detail-modal-field{display:flex;flex-direction:column;gap:6px;margin-bottom:.85rem;font-size:.88rem;font-weight:600}.user-detail-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:1rem}.user-detail-field--signature .user-detail-signature-preview-wrap{margin-top:6px;padding:10px;background:#fff;border:1px solid var(--border, #ddd);border-radius:10px;display:inline-block;max-width:100%}.user-detail-signature-img{display:block;max-width:min(480px,100%);height:auto}.user-detail-cert-image-cell{vertical-align:middle}.user-detail-cert-thumb{display:block;max-width:72px;max-height:56px;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid var(--border, #ddd)}.user-detail-cert-legacy-name{font-size:.82rem;color:var(--text-muted, #555);max-width:120px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-detail-file-input{margin-top:4px;font-size:.88rem}.user-detail-cert-modal-preview{margin-bottom:.75rem}.user-detail-cert-modal-img{display:block;max-width:100%;max-height:200px;margin-bottom:8px;border-radius:8px;border:1px solid var(--border, #ddd);object-fit:contain}.role-home-wrapper{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-page, #fafafa)}.role-home-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;padding:clamp(8px,1.5vw,12px) clamp(16px,3vw,24px);background-color:var(--nav-bg, #ffffff);width:100%;border-bottom:1px solid var(--border, #e8e8e8);box-shadow:0 1px 2px #0000000a}.role-home-nav a{color:var(--text-primary, #1a1a1a);font-size:.95rem;font-weight:500;text-decoration:none}.role-home-nav a:hover{color:var(--main-color);transition:ease-in-out .2s}.role-home-nav .active{font-weight:700;color:var(--main-color)}.role-home-nav--burger{justify-content:center}.role-home-nav-menu{position:relative}.role-home-nav-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-primary, #1a1a1a);cursor:pointer}.role-home-nav-burger:hover,.role-home-nav-burger.active,.role-home-nav-burger.is-open{color:var(--main-color);background:#1976d214}.role-home-nav-burger:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.role-home-nav-burger-icon{position:relative;display:block;width:18px;height:14px}.role-home-nav-burger-icon span{position:absolute;left:0;display:block;width:100%;height:2px;border-radius:1px;background:currentColor;transition:transform .15s ease,opacity .15s ease,top .15s ease}.role-home-nav-burger-icon span:nth-child(1){top:0}.role-home-nav-burger-icon span:nth-child(2){top:6px}.role-home-nav-burger-icon span:nth-child(3){top:12px}.role-home-nav-burger.is-open .role-home-nav-burger-icon span:nth-child(1){top:6px;transform:rotate(45deg)}.role-home-nav-burger.is-open .role-home-nav-burger-icon span:nth-child(2){opacity:0}.role-home-nav-burger.is-open .role-home-nav-burger-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}.role-home-nav-menu-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;min-width:min(240px,calc(100vw - 32px));padding:6px;border:1px solid var(--border, #e0e0e0);border-radius:10px;background:var(--surface, #fff);box-shadow:0 8px 24px #00000024}.role-home-nav-menu-panel a{padding:10px 12px;border-radius:8px;white-space:nowrap}.role-home-nav-menu-panel a:hover{background:#1976d214}html[data-theme=dark] .role-home-nav-burger{color:var(--text-primary, #e8eaed)}html[data-theme=dark] .role-home-nav-menu-panel{background:var(--surface, #1e1e1e);border-color:var(--border, #404040)}@media(max-width:800px){.role-home-nav,.role-home-nav.role-home-nav--burger{justify-content:center;text-align:center}.role-home-main>.back-to-dashboard{display:flex;justify-content:center}}.role-home-main{width:100%;max-width:1200px;margin:0 auto;padding:clamp(4px,1vw,6px) clamp(16px,4vw,28px) clamp(16px,3vw,24px);flex:1;min-height:0}.role-home-main>.back-to-dashboard{margin:0 0 6px}.role-home-main>.role-home-title{margin:0 0 clamp(12px,2vw,18px) 0}.role-home-title{font-size:clamp(1.1rem,2vw,1.25rem);font-weight:700;color:var(--text-primary, #1a1a1a);background-color:var(--surface-alt, #f5f5f5);padding:10px clamp(16px,3vw,24px);margin:0 0 clamp(12px,2vw,18px) 0;text-align:left;letter-spacing:.02em;border-bottom:1px solid var(--border, #e8e8e8)}.role-home-content{display:grid;grid-template-columns:1fr minmax(260px,320px);gap:clamp(16px,2.5vw,24px);align-items:start}@media(max-width:900px){.role-home-content{grid-template-columns:1fr}}@media(max-width:600px){.role-home-main{padding:6px 16px 16px}.role-home-title{padding:10px 16px;margin-bottom:12px}.role-home-content{gap:14px}.role-home-left .panel,.role-home-right .panel{margin-bottom:12px}.role-home-left .panel-title,.role-home-right .panel-title{padding:10px 14px}.role-home-left .panel-body,.role-home-right .panel-body{padding:12px 14px 14px}.getting-started-list{gap:6px}.getting-started-btn{padding:8px 12px}}.role-home-left .panel,.role-home-right .panel{background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:var(--shadow, 0 1px 3px rgba(0, 0, 0, .08));margin-bottom:clamp(12px,2vw,18px);overflow:hidden}.role-home-left .panel-title,.role-home-right .panel-title{font-size:clamp(.9rem,1.5vw,1rem);font-weight:600;color:var(--text-primary, #333);padding:12px clamp(14px,2vw,20px);background:var(--surface-alt, #f5f5f5);border-bottom:1px solid var(--border, #e8e8e8);margin:0}.role-home-left .panel-body,.role-home-right .panel-body{padding:clamp(12px,2vw,16px) clamp(14px,2vw,20px) clamp(14px,2vw,20px);font-size:clamp(.875rem,1.2vw,.95rem);color:var(--text-secondary, #444)}.role-home-left .panel-body ul,.role-home-right .panel-body ul{margin:0;padding-left:20px}.role-home-left .panel-body li,.role-home-right .panel-body li{margin-bottom:8px}.getting-started-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(6px,1vw,10px)}.getting-started-list li{margin:0}.getting-started-btn{display:block;width:100%;padding:10px 14px;font-size:clamp(.875rem,1.2vw,.95rem);font-weight:600;text-align:left;color:var(--text-primary, #1a1a1a);background-color:var(--surface-alt, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:8px;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease;box-sizing:border-box}.getting-started-btn:hover{background-color:var(--main-color);border-color:var(--main-color);color:#fff}.getting-started-btn::selection{background:#1a5fb4;color:#fff}.getting-started-btn::-moz-selection{background:#1a5fb4;color:#fff}.getting-started-btn:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.panel-body-getting-started{padding-top:14px}.panel-body-messages{display:flex;flex-direction:column;min-height:60px}.school-admin-attention-panels{display:flex;flex-direction:column;gap:16px}.school-admin-attention-panel{margin-bottom:0!important}.school-admin-attention-panel .school-admin-panel-title-row,.school-admin-sign-in-log-panel .school-admin-panel-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.75rem 1.25rem;width:100%;box-sizing:border-box;padding:12px clamp(14px,2vw,20px);background:var(--surface-alt, #f5f5f5);border-bottom:1px solid var(--border, #e8e8e8);margin:0}.school-admin-panel-title-row .panel-title{margin:0;padding:0;background:transparent;border-bottom:none;flex:0 1 auto}.school-admin-panel-title-row--extra-right{justify-content:space-between}.school-admin-panel-title-row--extra-right .panel-title{flex:1 1 auto;min-width:0}.school-admin-panel-title-row--extra-right .school-admin-panel-toggle{flex:1 1 auto}.school-admin-panel-title-row--extra-right .school-admin-panel-title-extra{margin-left:0}.school-admin-panel-title-row--extra-right .auto-approve-toggle{flex-shrink:0}html[data-theme=dark] .school-admin-attention-panel .school-admin-panel-title-row,html[data-theme=dark] .school-admin-sign-in-log-panel .school-admin-panel-title-row{background:var(--surface-alt, #2a2a2a);border-bottom-color:var(--border, #404040)}.auto-approve-toggle{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.auto-approve-toggle-caption{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #78909c);margin-right:.35rem;white-space:nowrap}.auto-approve-toggle-label{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--text-muted, #90a4ae);min-width:1.5rem;text-align:center}.auto-approve-toggle-label--active{color:var(--main-color, #5eb3ff)}.auto-approve-toggle-track{position:relative;width:44px;height:24px;border-radius:12px;border:1px solid var(--border, #cfd8dc);background:var(--surface-alt, #eceff1);padding:0;cursor:pointer;transition:background .15s ease}.auto-approve-toggle-track--on{background:var(--main-color, #1976d2);border-color:var(--main-color, #1976d2)}.auto-approve-toggle-track:disabled{opacity:.55;cursor:not-allowed}.auto-approve-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease;transform:translate(20px)}.auto-approve-toggle-track--on .auto-approve-toggle-thumb{transform:translate(0)}html[data-theme=dark] .auto-approve-toggle-track{background:#37474f;border-color:#546e7a}html[data-theme=dark] .auto-approve-toggle-track--on{background:#42a5f5;border-color:#42a5f5}.school-admin-settings-panel .panel-title{margin-bottom:0}.school-admin-settings-list{list-style:none;margin:0;padding:0}.school-admin-setting-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.25rem;padding:1rem 0;border-bottom:1px solid var(--border, #e8e8e8)}.school-admin-setting-row:last-child{border-bottom:none;padding-bottom:0}.school-admin-setting-row:first-child{padding-top:0}.school-admin-setting-copy{flex:1 1 16rem;min-width:0}.school-admin-setting-row .auto-approve-toggle{flex-shrink:0;align-self:center}.school-admin-setting-title{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:var(--text-primary, #333)}html[data-theme=dark] .school-admin-setting-title{color:var(--text-primary, #e0e0e0)}html[data-theme=dark] .school-admin-setting-row{border-bottom-color:var(--border, #404040)}.school-admin-sign-in-log-panel{margin-top:1rem}.school-admin-sign-in-log-panel .school-admin-panel-title-row{justify-content:space-between}.school-admin-sign-in-log-panel .school-admin-panel-title-row .panel-title{flex:1 1 auto}.school-admin-sign-in-refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--main-color, #1976d2);cursor:pointer;font-size:1rem;flex-shrink:0}.school-admin-sign-in-refresh-btn:hover:not(:disabled){background:#1976d214}.school-admin-sign-in-refresh-btn:disabled{opacity:.5;cursor:not-allowed}html[data-theme=dark] .school-admin-sign-in-refresh-btn{color:#42a5f5}html[data-theme=dark] .school-admin-sign-in-refresh-btn:hover:not(:disabled){background:#42a5f51f}.school-admin-sign-in-log-panel .panel-body{padding:0 0 8px}.school-admin-sign-in-log-panel .panel-body>.cohort-page-muted{margin:0;padding:12px 16px 8px}.school-admin-sign-in-log-table-wrap{max-height:420px;overflow:auto}.school-admin-sign-in-log-table{width:100%;border-collapse:collapse;font-size:.9rem}.school-admin-sign-in-log-table th,.school-admin-sign-in-log-table td{padding:.65rem .85rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border, #e0e0e0)}.school-admin-sign-in-log-table th{position:sticky;top:0;z-index:1;background:var(--surface-alt, #f5f5f5);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted, #666);white-space:nowrap}.school-admin-sign-in-log-col-in,.school-admin-sign-in-log-col-out{white-space:nowrap}.school-admin-sign-in-log-time{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.school-admin-sign-in-log-table th.school-admin-sign-in-log-col-out,.school-admin-sign-in-log-table td.school-admin-sign-in-log-col-out{text-align:right}.school-admin-sign-in-log-cell--late{background:#ffebee;color:#b71c1c;font-weight:700}.school-admin-sign-in-log-late{display:inline-block;padding:.08rem .4rem;border-radius:999px;background:#c62828;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}html[data-theme=dark] .school-admin-sign-in-log-table th{background:var(--surface-alt, #2a2a2a);color:var(--text-muted, #b0bec5);border-bottom-color:var(--border, #404040)}html[data-theme=dark] .school-admin-sign-in-log-table td{border-bottom-color:var(--border, #404040)}html[data-theme=dark] .school-admin-sign-in-log-cell--late{background:#5c1a1a;color:#ffcdd2}html[data-theme=dark] .school-admin-sign-in-log-late{background:#ef5350;color:#1a0a0a}.school-admin-sign-in-log-name{font-weight:700;font-size:.95rem}.school-admin-sign-in-log-site,.school-admin-sign-in-log-distance{font-size:.88rem}.school-admin-attention-panel-actions{margin:12px 0 0}.school-admin-messages-list{list-style:none;margin:0;padding:0;flex:1}.school-admin-messages-list .panel-body-message-item{margin:0 0 8px}.school-admin-rotation-summary{margin:0 0 12px;color:var(--text-primary, #1a1a1a)}html[data-theme=dark] .school-admin-rotation-summary{color:var(--text-primary, #e8e8e8)}.school-admin-rotation-summary strong{color:var(--main-color, #5eb3ff)}.school-admin-rotation-preview-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:10px}.school-admin-rotation-preview-item{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-radius:6px;background:#0000000a}.school-admin-rotation-preview-item--warning,.school-admin-rotation-preview-item--clickable.school-admin-rotation-preview-item--warning{background:#fff8e1;border:1px solid #ffca28}.school-admin-rotation-preview-content{display:flex;flex-direction:column;gap:2px}.school-admin-request-actions{display:flex;flex-wrap:wrap;gap:8px}.school-admin-request-approve-btn,.school-admin-request-edit-btn{min-width:88px}.school-admin-request-actions .calendar-search-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.school-admin-request-actions .calendar-search-btn.school-admin-request-approve-btn:disabled{background:#0000000f;border-color:var(--border-color, #bbb);color:var(--text-muted, #888);filter:none}.school-admin-skill-form-approve-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.school-admin-request-actions .calendar-search-btn.school-admin-request-edit-btn{background:transparent;border:1px solid var(--border-color, #888);color:inherit;filter:none}.school-admin-request-actions .calendar-search-btn.school-admin-request-edit-btn:hover:not(:disabled){background:#0000000d;filter:none}.school-admin-request-actions .calendar-search-btn.school-admin-request-reject-btn{min-width:88px;background:transparent;border:1px solid #c62828;color:#c62828;filter:none}.school-admin-request-actions .calendar-search-btn.school-admin-request-reject-btn:hover:not(:disabled){background:#c628281a;border-color:#b71c1c;color:#b71c1c;filter:none}html[data-theme=dark] .school-admin-request-actions .calendar-search-btn.school-admin-request-reject-btn{background:#8b1a1a;border-color:#b71c1c;color:#fff}html[data-theme=dark] .school-admin-request-actions .calendar-search-btn.school-admin-request-reject-btn:hover:not(:disabled){background:#a32020;border-color:#c62828;color:#fff;filter:none}html[data-theme=dark] .school-admin-rotation-preview-item{background:#ffffff0f}html[data-theme=dark] .school-admin-rotation-preview-item--warning,html[data-theme=dark] .school-admin-rotation-preview-item--clickable.school-admin-rotation-preview-item--warning{background:#ffc10726;border-color:#ffc10773}.school-admin-rotation-preview-student{font-weight:600}.school-admin-panel-title-row--collapsible{padding:0;gap:0;display:flex;align-items:stretch}.school-admin-panel-toggle{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;margin:0;padding:12px clamp(14px,2vw,20px);padding-right:10px;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.school-admin-panel-toggle:focus-visible{outline:2px solid #43a4ff;outline-offset:-2px}.school-admin-panel-chevron-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:stretch;margin:0;min-width:2.75rem;padding:0 clamp(14px,2vw,20px);border:none;background:transparent;cursor:pointer;color:inherit}.school-admin-panel-chevron-btn:focus-visible{outline:2px solid #43a4ff;outline-offset:-2px}.school-admin-panel-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 6px;border-radius:999px;background:#1565c0;color:#fff;font-size:.85rem;font-weight:700;flex-shrink:0}.school-admin-panel-count-badge:empty,.school-admin-panel-count-badge[data-zero=true]{background:var(--text-muted, #9e9e9e)}.school-admin-panel-toggle-title{flex:1 1 auto;min-width:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.school-admin-panel-chevron{flex-shrink:0;font-size:1.75rem;font-weight:700;color:var(--text-muted, #666);line-height:1;min-width:1.5rem;text-align:center}.school-admin-panel-title-extra{display:flex;align-items:center;flex:0 0 auto;align-self:stretch;padding:8px 12px 8px 0}.school-admin-panel-body--collapsed{display:none}.school-admin-nested-panel{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border, #ddd)}.school-admin-nested-panel .school-admin-panel-title-row{background:transparent;border-bottom:none;padding:0 0 10px}.school-admin-nested-panel .school-admin-panel-toggle{padding:8px 0}.school-admin-nested-panel .school-admin-panel-count-badge{min-width:1.5rem;height:1.5rem;font-size:.78rem;background:#546e7a}.school-admin-nested-panel .school-admin-panel-toggle-title{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #666)}.school-admin-rotation-preview-item--clickable{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;margin:0;padding:10px 12px;border:1px solid var(--border, #e8e8e8);border-radius:8px;background:var(--surface, #fff);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background-color .15s ease,border-color .15s ease}.school-admin-rotation-preview-item--clickable:hover{background:#1565c00f;border-color:#90caf9}.school-admin-rotation-preview-item--clickable.school-admin-rotation-preview-item--warning:hover{background:#fff3cd;border-color:#ffb300}.school-admin-rotation-preview-item--clickable:focus-visible{outline:2px solid #43a4ff;outline-offset:1px}.school-admin-skill-form-modal{max-width:520px}.school-admin-skill-form-modal--editing{max-width:720px;max-height:min(92vh,900px);overflow-y:auto}.school-admin-skill-form-edit{margin-top:12px}.school-admin-skill-form-edit .skills-form-section-title{font-size:.95rem;margin:0 0 8px}@media(max-width:800px){.school-admin-edit-form-actions.cohort-modal-actions{flex-direction:column;align-items:stretch;justify-content:center}.school-admin-edit-form-actions.cohort-modal-actions>.cohort-primary-btn,.school-admin-edit-form-actions.cohort-modal-actions>.cohort-filter-btn{width:100%;max-width:100%;align-self:stretch;box-sizing:border-box;text-align:center;margin-left:0;margin-right:0}}.school-admin-skill-form-outside-banner{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#fff8e1;border:1px solid #ffca28;color:#8d6e00;font-size:.88rem;font-weight:600}.school-admin-skill-form-pending-banner{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:.88rem;font-weight:600}.school-admin-skill-form-delete-btn{color:#b45309;border-color:#fcd34d}.school-admin-skill-form-detail-grid{display:flex;flex-direction:column;gap:10px;margin:16px 0}.school-admin-skill-form-detail-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:baseline;font-size:.92rem}.school-admin-skill-form-detail-label{font-weight:600;color:var(--text-muted, #666)}.school-admin-skill-form-detail-value{color:var(--text-primary, #1a1a1a);word-break:break-word}html[data-theme=dark] .school-admin-panel-count-badge{background:#1976d2}html[data-theme=dark] .school-admin-panel-toggle-title{color:var(--text-primary, #e8e8e8)}html[data-theme=dark] .school-admin-rotation-preview-item--clickable{background:#ffffff0a;border-color:var(--border, #404040)}html[data-theme=dark] .school-admin-rotation-preview-item--clickable:hover{background:#5eb8ff1a;border-color:#90caf966}.panel-body-message-item{margin:0}.panel-body-message-item a{color:var(--main-color, #1565c0)}.role-home-more-link{font-size:inherit;color:var(--main-color, #1565c0);text-decoration:none}.panel-body-message-empty{color:var(--text-muted, #888);margin:0 0 8px;flex:1}.role-home-left .panel-body a:not(.getting-started-btn):not(.calendar-search-btn):not(.panel-primary-btn),.role-home-right .panel-body a:not(.getting-started-btn):not(.calendar-search-btn):not(.panel-primary-btn){color:var(--main-color);font-weight:500}.role-home-left .panel-body a:not(.getting-started-btn):not(.calendar-search-btn):not(.panel-primary-btn):hover,.role-home-right .panel-body a:not(.getting-started-btn):not(.calendar-search-btn):not(.panel-primary-btn):hover{text-decoration:underline}.role-home-left .panel-body a.calendar-search-btn,.role-home-right .panel-body a.calendar-search-btn,.role-home-left .panel-body a.panel-primary-btn,.role-home-right .panel-body a.panel-primary-btn{display:inline-block;color:#fff!important;text-decoration:none!important;font-weight:600}.role-home-left .panel-body a.calendar-search-btn:hover,.role-home-right .panel-body a.calendar-search-btn:hover,.role-home-left .panel-body a.panel-primary-btn:hover,.role-home-right .panel-body a.panel-primary-btn:hover{color:#fff!important;text-decoration:none!important;filter:brightness(1.1)}.role-home-left .panel-body .getting-started-btn,.role-home-right .panel-body .getting-started-btn{color:var(--text-primary, #1a1a1a)}.role-home-left .panel-body .getting-started-btn:hover,.role-home-right .panel-body .getting-started-btn:hover{color:#fff;text-decoration:none}.role-home-tabs{display:flex;gap:0;padding:0 18px;background:var(--surface-alt, #f5f5f5);border-bottom:1px solid var(--border, #e8e8e8)}.role-home-tabs button{padding:12px 16px;font-size:.9rem;font-weight:600;border:none;background:none;color:var(--text-muted, #666);cursor:pointer;margin-bottom:-1px}.role-home-tabs button.active{background:var(--main-color);color:#fff}.role-home-more{display:block;margin-top:auto;padding-top:4px;text-align:right}.role-home-more button{padding:8px 16px;font-size:.85rem;border-radius:6px;border:1px solid var(--border, #ddd);background:var(--surface-alt, #f5f5f5);color:var(--control-text, #555);cursor:pointer}.role-home-more button:hover{background:var(--control-bg, #e8e8e8)}.back-to-dashboard{margin:0 0 6px}.back-to-dashboard-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;color:var(--main-color);background-color:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:6px;text-decoration:none;box-shadow:var(--shadow, 0 1px 2px rgba(0, 0, 0, .06));transition:background-color .2s ease,border-color .2s ease,color .2s ease}.back-to-dashboard-btn:before{content:"";display:inline-block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:8px solid currentColor;flex-shrink:0}.back-to-dashboard-btn:hover{background-color:var(--surface-alt, #f5f5f5);border-color:var(--main-color);color:var(--main-color);text-decoration:none}.back-to-dashboard-btn:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.location-form-rs-wrap{width:100%;max-width:none;min-width:0}.location-form-rs__control{width:100%!important;min-height:40px;background:var(--surface-alt, #f5f5f5)!important;border-color:var(--border-input, #e0e0e0)!important;color:var(--text-primary, #1a1a1a)!important}.location-form-rs__single-value,.location-form-rs__input-container,.location-form-rs__input{color:var(--text-primary, #1a1a1a)!important}.location-form-rs__placeholder,.location-form-rs__indicator,.location-form-rs__dropdown-indicator{color:var(--text-muted, #666)!important}.location-form-rs__menu{border-radius:8px!important;background:var(--surface, #fff)!important;border:1px solid var(--border, #e8e8e8)!important}.location-form-rs__option{color:var(--text-primary, #1a1a1a)!important;background:var(--surface, #fff)!important}.location-form-rs__option--is-focused{background:#1565c01f!important;color:var(--text-primary, #1a1a1a)!important}.location-form-rs__option--is-selected{background:#1565c033!important;color:var(--text-primary, #1a1a1a)!important}html[data-theme=dark] .location-form-rs__control{background:var(--surface-alt, #383838)!important;border-color:var(--border-input, #505050)!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .location-form-rs__single-value,html[data-theme=dark] .location-form-rs__input-container,html[data-theme=dark] .location-form-rs__input{color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .location-form-rs__placeholder,html[data-theme=dark] .location-form-rs__indicator,html[data-theme=dark] .location-form-rs__dropdown-indicator{color:var(--text-muted, #a0a0a0)!important}html[data-theme=dark] .location-form-rs__menu{background:var(--surface, #2d2d2d)!important;border:1px solid var(--border, #404040)!important}html[data-theme=dark] .location-form-rs__option{color:var(--text-primary, #e8e8e8)!important;background:var(--surface, #2d2d2d)!important}html[data-theme=dark] .location-form-rs__option--is-focused{background:#1976d240!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .location-form-rs__option--is-selected{background:#1976d259!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .location-form-state-select label{color:var(--text-secondary, #c0c0c0)}.skills-form-page{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;margin:0;padding:8px 0 24px;text-align:center;box-sizing:border-box;overflow-x:clip}.skills-form-workspace{width:100%;min-width:0}.skills-form-main-col{display:flex;flex-direction:column;align-items:stretch;min-width:0;width:100%}.skills-form-workspace:not(.skills-form-workspace--split) .skills-form-main-col{max-width:760px;margin-inline:auto}.skills-form-workspace--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:16px 20px;align-items:start}.skills-form-pending-open{display:none}.skills-form-header{width:100%;margin-bottom:20px}.skills-form-header .clinical-req-title{font-size:1.35rem;margin-bottom:10px}.skills-form-subtitle{margin:0;color:var(--text-muted, #666);font-size:.95rem;line-height:1.55;max-width:520px;margin-inline:auto}.skills-form-site-hint{margin:8px 0 0}.skills-form-outside-hint{margin:8px 0 0;padding:8px 10px;border-radius:6px;background:#fff8e1;border:1px solid #ffca28;color:#8d6e00;font-size:.82rem;font-weight:600}.skills-form-alert{width:100%;margin:0 0 16px;padding:12px 16px;border-radius:8px;font-size:.9rem;line-height:1.45;text-align:left}.skills-form-alert--error{background:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}.skills-form-alert--success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9;font-weight:600}.skills-form-loading{margin:24px 0;color:var(--text-muted, #666);font-size:.95rem}.skills-form-tabs{display:flex;width:100%;gap:0;margin:0 0 16px;padding:3px;background:var(--surface-alt, #f0f0f0);border:1px solid var(--border-input, #e0e0e0);border-radius:10px}.skills-form-page-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-muted, #666);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.skills-form-page-tab:hover:not(.active){color:var(--text-primary, #333);background:#fff9}.skills-form-page-tab.active{background:var(--surface, #fff);color:#1565c0;box-shadow:0 1px 3px #0000001a}.skills-form-page-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 6px;border-radius:999px;background:#f9a825;color:#5d4200;font-size:.75rem;font-weight:700;line-height:1}.skills-form-tab-panel{width:100%}.skills-form-tab-panel--pending-edit{margin-top:16px}.skills-form-pending-empty{margin:0 0 8px;padding:16px;text-align:left;font-size:.9rem;line-height:1.5}.skills-form-card{width:100%;text-align:left;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}.skills-form{display:flex;flex-direction:column;gap:0}.skills-form-section{padding:20px 0;border-bottom:1px solid var(--border, #eee)}.skills-form-section:first-child{padding-top:0}.skills-form-section:last-of-type{border-bottom:none;padding-bottom:0}.skills-form-section-title{margin:0 0 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #888)}.skills-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.skills-form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.skills-form-field.span-2{grid-column:span 2}.skills-form-field>span{font-size:.85rem;font-weight:600;color:var(--text-secondary, #333)}.skills-form-field .cohort-modal-input,.skills-form-field select.cohort-modal-input{margin-bottom:0}.skills-form-age-field{margin-bottom:4px}.skills-form-age-controls{display:flex;align-items:stretch;gap:12px}.skills-form-age-input-wrap{flex-shrink:0;display:flex;padding:3px;background:var(--surface-alt, #f0f0f0);border-radius:8px;border:1px solid var(--border-input, #e0e0e0)}.skills-form-age-input{box-sizing:border-box;width:3.25rem;min-height:36px;padding:8px 6px;margin:0;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-align:center;border:none;border-radius:6px;background:var(--surface, #fff);color:var(--text-primary, #333);box-shadow:0 1px 3px #0000001a;-moz-appearance:textfield;appearance:textfield}.skills-form-age-input::-webkit-outer-spin-button,.skills-form-age-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.skills-form-age-input:focus{outline:2px solid #43a4ff;outline-offset:1px}.skills-form-age-tabs{display:flex;flex:1;min-width:0;gap:0;padding:3px;background:var(--surface-alt, #f0f0f0);border-radius:8px;border:1px solid var(--border-input, #e0e0e0)}.skills-form-age-tab{flex:1;min-height:36px;padding:8px 10px;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border:none;border-radius:6px;background:transparent;color:var(--text-muted, #666);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.skills-form-age-tab:hover:not(.active){color:var(--text-primary, #333);background:#fff9}.skills-form-age-tab.active{background:var(--surface, #fff);color:#1565c0;box-shadow:0 1px 3px #0000001a}.skills-form-age-tab:focus-visible{outline:2px solid #43a4ff;outline-offset:1px}.skills-form-patient-type{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 14px;border-radius:8px;background:linear-gradient(145deg,#e3f2fd,#f5f9ff);border:1px solid #90caf9;font-size:.9rem;color:#0d47a1;line-height:1.4}.skills-form-patient-type-label{font-weight:600;color:#546e7a}.skills-form-patient-type-value{font-weight:700;color:#1565c0}.skills-form-patient-type-hint{font-size:.82rem;font-weight:400;color:#607d8b}.skills-form-sex-field{margin-top:16px}.skills-form-optional{font-weight:400;color:var(--text-muted, #888)}.skills-form-sex-tabs{display:flex;gap:0;padding:3px;background:var(--surface-alt, #f0f0f0);border-radius:8px;border:1px solid var(--border-input, #e0e0e0)}.skills-form-sex-tab{flex:1;min-height:40px;padding:8px 12px;font-size:.85rem;font-weight:600;border:none;border-radius:6px;background:transparent;color:var(--text-muted, #666);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.skills-form-sex-tab:hover:not(.active){color:var(--text-primary, #333);background:#fff9}.skills-form-sex-tab--male:hover:not(.active){color:#1565c0;background:#1565c014}.skills-form-sex-tab--female:hover:not(.active){color:#c2185b;background:#e91e6314}.skills-form-sex-tab--male.active{background:linear-gradient(145deg,#e3f2fd,#bbdefb);color:#0d47a1;box-shadow:0 1px 3px #1565c040}.skills-form-sex-tab--female.active{background:linear-gradient(145deg,#fce4ec,#f8bbd0);color:#880e4f;box-shadow:0 1px 3px #c2185b33}.skills-form-sex-tab:focus-visible{outline:2px solid #43a4ff;outline-offset:1px}.skills-form-preceptor-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.skills-form-preceptor-row .location-form-rs-wrap,.skills-form-preceptor-row .location-form-rs__control{min-height:40px}.skills-form-preceptor-select{flex:1 1 200px;min-width:0}.skills-form-add-btn{flex:0 0 auto;align-self:stretch;min-height:40px;padding-inline:18px;white-space:nowrap}.skills-form-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;margin-top:4px;border-top:1px solid var(--border, #eee)}.skills-form-page .skills-form-submit{flex:0 0 auto;width:auto;min-width:160px;min-height:44px;padding:12px 20px;font-size:.9rem}.skills-form-page .skills-form-actions .cohort-filter-btn{flex:0 0 auto;width:auto}.skills-form-pending-section{width:100%;min-width:0;box-sizing:border-box;margin-bottom:0;padding:16px 18px;text-align:left;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px}.skills-form-pending-section .skills-form-pending-item{flex-direction:column;align-items:flex-start}.skills-form-pending-section .skills-form-pending-awaiting-edit{white-space:normal}.skills-form-pending-section .skills-form-pending-actions .cohort-filter-btn{width:auto}.skills-form-pending-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px;font-size:1rem;font-weight:700}.skills-form-pending-summary strong,.skills-form-pending-summary .small{overflow-wrap:anywhere}.skills-form-pending-intro{margin:0 0 12px;color:var(--muted, #6b7280);font-size:.875rem}.skills-form-pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.skills-form-pending-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface-alt, #fafafa)}.skills-form-pending-summary{display:flex;flex-direction:column;gap:4px;min-width:0}.skills-form-pending-actions{display:flex;flex-shrink:0;gap:8px;align-items:center}.skills-form-pending-delete{color:#b45309;border-color:#fcd34d}.skills-form-pending-awaiting-edit{font-size:.78rem;font-weight:600;color:var(--text-muted, #6b7280);white-space:nowrap}.skills-form-pending-item--active{border-color:#90caf9;background:#e3f2fd}.skills-form-card--pending-edit{margin-top:0}.skills-form-editing-banner{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:.875rem}.skills-form-editing-cancel{padding:0;border:none;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.skills-form-submit:disabled{opacity:.65;cursor:not-allowed}.skills-form-skill-attempts-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.skills-form-skill-attempts-card{padding:14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--surface-alt, #fafafa)}.skills-form-skill-attempts-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.skills-form-skill-progress{margin:0 0 10px}.skills-form-attempt-type-field{display:flex;min-width:120px}.skills-form-attempt-type-select{min-height:36px;padding:6px 8px;font-size:.875rem}.skills-form-attempt-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.skills-form-attempt-label{min-width:84px;font-size:.875rem;font-weight:600}.skills-form-attempt-tabs{display:inline-flex;border:1px solid var(--border, #d1d5db);border-radius:8px;overflow:hidden}.skills-form-attempt-tab{border:none;background:transparent;padding:8px 12px;font-size:.8125rem;cursor:pointer}.skills-form-attempt-tab--success.active{background:#dcfce7;color:#166534;font-weight:600}.skills-form-attempt-tab--fail.active{background:#fee2e2;color:#991b1b;font-weight:600}.skills-form-attempt-remove{border:none;background:none;color:#b45309;font-size:.8125rem;cursor:pointer;text-decoration:underline}.skills-form-add-attempt-btn{margin-top:4px}html[data-theme=dark] .skills-form-card{background:var(--surface);border-color:var(--border);box-shadow:0 2px 12px #00000040}html[data-theme=dark] .skills-form-section{border-bottom-color:var(--border)}html[data-theme=dark] .skills-form-alert--error{background:#c6282826;color:#ef9a9a;border-color:#c6282859}html[data-theme=dark] .skills-form-alert--success{background:#2e7d3226;color:#a5d6a7;border-color:#2e7d3259}html[data-theme=dark] .skills-form-age-tabs,html[data-theme=dark] .skills-form-age-input-wrap,html[data-theme=dark] .skills-form-sex-tabs,html[data-theme=dark] .skills-form-tabs{background:var(--surface-alt);border-color:var(--border-input)}html[data-theme=dark] .skills-form-page-tab.active{background:var(--surface);color:#90caf9}html[data-theme=dark] .skills-form-pending-item--active{border-color:#90caf973;background:#1565c033}html[data-theme=dark] .skills-form-age-input{background:var(--surface);color:var(--text-primary)}html[data-theme=dark] .skills-form-age-tab.active,html[data-theme=dark] .skills-form-sex-tab--male.active{background:#1565c059;color:#90caf9}html[data-theme=dark] .skills-form-sex-tab--female.active{background:#c2185b59;color:#f48fb1}html[data-theme=dark] .skills-form-patient-type{background:#1565c026;border-color:#90caf959;color:#90caf9}html[data-theme=dark] .skills-form-patient-type-label{color:var(--text-secondary)}html[data-theme=dark] .skills-form-patient-type-value{color:#5eb8ff}html[data-theme=dark] .skills-form-patient-type-hint{color:var(--text-muted)}html[data-theme=dark] .skills-form-actions{border-top-color:var(--border)}@media(max-width:560px){.skills-form-card{padding:18px 16px}.skills-form-grid{grid-template-columns:1fr}.skills-form-field.span-2{grid-column:span 1}.skills-form-age-controls{flex-wrap:wrap}.skills-form-age-input-wrap{flex:1 1 auto}.skills-form-age-input{width:100%}.skills-form-age-tabs{flex:1 1 100%}.skills-form-preceptor-row{flex-direction:column}.skills-form-add-btn{width:100%}}@media(max-width:800px){.skills-form-page .skills-form-grid{grid-template-columns:minmax(0,1fr)}.skills-form-page .skills-form-field.span-2{grid-column:span 1}.skills-form-page .skills-form-age-controls,.skills-form-page .skills-form-patient-type,.skills-form-page .skills-form-skill-attempts-header{flex-wrap:wrap}.skills-form-page .skills-form-age-tabs{flex:1 1 100%}.skills-form-page .skills-form-preceptor-row{flex-direction:column;align-items:stretch}.skills-form-page .skills-form-add-btn,.skills-form-page .skills-form-submit,.skills-form-page .skills-form-actions .cohort-filter-btn,.skills-form-page .skills-form-pending-actions .cohort-filter-btn{width:auto;align-self:flex-start}.skills-form-page .skills-form-attempt-row{flex-direction:column;align-items:stretch}.skills-form-page .skills-form-attempt-type-field,.skills-form-page .skills-form-attempt-type-select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.skills-form-page .skills-form-attempt-tabs{display:flex;width:100%;max-width:100%}.skills-form-page .skills-form-attempt-tab{flex:1 1 0}.skills-form-page .skills-form-pending-item{flex-direction:column;align-items:stretch}.skills-form-page .skills-form-pending-awaiting-edit{white-space:normal}.skills-form-page .skills-form-actions{align-items:flex-start}.skills-form-workspace--split{grid-template-columns:minmax(0,1fr)}.skills-form-pending-section{display:none}.skills-form-pending-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:100%;align-self:center;margin:0 auto 16px;padding:10px 16px;border:1px solid var(--border, #d1d5db);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);font-size:.95rem;font-weight:700;line-height:1.2;text-transform:none;letter-spacing:0;cursor:pointer}}.skills-form-review-backdrop{z-index:1200}.skills-form-review-detail-backdrop{z-index:1300}.skills-form-add-backdrop{z-index:1500}.skills-form-review-modal.cohort-modal,.skills-form-review-detail.cohort-modal{width:min(520px,calc(100vw - 24px));max-width:min(520px,calc(100vw - 24px));text-align:left}.skills-form-edit-host.skills-form-page{width:min(720px,calc(100vw - 24px));max-width:min(720px,calc(100vw - 24px));max-height:min(92vh,900px);overflow:auto;margin:0;padding:12px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:var(--shadow-strong, 0 8px 32px rgba(0, 0, 0, .15));text-align:left;align-items:stretch}button.skills-form-pending-item--button{width:100%;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.skills-form-review-modal .skills-form-pending-item,.skills-form-review-modal .skills-form-pending-item--button{flex-direction:column;align-items:flex-start}.skills-form-review-modal .skills-form-pending-awaiting-edit,.skills-form-review-detail .skills-form-pending-awaiting-edit{white-space:normal}.skills-form-modal-close,.skills-form-review-modal .cohort-filter-btn,.skills-form-review-detail .cohort-filter-btn,.skills-form-pending-item--button .cohort-filter-btn,.skills-form-edit-host .skills-form-actions .cohort-filter-btn,.skills-form-edit-host .skills-form-submit,body.planner-phone-app .skills-form-pending-open,body.planner-native-app .skills-form-pending-open,body.planner-phone-app .skills-form-modal-close,body.planner-native-app .skills-form-modal-close,body.planner-phone-app .skills-form-pending-item--button .cohort-filter-btn,body.planner-native-app .skills-form-pending-item--button .cohort-filter-btn,body.planner-phone-app .skills-form-edit-host .cohort-filter-btn,body.planner-native-app .skills-form-edit-host .cohort-filter-btn,body.planner-phone-app .skills-form-edit-host .skills-form-submit,body.planner-native-app .skills-form-edit-host .skills-form-submit{width:auto}.school-admin-work-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:12px}.school-admin-work-filters{display:flex;flex-wrap:wrap;gap:8px}.school-admin-work-filter{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px;border:1px solid var(--border, #d7d7d7);border-radius:999px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.school-admin-work-filter.is-active{background:var(--main-color, #1976d2);border-color:var(--main-color, #1976d2);color:#fff}.school-admin-work-filter-count{min-width:1.25rem;padding:0 6px;border-radius:999px;background:#00000014;font-size:.78rem;line-height:1.4;text-align:center}.school-admin-work-filter.is-active .school-admin-work-filter-count{background:#ffffff38}.school-admin-work-error{margin:0 0 12px;color:#b3261e}.school-admin-work-body{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:16px;align-items:start}.school-admin-work-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:min(68vh,680px);overflow:auto}.school-admin-work-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:0;padding:10px 12px;text-align:left;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:inherit;font:inherit;cursor:pointer}.school-admin-work-row.is-selected{border-color:var(--main-color, #1976d2);box-shadow:inset 3px 0 0 var(--main-color, #1976d2)}.school-admin-work-row.is-warning{background:#fff8e8}.school-admin-work-row-kind{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #666)}.school-admin-work-row-who{font-weight:700}.school-admin-work-row-what{font-size:.85rem;line-height:1.35;color:var(--text-muted, #555)}.school-admin-work-review{position:sticky;top:12px;min-height:220px;padding:16px 18px 18px;border:1px solid var(--border, #e0e0e0);border-radius:10px;background:var(--surface, #fff)}.school-admin-work-review-meta{margin:0 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #666)}.school-admin-work-review-title{margin:0;font-size:1.25rem}.school-admin-work-review-fields{display:flex;flex-direction:column;gap:10px;margin:14px 0 18px}.school-admin-work-review-fields>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 14px;align-items:start}.school-admin-work-review-fields dt{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted, #666)}.school-admin-work-review-fields dd{margin:0}.school-admin-work-review-actions{justify-content:flex-start}.school-admin-work-review--editing{position:static}.school-admin-work-inline-edit .cohort-modal-title{margin-top:0}.school-admin-work-empty{margin:0;color:var(--text-muted, #666)}.school-admin-home-work{display:flex;flex-direction:column;gap:16px}.school-admin-work-modal-backdrop{position:fixed;inset:0;z-index:900;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#00000073}.school-admin-work-modal{position:relative;width:100%;max-width:520px;max-height:min(88vh,720px);overflow:auto;border-radius:12px;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);box-shadow:0 8px 32px #0000002e}.school-admin-modal-x,.school-admin-work-modal-close{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#c62828;font-size:1.45rem;font-weight:700;line-height:1;cursor:pointer}.school-admin-modal-x:hover,.school-admin-work-modal-close:hover{background:#c628281a;color:#b71c1c}.cohort-modal:has(>.school-admin-modal-x){position:relative}.cohort-modal:has(>.school-admin-modal-x) .cohort-modal-title{padding-right:32px}.school-admin-work-review--modal{border:0;min-height:0;position:static}.school-admin-work-review--modal .school-admin-work-review-meta,.school-admin-work-review--modal .school-admin-work-review-title{padding-right:32px}.school-admin-work-review--modal .school-admin-work-review-actions{justify-content:center}html[data-theme=dark] .school-admin-modal-x,html[data-theme=dark] .school-admin-work-modal-close{color:#ef5350}@media(max-width:800px){.school-admin-work-body{grid-template-columns:1fr}.school-admin-work-list{max-height:none}}html[data-theme=dark] .school-admin-work-row.is-warning{background:#ffc1071f}.calendar-main{max-width:1440px}.calendar-embedded{width:100%}.calendar-card{background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:var(--shadow, 0 1px 3px rgba(0, 0, 0, .08));overflow:hidden}.calendar-toolbar{display:flex;flex-direction:column;background:var(--surface-alt, #f5f5f5);border-bottom:1px solid var(--border, #e8e8e8)}.calendar-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 20px 8px;position:relative}.calendar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;padding:0 20px 12px}.calendar-actions-row .calendar-filters-mobile-bar{margin-left:auto;padding:0;justify-content:flex-end}.calendar-actions-row .calendar-filters-btn{width:auto;flex:0 0 auto}body.planner-native-app .calendar-actions-row .calendar-toolbar-right,body.planner-phone-app .calendar-actions-row .calendar-toolbar-right{width:auto;max-width:100%;flex:0 1 auto;justify-content:flex-start}.calendar-toolbar-left,.calendar-toolbar-center,.calendar-toolbar-right{display:flex;align-items:center;gap:10px}.calendar-toolbar-right{flex:0 0 auto;flex-flow:row wrap;align-items:center;justify-content:flex-start;width:auto;max-width:100%}.calendar-nav-btn{width:36px;height:36px;padding:0;border-radius:8px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);font-size:1.1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.calendar-nav-btn-prev:before{content:"";display:block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:8px solid currentColor;margin-left:2px}.calendar-nav-btn-next:before{content:"";display:block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;margin-right:2px}.calendar-nav-btn:hover{background:var(--surface-alt, #f0f0f0);border-color:var(--main-color);color:var(--main-color)}.calendar-period{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a);min-width:120px;text-align:center}.calendar-view-btn{padding:8px 14px;font-size:.9rem;font-weight:600;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-secondary, #555);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.calendar-view-btn:hover{background:var(--surface-alt, #f0f0f0);color:var(--text-primary, #1a1a1a)}.calendar-view-btn.active{background:var(--main-color);border-color:var(--main-color);color:#fff}.calendar-filter-select{padding:8px 12px;font-size:.9rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);min-width:140px}.calendar-export-btn{padding:8px 14px;font-size:.9rem;font-weight:600;border-radius:6px;border:none;background:var(--main-color);color:#fff;cursor:pointer;transition:filter .2s ease}.calendar-toolbar-right .calendar-export-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;height:32px;min-height:32px;max-width:none;padding:0 14px;flex:0 0 auto;align-self:flex-start;box-sizing:border-box;white-space:nowrap}.calendar-export-btn:hover{filter:brightness(1.05)}a.calendar-export-btn,a.calendar-export-btn:hover,a.calendar-export-btn:focus,a.calendar-export-btn:active,a.calendar-export-btn:visited{color:#fff;text-decoration:none}.calendar-filters-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;font-size:.9rem;font-weight:600;border-radius:6px;border:1px solid var(--border, #e0e0e0);text-transform:none;background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.calendar-filters-btn:hover{background:var(--surface-alt, #e8e8e8);border-color:var(--main-color);color:var(--main-color)}.calendar-filters-btn[aria-expanded=true]{background:var(--surface-alt, #e0e0e0);border-color:var(--border, #e0e0e0);color:var(--text-primary, #1a1a1a)}.calendar-filters-btn-chevron{font-size:.8rem;opacity:.9}.calendar-filters-wrap{width:100%}.calendar-filters-mobile-bar{display:flex;justify-content:flex-end;padding:0 20px 12px}.calendar-filters-mobile-bar .calendar-filters-btn{min-height:40px;min-width:120px;justify-content:center;background:var(--surface, #fff)}.calendar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 20px;background:var(--surface, #fff);border-top:1px solid var(--border, #e8e8e8);border-bottom:1px solid var(--border, #e8e8e8);text-transform:none}.calendar-filters[hidden],.calendar-filters:not(.calendar-filters--open){display:none}.calendar-student-views.calendar-filters--open{flex-direction:column;align-items:stretch}.calendar-workspace--open{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:16px;align-items:start}.calendar-side-panel{position:sticky;top:12px;align-self:start;display:flex;flex-direction:column;min-height:360px;max-height:calc(100dvh - 24px);background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:0 8px 28px #0000001f;overflow:hidden}.calendar-day-cell.is-selected{border-color:var(--main-color, #1565c0);box-shadow:inset 0 0 0 2px var(--main-color, #1565c0);background:#1565c014}.calendar-panel-embed{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-height:100%;overflow:hidden;background:var(--surface, #fff)}.calendar-panel-embed .calendar-day-modal{max-width:none;width:100%;height:100%;max-height:100%;min-height:0;border:none;border-radius:0;box-shadow:none}.calendar-filter-label{display:inline-flex;align-items:center;gap:8px}.calendar-filter-name{font-size:.85rem;font-weight:600;color:var(--text-secondary, #555);white-space:nowrap}.calendar-filter-multiselect{display:flex;align-items:center;gap:8px;position:relative}.calendar-filter-multiselect .calendar-filter-name{flex-shrink:0}.calendar-filter-multiselect-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:140px;max-width:200px;padding:6px 10px;font-size:.875rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);cursor:pointer;text-align:left;text-transform:none;transition:border-color .2s ease,background-color .2s ease}.calendar-filter-multiselect-trigger:hover{border-color:var(--main-color, #2563eb)}.calendar-filter-multiselect-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-filter-multiselect-chevron{flex-shrink:0;font-size:.75rem;color:var(--text-muted, #666)}.calendar-filter-multiselect-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:220px;max-width:280px;max-height:320px;display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .15));z-index:100;overflow:hidden}.calendar-filter-multiselect-search-wrap{padding:8px;border-bottom:1px solid var(--border, #e8e8e8);flex-shrink:0}.calendar-filter-multiselect-search{width:100%;padding:6px 10px;font-size:.875rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a)}.calendar-filter-multiselect-search::placeholder{color:var(--text-muted, #666)}.calendar-filter-multiselect-search:focus{outline:none;border-color:var(--main-color, #2563eb)}.calendar-filter-multiselect-actions{display:flex;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border, #e8e8e8);flex-shrink:0}.calendar-filter-multiselect-action{padding:4px 8px;font-size:.8rem;font-weight:500;border-radius:4px;cursor:pointer;text-transform:none}.calendar-filter-multiselect-action:first-child{background:var(--main-color, #2563eb);border:1px solid var(--main-color, #2563eb);color:#fff}.calendar-filter-multiselect-action:first-child:hover{filter:brightness(1.1)}.calendar-filter-multiselect-action:last-child{background:var(--surface-alt, #f0f0f0);border:1px solid var(--border, #c0c0c0);color:var(--text-primary, #1a1a1a)}.calendar-filter-multiselect-action:last-child:hover{background:var(--border, #e0e0e0)}.calendar-filter-multiselect-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1;min-height:0}.calendar-filter-multiselect-list li{margin:0}.calendar-filter-multiselect-option{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.875rem;color:var(--text-primary, #1a1a1a);cursor:pointer}.calendar-filter-multiselect-option:hover{background:var(--surface-alt, #f5f5f5)}.calendar-filter-multiselect-checkbox{flex-shrink:0;width:1rem;height:1rem;cursor:pointer}.calendar-filter-multiselect-empty{padding:12px;font-size:.875rem;color:var(--text-muted, #666);text-align:center}.calendar-filter-select{padding:6px 10px;font-size:.875rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);min-width:140px}.calendar-search-btn{padding:6px 14px;font-size:.875rem;font-weight:600;border-radius:6px;border:1px solid var(--main-color, #2563eb);background:var(--main-color, #2563eb);color:#fff;cursor:pointer;text-transform:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.calendar-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.calendar-search-btn:hover{filter:brightness(1.1)}.calendar-search-btn.calendar-clear-btn{background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);border-color:var(--border, #888)}.calendar-search-btn.calendar-clear-btn:hover{background:var(--surface-alt, #f0f0f0);border-color:var(--text-secondary, #555);color:var(--text-primary, #1a1a1a)}.calendar-grid-wrap{padding:16px 20px 20px;min-height:320px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:8px}.calendar-weekday{font-size:.8rem;font-weight:600;color:var(--text-muted, #666);text-align:center;padding:6px 4px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.calendar-day-cell{min-height:88px;background:var(--surface-alt, #fafafa);border:1px solid var(--border, #eee);border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;box-sizing:border-box}.calendar-days:not(.calendar-week-days) .calendar-day-cell{aspect-ratio:1 / 1;min-height:0;height:auto;overflow:hidden}.calendar-day-cell.calendar-day-empty{background:var(--bg-page, #f5f5f5);border-color:var(--border, #eee);min-height:88px}.calendar-day-cell.calendar-day-clickable{cursor:pointer}.calendar-day-cell.calendar-day-clickable:hover{background:#43a4ff14;border-color:var(--main-color)}.calendar-day-num{font-size:.85rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin-bottom:4px}.calendar-day-preview{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.calendar-day-preview-empty{font-size:.75rem;color:var(--text-muted, #999)}.calendar-day-preview-count{font-size:.7rem;color:var(--main-color);font-weight:500;text-align:center;line-height:1.3}.calendar-day-cell.calendar-day-cell--has-pickup{border:2px solid var(--calendar-pickup-border, #a5d6a7);background:var(--calendar-pickup-bg, rgba(165, 214, 167, .12));min-height:96px}.calendar-day-cell.calendar-day-cell--has-pickup:hover{border-color:var(--calendar-pickup-border-hover, #81c784);background:var(--calendar-pickup-bg-hover, rgba(165, 214, 167, .18))}.calendar-day-preview-count.calendar-day-preview-count--pickup{color:var(--calendar-pickup-text, #2e7d32);font-weight:600}.calendar-day-preview-count.calendar-day-preview-count--student{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.calendar-day-preview-line{display:block;font-size:.65rem;line-height:1.25;font-weight:600}.calendar-student-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.45}.calendar-student-legend-sample{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--calendar-pickup-border, #a5d6a7);border-radius:4px;background:var(--calendar-pickup-bg, rgba(165, 214, 167, .12));flex-shrink:0}.calendar-pickup-pill{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:var(--calendar-pickup-text, #2e7d32);background:var(--calendar-pickup-bg, rgba(165, 214, 167, .2));border:1px solid var(--calendar-pickup-border, #a5d6a7)}.calendar-day-modal-event--pickup-available{border-left-color:var(--calendar-pickup-border-strong, #66bb6a);background:var(--calendar-pickup-bg, rgba(165, 214, 167, .14))}html[data-theme=dark] .calendar-day-cell.calendar-day-cell--has-pickup,html[data-theme=dark] .calendar-student-legend-sample{--calendar-pickup-border: #81c784;--calendar-pickup-border-hover: #a5d6a7;--calendar-pickup-bg: rgba(129, 199, 132, .14);--calendar-pickup-bg-hover: rgba(129, 199, 132, .22);--calendar-pickup-text: #a5d6a7;--calendar-pickup-border-strong: #81c784}html[data-theme=dark] .calendar-day-modal-event--pickup-available{--calendar-pickup-bg: rgba(129, 199, 132, .12);--calendar-pickup-border-strong: #81c784}.calendar-placeholder{padding:32px 20px;text-align:center;color:var(--text-muted, #666);font-size:.95rem}.calendar-week-days .calendar-day-cell{min-height:100px}.calendar-day-view{padding:8px 0}.calendar-day-view-title{font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 16px}.calendar-day-modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;box-sizing:border-box;overflow:hidden}.calendar-slot-overflow-overlay{z-index:1100}.calendar-slot-overflow-modal{padding:1.25rem 1.5rem}.calendar-slot-overflow-message{margin:.75rem 0;line-height:1.45}.calendar-repeat-fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.calendar-repeat-weekdays{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin:.25rem 0 .5rem}.calendar-repeat-weekday{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.calendar-repeat-weekday input{margin:0}.calendar-repeat-preview{margin:.25rem 0 0}.calendar-day-modal{background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:480px;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;min-height:0}.calendar-add-event-modal{max-width:520px}.calendar-export-modal{max-width:420px}.calendar-day-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 12px 20px;border-bottom:1px solid var(--border, #e8e8e8);background:var(--surface-alt, #f5f5f5);border-radius:12px 12px 0 0;flex-shrink:0}.calendar-day-modal-title{flex:1;min-width:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0;line-height:1.3}.calendar-day-modal-close{width:44px;height:44px;padding:0;flex-shrink:0;border:1px solid var(--border, #d0d0d0);background:var(--surface, #fff);font-size:1.6rem;line-height:1;color:var(--text-primary, #1a1a1a);cursor:pointer;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.calendar-day-modal-close:hover{color:var(--text-primary, #1a1a1a);background:var(--surface-alt, #e8e8e8);border-color:var(--main-color, #2563eb)}.calendar-day-modal-close:focus-visible{outline:2px solid var(--main-color, #2563eb);outline-offset:2px}.calendar-day-modal-body{padding:20px;overflow-y:auto;flex:1;min-height:0}.calendar-day-modal-empty{margin:0;color:var(--text-muted, #666);font-size:.95rem}.calendar-day-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.calendar-day-modal-event{padding:12px 14px;background:#43a4ff14;border-left:4px solid var(--main-color);border-radius:6px;display:flex;flex-direction:column;gap:4px}.calendar-day-modal-event-time{font-size:.85rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.calendar-day-modal-event-label{font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.35;word-break:break-word}.calendar-day-modal-event-student{font-size:.88rem;font-weight:500;color:var(--text-primary, #1a1a1a);line-height:1.4;word-break:break-word}.calendar-day-modal-event-site{font-size:.88rem;color:var(--text-secondary, #666);line-height:1.4;word-break:break-word}.calendar-day-modal-event{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-day-modal-event-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.calendar-day-modal-event-actions{display:flex;flex-shrink:0;flex-direction:column;gap:6px}.calendar-event-action-btn{padding:4px 10px;font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;white-space:nowrap}.calendar-event-action-btn-edit{border:1px solid #64b5f6;background:#64b5f638;color:#1565c0}.calendar-event-action-btn-edit:hover{background:#64b5f661}.calendar-event-action-btn-delete{border:1px solid #ef5350;background:#ef535029;color:#c62828}.calendar-event-action-btn-delete:hover{background:#ef535047}html[data-theme=dark] .calendar-event-action-btn-edit{border-color:#64b5f6;background:#64b5f633;color:#90caf9}html[data-theme=dark] .calendar-event-action-btn-edit:hover{background:#64b5f657}html[data-theme=dark] .calendar-event-action-btn-delete{border-color:#ef5350;background:#ef535033;color:#ff8a80}html[data-theme=dark] .calendar-event-action-btn-delete:hover{background:#ef535052}.calendar-day-modal-event-clickable{cursor:pointer}.calendar-day-modal-event-clickable:hover{filter:brightness(1.05)}.calendar-day-modal-event-request-hint{font-size:.8rem;color:var(--main-color, #1565c0);margin-top:4px}.calendar-add-event-field.calendar-add-event-checkbox-field{flex-direction:row;align-items:center;gap:12px;cursor:pointer;padding:12px 14px;border:1px solid var(--calendar-checkbox-border, rgba(21, 101, 192, .35));border-radius:10px;background:var(--calendar-checkbox-bg, rgba(21, 101, 192, .08));transition:border-color .15s ease,background .15s ease}.calendar-add-event-field.calendar-add-event-checkbox-field:hover{border-color:var(--main-color, #1565c0);background:var(--calendar-checkbox-bg-hover, rgba(21, 101, 192, .12))}.calendar-add-event-field.calendar-add-event-checkbox-field:has(input:checked){border-color:var(--main-color, #1565c0);background:var(--calendar-checkbox-bg-checked, rgba(21, 101, 192, .14))}.calendar-add-event-checkbox-input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--main-color, #1565c0);cursor:pointer}.calendar-add-event-checkbox-label{white-space:normal;line-height:1.35;font-weight:600}.calendar-add-event-checkbox-field--disabled{opacity:.65;cursor:not-allowed}.calendar-add-event-checkbox-field--disabled .calendar-add-event-checkbox-label{color:var(--text-muted, #5f6368)}.calendar-add-event-checkbox-note{font-weight:500;font-size:.8rem}html[data-theme=dark] .calendar-add-event-field.calendar-add-event-checkbox-field{--calendar-checkbox-border: rgba(100, 181, 246, .45);--calendar-checkbox-bg: rgba(100, 181, 246, .1);--calendar-checkbox-bg-hover: rgba(100, 181, 246, .16);--calendar-checkbox-bg-checked: rgba(100, 181, 246, .2)}.calendar-event-request-link{display:inline-block;margin-top:6px;padding:0;border:none;background:none;font-size:.85rem;font-weight:600;color:var(--main-color, #1565c0);text-decoration:underline;cursor:pointer}.calendar-event-request-link:hover{opacity:.85}.calendar-day-modal-event-trade-badge{display:block;margin-top:4px;font-size:.8rem;font-weight:600;color:var(--ems-accent, #0d6efd)}.calendar-rotation-request-summary{padding:12px;border-radius:8px;background:var(--surface-alt, #f5f5f5);border-left:4px solid var(--main-color)}.calendar-rotation-request-date{font-weight:600;margin:0 0 4px}.calendar-rotation-request-time,.calendar-rotation-request-type,.calendar-rotation-request-site{margin:0 0 4px;color:var(--text-secondary, #666)}.calendar-rotation-requests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;max-width:720px}.calendar-rotation-request-card{padding:16px;border-radius:8px;background:var(--surface-alt);border:1px solid var(--border-color, #ddd)}.calendar-rotation-request-student{margin:0 0 4px;font-size:1.1rem}.calendar-rotation-request-event-title{margin:8px 0 4px;font-weight:600}.calendar-filter-time-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.calendar-filter-time-input{min-height:40px}.calendar-timezone-hint{margin:0;font-size:.8rem;color:var(--text-secondary, #666);align-self:center}.calendar-add-event-end-preview{display:flex;flex-direction:column;gap:4px}.calendar-add-event-end-value{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.calendar-add-event-tz-hint{font-weight:400;font-size:.85rem;color:var(--text-secondary, #666)}html[data-theme=dark] .calendar-add-event-end-value,html[data-theme=dark] .calendar-day-modal-event-label,html[data-theme=dark] .calendar-day-modal-event-student{color:var(--text-primary, #e8e8e8)}html[data-theme=dark] .calendar-day-modal-event-site{color:var(--text-muted, #a8a8a8)}.calendar-day-hover-popup-event .calendar-day-modal-event-time,.calendar-day-hover-popup-event .calendar-day-modal-event-label,.calendar-day-hover-popup-event .calendar-day-modal-event-student,.calendar-day-hover-popup-event .calendar-day-modal-event-site{display:block}.calendar-day-hover-popup{position:fixed;z-index:1001;width:340px;max-height:360px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow-strong, 0 8px 24px rgba(0, 0, 0, .2));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border)}.calendar-day-hover-popup-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface-alt);border-bottom:1px solid var(--border);flex-shrink:0}.calendar-day-hover-popup-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.calendar-day-hover-popup-close{width:28px;height:28px;padding:0;border:none;background:var(--control-bg, #f0f0f0);color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.calendar-day-hover-popup-close:hover{background:var(--surface-alt);color:var(--text-primary)}.calendar-day-hover-popup-body{padding:8px;overflow-y:auto;flex:1;min-height:0}.calendar-day-hover-popup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.calendar-day-hover-popup-event{padding:10px 12px;background:var(--surface-alt);border-left:4px solid var(--main-color);border-radius:6px;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:8px}.calendar-day-hover-popup-event-time{font-size:.85rem;font-weight:600;color:var(--text-primary)}.calendar-day-hover-popup-event-label{font-size:.875rem;color:var(--text-secondary);line-height:1.35;word-break:break-word}.calendar-export-modal .calendar-day-modal-body{display:flex;flex-direction:column;gap:16px}.calendar-export-hint{margin:0 0 8px;font-size:.9rem;color:var(--text-secondary, #555);line-height:1.4}.calendar-export-section{display:flex;flex-direction:column;gap:8px}.calendar-export-section .calendar-filter-name{font-size:.9rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.calendar-export-cohort-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding:8px 0}.calendar-export-cohort-item{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.calendar-export-cohort-item input{flex-shrink:0;width:1rem;height:1rem;cursor:pointer}.calendar-export-period{display:flex;gap:16px;flex-wrap:wrap}.calendar-export-radio{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer}.calendar-export-radio input{cursor:pointer}.calendar-export-date-label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;color:var(--text-secondary, #555)}.calendar-export-input,.calendar-export-select{padding:8px 10px;font-size:.9rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);max-width:200px}.calendar-export-year{max-width:100px}.calendar-export-date-row{display:flex;gap:16px;flex-wrap:wrap}.calendar-export-actions,.calendar-modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin-top:0;padding:12px 20px 16px;border-top:1px solid var(--border, #e8e8e8);background:var(--surface, #fff);flex-shrink:0}.calendar-day-modal-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.calendar-day-modal-form.calendar-add-event-form{gap:0}.calendar-add-event-form>.calendar-day-modal-body{display:flex;flex-direction:column;gap:14px}.calendar-add-event-btn{background:var(--main-color, #1565c0);color:#fff;border-color:var(--main-color, #1565c0)}.calendar-add-event-btn:hover{filter:brightness(1.05)}.calendar-add-event-form{display:flex;flex-direction:column;gap:14px;width:100%;min-width:0}.calendar-add-event-form input:not([type=date]):not([type=time]):not([type=number]):not([type=hidden]),.calendar-add-event-form select{text-transform:uppercase}.calendar-add-event-field{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.calendar-add-event-cohort-readonly{margin:0}.calendar-add-event-cohort-value{margin:0;padding:8px 10px;font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);background:var(--surface-alt, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:6px;box-sizing:border-box}html[data-theme=dark] .calendar-add-event-cohort-value{color:var(--text-primary, #e8e8e8);background:var(--surface-alt, #383838);border-color:var(--border-input, #505050)}.calendar-add-event-form .calendar-export-input,.calendar-add-event-form .calendar-export-select,.calendar-add-event-input{width:100%;max-width:none;box-sizing:border-box}.calendar-add-event-rs-wrap{width:100%;max-width:none;min-width:0}.calendar-add-event-rs__control{width:100%!important;min-height:40px;border-color:var(--border-input, #90caf9)!important;background:var(--surface, #fff)!important;color:var(--text-primary, #1a1a1a)!important}.calendar-add-event-rs__single-value,.calendar-add-event-rs__input-container,.calendar-add-event-rs__input{color:var(--text-primary, #1a1a1a)!important;text-transform:uppercase}.calendar-add-event-rs__placeholder{color:var(--text-muted, #757575)!important}.calendar-add-event-rs__menu{border-radius:8px!important}.calendar-add-event-rs__option{color:var(--text-primary, #1a1a1a)!important;background:var(--surface, #fff)!important;text-transform:uppercase}.calendar-add-event-rs__option--is-focused{background:#1565c01f!important}.calendar-add-event-rs__option--is-selected{background:#1565c033!important;color:var(--text-primary, #1a1a1a)!important}html[data-theme=dark] .calendar-add-event-rs__control{background:var(--surface-alt, #383838)!important;border-color:var(--border-input, #505050)!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .calendar-add-event-rs__single-value,html[data-theme=dark] .calendar-add-event-rs__input-container,html[data-theme=dark] .calendar-add-event-rs__input{color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .calendar-add-event-rs__indicator,html[data-theme=dark] .calendar-add-event-rs__dropdown-indicator,html[data-theme=dark] .calendar-add-event-rs__placeholder{color:var(--text-muted, #a0a0a0)!important}html[data-theme=dark] .calendar-add-event-rs__menu{background:var(--surface, #2d2d2d)!important;border:1px solid var(--border, #404040)!important}html[data-theme=dark] .calendar-add-event-rs__option{color:var(--text-primary, #e8e8e8)!important;background:var(--surface, #2d2d2d)!important}html[data-theme=dark] .calendar-add-event-rs__option--is-focused{background:#1976d240!important;color:var(--text-primary, #e8e8e8)!important}html[data-theme=dark] .calendar-add-event-rs__option--is-selected{background:#1976d259!important;color:var(--text-primary, #e8e8e8)!important}.calendar-day-badge{min-width:20px;height:20px;padding:0 5px;border-radius:10px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.calendar-day-badge--sched{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.calendar-day-badge--pickup{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.calendar-day-badge--events{background:#eef2f7;color:#455a64;border:1px solid #cfd8dc}.calendar-day-preview-compact{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;width:100%}html[data-theme=dark] .calendar-day-badge--sched{background:#2196f333;color:#90caf9;border-color:#1976d2}html[data-theme=dark] .calendar-day-badge--pickup{background:#81c78433;color:#a5d6a7;border-color:#388e3c}html[data-theme=dark] .calendar-day-badge--events{background:#90a4ae33;color:#b0bec5;border-color:#546e7a}@media(max-width:800px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar-row{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.calendar-toolbar-left,.calendar-toolbar-center{justify-content:center;flex-wrap:wrap;width:100%}.calendar-toolbar-right{width:auto;max-width:100%;flex:0 0 auto;align-self:flex-start;justify-content:flex-start;flex-flow:row wrap}.calendar-toolbar-center{display:grid;grid-template-columns:repeat(3,1fr)}.calendar-view-btn,.calendar-nav-btn{min-height:44px}.calendar-view-btn{width:100%}.calendar-period{flex:1;min-width:0}.calendar-toolbar-right .calendar-export-btn{width:auto;flex:0 0 auto;align-self:flex-start;height:32px;min-height:32px}.calendar-filters-mobile-bar{display:flex;justify-content:stretch;padding:0 14px 12px}.calendar-filters-mobile-bar .calendar-filters-btn{width:100%;min-width:0;min-height:44px;justify-content:center;background:var(--surface, #fff);border-color:var(--border, #d0d0d0);color:var(--text-primary, #1a1a1a)}.calendar-actions-row{padding:0 14px 12px}.calendar-actions-row .calendar-toolbar-right,.calendar-actions-row .calendar-filters-mobile-bar{width:auto;max-width:100%;flex:0 1 auto}.calendar-actions-row .calendar-filters-mobile-bar{margin-left:auto;padding:0;justify-content:flex-end}.calendar-actions-row .calendar-filters-mobile-bar .calendar-filters-btn{width:auto;min-width:0;flex:0 0 auto}.calendar-filters-btn.is-applied{border-color:var(--main-color, #2563eb);color:var(--main-color, #2563eb);box-shadow:inset 0 0 0 1px var(--main-color, #2563eb)}.calendar-filters:not(.calendar-filters--open){display:none}.calendar-filters{flex-direction:column;align-items:stretch;gap:12px}.calendar-filter-multiselect{flex-direction:column;align-items:stretch;gap:4px}.calendar-filter-multiselect-trigger{max-width:none;width:100%;min-height:44px}.calendar-filter-multiselect-dropdown{position:static;width:100%;max-width:none;margin-top:6px;max-height:220px}.calendar-filter-time-field,.calendar-filter-time-input{width:100%;min-width:0}.calendar-filter-actions{margin-left:0;flex-direction:column;align-items:stretch}.calendar-filter-actions .calendar-search-btn{width:100%;min-height:44px}.calendar-timezone-hint{align-self:flex-start}.calendar-filter-label{flex-direction:column;align-items:stretch;gap:4px}.calendar-filter-select{min-width:100%}.calendar-grid-wrap{padding:10px 8px 14px}.calendar-weekday{font-size:.68rem;padding:4px 0}.calendar-day-cell,.calendar-day-cell.calendar-day-cell--has-pickup{min-height:54px;padding:3px 2px 4px}.calendar-day-cell.calendar-day-empty{min-height:44px}.calendar-days:not(.calendar-week-days) .calendar-day-cell,.calendar-days:not(.calendar-week-days) .calendar-day-cell.calendar-day-cell--has-pickup,.calendar-days:not(.calendar-week-days) .calendar-day-cell.calendar-day-empty{aspect-ratio:1 / 1;min-height:0;height:auto;overflow:hidden}.calendar-day-num{font-size:.78rem;margin-bottom:2px;text-align:center}.calendar-day-preview-count{font-size:.65rem}.calendar-day-modal-overlay{padding:8px;align-items:center}.calendar-day-modal,.calendar-add-event-modal,.calendar-export-modal{max-width:none;width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.calendar-modal-actions,.calendar-export-actions{flex-direction:column;align-items:stretch;justify-content:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.calendar-modal-actions .calendar-search-btn,.calendar-export-actions .calendar-search-btn{width:100%;min-height:44px;text-align:center}.calendar-day-modal-event,.calendar-day-hover-popup-event{flex-direction:column;align-items:stretch}.calendar-day-modal-event-actions{flex-direction:row;width:100%}.calendar-event-action-btn{flex:1;min-height:40px;text-align:center}.calendar-event-request-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:8px 12px;border-radius:8px;background:#1565c014;text-decoration:none}.calendar-workspace--open{display:block}}@media(min-width:801px){.calendar-toolbar-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.calendar-toolbar-left{justify-self:start}.calendar-toolbar-center{justify-self:center}body.planner-native-app .calendar-toolbar-row,body.planner-phone-app .calendar-toolbar-row{display:grid;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 20px}body.planner-native-app .calendar-toolbar-left,body.planner-native-app .calendar-toolbar-center,body.planner-native-app .calendar-toolbar-right,body.planner-phone-app .calendar-toolbar-left,body.planner-phone-app .calendar-toolbar-center,body.planner-phone-app .calendar-toolbar-right{width:auto;max-width:none;justify-content:flex-start}body.planner-native-app .calendar-toolbar-center,body.planner-phone-app .calendar-toolbar-center{display:flex}body.planner-native-app .calendar-period,body.planner-phone-app .calendar-period{flex:0 0 auto}body.planner-native-app .calendar-toolbar-right .calendar-export-btn,body.planner-phone-app .calendar-toolbar-right .calendar-export-btn{width:auto;flex:0 0 auto;align-self:flex-start;height:32px;min-height:32px}.calendar-dock-dialog.calendar-day-modal-overlay{justify-content:flex-end;align-items:stretch;padding:0}.calendar-dock-dialog .calendar-day-modal{width:min(440px,100%);max-width:440px;height:100%;max-height:100%;margin:0;border-radius:0;box-shadow:-12px 0 32px #0000002e}}html:has(.calendar-main),body:has(.calendar-main),body:has(.calendar-main) #root{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:hidden}.role-home-wrapper:has(>.calendar-main),.ems-admin-portal-wrapper:has(>.calendar-main),.student-cohort-portal:has(.calendar-main){height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:hidden;align-items:stretch}.role-home-main.calendar-main,.calendar-embedded.calendar-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.student-cohort-portal:has(.calendar-main) .cohort-detail-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;width:100%;padding-bottom:12px}.student-cohort-portal:has(.calendar-main) .cohort-detail-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.calendar-main>.back-to-dashboard,.calendar-main>.role-home-title{flex:0 0 auto}.calendar-main .calendar-workspace{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.calendar-main .calendar-workspace--open{display:grid;align-items:stretch;overflow:hidden}.calendar-main .calendar-card{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}.calendar-main .calendar-toolbar{flex:0 0 auto}.calendar-main .calendar-grid-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:8px 12px 12px}.calendar-main .calendar-grid-wrap:has(.calendar-month){align-items:stretch;justify-content:flex-start;overflow:hidden;padding-left:0;padding-right:0}.calendar-main .calendar-weekdays{flex:0 0 auto;width:100%}.calendar-month{--month-rows: 6;width:100%;height:100%;max-width:100%;flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;align-self:stretch}.calendar-month .calendar-weekdays{width:100%}.calendar-month .calendar-days{flex:1 1 auto;min-height:0;width:100%;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--month-rows),minmax(0,1fr));align-content:stretch;justify-content:stretch}.calendar-month .calendar-days .calendar-day-cell,.calendar-month .calendar-days .calendar-day-cell.calendar-day-empty,.calendar-month .calendar-days .calendar-day-cell.calendar-day-cell--has-pickup{width:100%;height:100%;aspect-ratio:auto;min-height:0;max-width:none;max-height:none;justify-self:stretch;align-self:stretch;overflow:hidden}.calendar-main .calendar-workspace--open .calendar-side-panel{position:relative;top:auto;min-height:0;max-height:100%;overflow:auto}.place-admin-page{max-width:100%;overflow-x:clip}.role-home-main.place-admin-main{width:100%;max-width:min(1320px,100%);min-width:0;overflow-x:clip;box-sizing:border-box}.place-admin-split{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;align-items:start;width:100%;min-width:0}.place-admin-list-panel,.place-admin-detail{min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--border, #e8e8e8);border-radius:12px;background:var(--surface, #fff)}.place-admin-list-panel{display:flex;flex-direction:column;padding:12px}.place-admin-split .place-admin-list-panel,.place-admin-split .place-admin-detail{max-height:min(760px,calc(100vh - 168px))}.place-admin-split .place-admin-list-panel{overflow:hidden}.place-admin-split .place-admin-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.place-admin-split .place-admin-detail{overflow-x:hidden;overflow-y:auto}.place-admin-list-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;min-width:0;flex:0 0 auto}.place-admin-list-title,.place-admin-detail-title,.place-admin-section-title{margin:0;color:var(--text-primary, #1a1a1a);overflow-wrap:anywhere}.place-admin-list-title{font-size:1.05rem}.place-admin-detail-title{font-size:1.35rem;line-height:1.25}.place-admin-section-title{font-size:1rem;margin-bottom:8px}.place-admin-hint,.place-admin-muted{margin:0;color:var(--text-muted, #666);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.place-admin-toolbar,.place-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}.place-admin-actions{margin:12px 0 16px}.place-admin-page button.place-admin-label-btn,body.planner-phone-app .place-admin-page button.place-admin-label-btn,body.planner-native-app .place-admin-page button.place-admin-label-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:fit-content;min-width:0;max-width:max-content;height:32px;min-height:32px;max-height:32px;padding:0 12px;margin:0;font-size:.8rem;line-height:1;box-sizing:border-box;white-space:nowrap}.place-admin-page button.place-admin-danger{background:var(--surface, #fff);color:#c62828;border:1px solid #ef9a9a;border-radius:6px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.place-admin-page button.place-admin-danger:hover:not(:disabled){background:#ffebee}.place-admin-filters{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%}body .place-admin-page .place-admin-filters input.cohort-search-input,body .place-admin-page .place-admin-form input,body .place-admin-page .place-admin-form .location-form-rs-wrap,body .place-admin-page .place-admin-form .location-form-rs__control,body.planner-phone-app .place-admin-page .place-admin-form input.cohort-search-input,body.planner-native-app .place-admin-page .place-admin-form input.cohort-search-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.place-admin-list{display:flex;flex-direction:column;gap:8px;min-width:0}.place-admin-row,.place-admin-subrow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0;margin:0;padding:10px 12px;text-align:left;font:inherit;color:inherit;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-left:4px solid #b0bec5;border-radius:10px;cursor:pointer;box-sizing:border-box}.place-admin-subrow{background:var(--surface-alt, #f7f7f7)}.place-admin-row:hover,.place-admin-subrow:hover{border-color:#90caf9}.place-admin-row.is-selected,.place-admin-subrow.is-selected{background:color-mix(in srgb,var(--main-color, #43a4ff) 16%,var(--surface, #fff));border-color:var(--main-color, #1565c0);box-shadow:inset 0 0 0 1px var(--main-color, #1565c0)}.place-admin-row:focus-visible,.place-admin-subrow:focus-visible,.place-admin-page button:focus-visible{outline:2px solid var(--main-color, #1565c0);outline-offset:2px}.place-admin-row-name,.place-admin-row-meta{display:block;max-width:100%;overflow-wrap:anywhere}.place-admin-row-name{font-size:.95rem;font-weight:700;line-height:1.3;color:var(--text-primary, #0d47a1)}.place-admin-row-meta{font-size:.78rem;line-height:1.35;color:var(--text-muted, #546e7a)}.place-admin-detail{padding:16px}.place-admin-back-row{margin-bottom:10px}.place-admin-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}.place-admin-meta div{min-width:0}.place-admin-meta dt{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted, #78909c)}.place-admin-meta dd{margin:2px 0 0;font-size:.95rem;font-weight:600;color:var(--text-primary, #263238);overflow-wrap:anywhere}.place-admin-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border, #e2e8f0);min-width:0}.place-admin-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.place-admin-form{min-width:0;max-width:100%}.place-admin-field{display:flex;flex-direction:column;gap:4px;min-width:0;margin-top:10px}.place-admin-field>span,.place-admin-field-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.place-admin-city-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.8fr);gap:10px;margin-top:10px;min-width:0}.place-admin-city-row .place-admin-field{margin-top:0}.place-admin-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.place-admin-map{margin-top:8px;border-radius:10px;overflow:hidden;border:1px solid var(--border, #e8e8e8);max-width:100%}.place-admin-map iframe{display:block;width:100%;max-width:100%;height:220px;border:0}.place-admin-map-link{margin:8px 0 0}.place-admin-error{margin:0 0 10px}@media(max-width:800px){.place-admin-meta,.place-admin-city-row{grid-template-columns:minmax(0,1fr)}.place-admin-form-actions{flex-direction:column;align-items:stretch}.place-admin-page .place-admin-form-actions button{width:100%;max-width:100%;height:auto;min-height:40px;max-height:none}}.manage-class-locations-main{max-width:1200px}.manage-class-locations-card .cohort-listing-header{margin-bottom:16px;flex-direction:column;align-items:stretch;gap:12px}.manage-class-locations-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.manage-class-locations-search{flex:1 1 220px;min-width:180px;padding:6px 10px!important;font-size:.875rem!important;border-radius:6px;box-sizing:border-box;height:34px;min-height:34px}.manage-class-locations-footnote{margin-top:12px}.manage-class-locations-modal.cohort-modal{max-width:480px}.manage-class-locations-modal.cohort-modal input:not([type=button]):not([type=submit]),.manage-class-locations-modal.cohort-modal .location-form-rs__control,.manage-class-locations-modal.cohort-modal .location-form-rs__single-value,.manage-class-locations-modal.cohort-modal .location-form-rs__input-container,.manage-class-locations-modal.cohort-modal .location-form-rs__input,.manage-class-locations-modal.cohort-modal .location-form-rs__placeholder{text-transform:uppercase}.manage-class-locations-city-row{display:grid;grid-template-columns:1.2fr minmax(5.25rem,.5fr) 1fr;gap:10px;align-items:end}.location-form-state-select label{display:block;margin-bottom:4px;font-size:.875rem;font-weight:500}@media(max-width:560px){.manage-class-locations-city-row{grid-template-columns:1fr}}.clinical-site-parent-card{margin-bottom:1.25rem}.clinical-site-parent-card__name{font-weight:600;font-size:1.05rem;margin:.35rem 0 .5rem}.clinical-site-parent-card__detail{display:block;margin:.2rem 0}.clinical-site-parent-card__link{margin-top:.65rem}.clinical-sub-site-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:1.25rem;align-items:start}@media(max-width:900px){.clinical-sub-site-edit-layout{grid-template-columns:1fr}}.clinical-sub-site-edit-form-card label{display:block;margin-top:.75rem}.clinical-sub-site-edit-form-card .clinical-sub-site-gps-line{margin:.75rem 0 .25rem;font-variant-numeric:tabular-nums}.clinical-sub-site-save-status{min-height:1.25rem;margin-bottom:.25rem}.clinical-sub-site-city-row{display:grid;grid-template-columns:1.2fr minmax(6.5rem,.55fr) 1fr;gap:10px;margin-top:.75rem}.clinical-sub-site-city-row__field{display:flex;flex-direction:column;min-width:0}.clinical-sub-site-city-row__field>label{margin-top:0;margin-bottom:4px;font-size:.875rem;font-weight:500}.clinical-sub-site-city-row__field .location-form-state-select{margin:0}.clinical-sub-site-city-row__field .location-form-state-select label{display:none}@media(max-width:560px){.clinical-sub-site-city-row{grid-template-columns:1fr}}.clinical-sub-site-siblings{margin-top:0}.clinical-sub-site-siblings-top{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-muted, #e2e8f0);margin-bottom:.75rem}.clinical-sub-site-add-modal{max-width:480px;max-height:min(90vh,720px);overflow-y:auto}.clinical-sub-site-siblings-list{list-style:none;margin:.5rem 0 0;padding:0}.clinical-sub-site-siblings-list li{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border-muted, #e2e8f0)}.clinical-sub-site-siblings-list li:last-child{border-bottom:none}.clinical-sub-site-siblings-list__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.35rem}.clinical-sub-site-siblings-list__name{font-weight:600;line-height:1.35}.clinical-sub-site-siblings-list__address{display:block;line-height:1.4}.clinical-sub-site-siblings-gps{display:block;margin-top:.15rem;font-variant-numeric:tabular-nums;line-height:1.35}.clinical-sub-site-siblings-list__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-top:.1rem}.clinical-sub-site-action-btn--edit{color:var(--accent, #43a4ff);border-color:#43a4ff8c;background:#43a4ff24}.clinical-sub-site-action-btn--edit:hover{color:var(--accent, #43a4ff);border-color:#43a4ffbf;background:#43a4ff38}.clinical-sub-site-action-btn--delete{color:#ef5350;border-color:#ef53508c;background:#ef53501f}.clinical-sub-site-action-btn--delete:hover{color:#ff6b6b;border-color:#ef5350bf;background:#ef535033}.clinical-sign-in-location-link{font-weight:600;text-decoration:underline;text-underline-offset:2px}.clinical-sign-in-location-link:hover{text-decoration-thickness:2px}.multiselect-dropdown{display:flex;align-items:center;gap:8px;position:relative}.multiselect-dropdown-inline{display:inline-flex}.multiselect-dropdown .multiselect-dropdown-label{font-size:.85rem;font-weight:600;color:var(--text-secondary, #555);white-space:nowrap;flex-shrink:0}.multiselect-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:140px;max-width:200px;padding:6px 10px;font-size:.875rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);cursor:pointer;text-align:left;text-transform:none;transition:border-color .2s ease,background-color .2s ease}.multiselect-dropdown-trigger:hover{border-color:var(--main-color, #2563eb)}.multiselect-dropdown-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-dropdown-chevron{flex-shrink:0;font-size:.75rem;color:var(--text-muted, #666)}.multiselect-dropdown-panel{position:absolute;top:100%;left:0;margin-top:4px;min-width:220px;max-width:280px;max-height:320px;display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .15));z-index:100;overflow:hidden}.multiselect-dropdown-search-wrap{padding:8px;border-bottom:1px solid var(--border, #e8e8e8);flex-shrink:0}.multiselect-dropdown-search{width:100%;padding:6px 10px;font-size:.875rem;border-radius:6px;border:1px solid var(--border, #e0e0e0);background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a)}.multiselect-dropdown-search::placeholder{color:var(--text-muted, #666)}.multiselect-dropdown-search:focus{outline:none;border-color:var(--main-color, #2563eb)}.multiselect-dropdown-actions{display:flex;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border, #e8e8e8);flex-shrink:0}.multiselect-dropdown-action{padding:4px 8px;font-size:.8rem;font-weight:500;border-radius:4px;cursor:pointer;text-transform:none}.multiselect-dropdown-action:first-child{background:var(--main-color, #2563eb);border:1px solid var(--main-color, #2563eb);color:#fff}.multiselect-dropdown-action:first-child:hover{filter:brightness(1.1)}.multiselect-dropdown-action:last-child{background:var(--surface-alt, #f0f0f0);border:1px solid var(--border, #c0c0c0);color:var(--text-primary, #1a1a1a)}.multiselect-dropdown-action:last-child:hover{background:var(--border, #e0e0e0)}.multiselect-dropdown-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1;min-height:0}.multiselect-dropdown-list li{margin:0}.multiselect-dropdown-option{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.875rem;color:var(--text-primary, #1a1a1a);cursor:pointer}.multiselect-dropdown-option:hover{background:var(--surface-alt, #f5f5f5)}.multiselect-dropdown-checkbox{flex-shrink:0;width:1rem;height:1rem;cursor:pointer}.multiselect-dropdown-empty{padding:12px;font-size:.875rem;color:var(--text-muted, #666);text-align:center}.reports-select-main{max-width:900px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.report-card{display:block;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.report-card:hover{border-color:var(--main-color);box-shadow:0 2px 8px #00000014}.report-card-icon{font-size:1.5rem;display:block;margin-bottom:8px}.report-card-title{font-size:1rem;font-weight:600;margin:0 0 8px}.report-card-desc{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.4}button.report-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}button.eval-criteria-form-link{background:none;border:none;padding:0;font:inherit;color:var(--main-color, #1565c0);cursor:pointer;text-align:left}.reports-workspace{overflow-x:clip}.reports-stage,.reports-with-students{min-width:0;max-width:100%}.report-type-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;margin:0 0 16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.reports-workspace .report-type-strip button.report-type-btn,body.planner-phone-app .reports-workspace .report-type-strip button.report-type-btn,body.planner-native-app .reports-workspace .report-type-strip button.report-type-btn{flex:0 0 auto;width:max-content;max-width:none;height:32px;min-height:32px;max-height:32px;padding:0 12px;margin:0;font-size:.8rem;line-height:1;white-space:nowrap;box-sizing:border-box;color:var(--text-primary, #1a1a1a);background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;cursor:pointer}.reports-workspace .report-type-strip button.report-type-btn.is-selected{border-color:var(--main-color, #1565c0);background:color-mix(in srgb,var(--main-color, #1565c0) 12%,var(--surface, #fff));font-weight:600}.report-student-panel{min-width:0}.reports-stage .report-student-panel{max-height:min(760px,calc(100vh - 220px));overflow:hidden;display:flex;flex-direction:column}.reports-stage .report-student-panel .place-admin-list{overflow-y:auto;min-height:0}.report-detail{min-width:0}.report-embedded{min-width:0;max-width:100%}.report-embedded .role-home-wrapper{min-height:0;background:transparent}.report-embedded .planner-nav,.report-embedded .role-home-nav,.report-embedded .back-to-dashboard{display:none}.report-embedded .role-home-main{max-width:none;width:100%;margin:0;padding:0}.report-embedded .cohort-report-header-bar{align-items:flex-start}.report-filter-slot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:100%}.report-header-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.reports-workspace button.report-label-btn,body.planner-phone-app .reports-workspace button.report-label-btn,body.planner-native-app .reports-workspace button.report-label-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:fit-content;max-width:max-content;height:32px;min-height:32px;max-height:32px;padding:0 12px;margin:0;font-size:.8rem;line-height:1;box-sizing:border-box;white-space:nowrap}.report-idle-hint{margin:0;color:var(--text-muted, #666);font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.report-embedded .reports-grid,.report-embedded .general-report-templates-grid{grid-template-columns:minmax(0,1fr)}.report-embedded table{max-width:100%}.report-embedded [class*=table-wrap],.report-embedded .cohort-approval-report-table-wrap{overflow-x:auto;max-width:100%}.report-drill-back{margin:0 0 12px}.report-form-placeholder{display:flex;flex-direction:column;gap:8px}.report-embedded .cohort-report-page-title,.reports-workspace .role-home-title{overflow-wrap:anywhere;min-width:0}.report-embedded .cohort-report-header-bar,.report-embedded .cohort-report-filters,.report-embedded .cohort-report-filters-row,.report-embedded .general-report-top-row,.report-embedded .eval-criteria-filters-row{flex-wrap:wrap;min-width:0;max-width:100%}.report-embedded input,.report-embedded select,.report-embedded textarea{max-width:100%;min-width:0;box-sizing:border-box}@media print{.reports-workspace .report-type-strip,.reports-workspace .place-admin-list-panel,.reports-workspace>.role-home-main>.role-home-title,.reports-workspace .planner-nav,.reports-workspace .role-home-nav,.reports-workspace .place-admin-back-row,.report-embedded .planner-nav,.report-embedded .role-home-nav,.report-embedded .back-to-dashboard{display:none!important}.reports-workspace .place-admin-split{display:block}}@media(max-width:800px){.report-embedded .cohort-report-filters,.report-embedded .student-progress-report-filters,.report-embedded .general-report-filters,.report-embedded .eval-criteria-filters,.report-embedded .cohort-approval-report-filters,.report-embedded .smc-report-filters,.report-embedded .affective-student-report-filters,.report-embedded .affective-site-report-filters{width:min(440px,calc(100% - 24px));max-width:calc(100% - 24px);margin-left:auto;margin-right:auto;box-sizing:border-box;max-height:min(70vh,640px);overflow-x:hidden;overflow-y:auto;text-align:center}.report-embedded .cohort-report-filters-row,.report-embedded .eval-criteria-filters-row,.report-embedded .eval-criteria-toggle-row,.report-embedded .cohort-report-option-row,.report-embedded .general-report-top-row,.report-embedded .cohort-approval-report-filters-grid,.report-embedded .affective-student-report-form,.report-embedded .affective-site-report-form{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;text-align:center}.report-embedded .cohort-report-filters-row>*,.report-embedded .general-report-top-row>*,.report-embedded .cohort-approval-report-filters-grid>*,.report-embedded .affective-student-report-form>*,.report-embedded .affective-site-report-form>*{width:100%;max-width:100%;min-width:0;grid-column:auto;grid-row:auto;box-sizing:border-box}.report-embedded .cohort-report-filter-label,.report-embedded .eval-criteria-filter-label,.report-embedded .general-report-label,.report-embedded .cohort-approval-report-filter-label,.report-embedded .affective-student-report-label,.report-embedded .affective-site-report-label{min-width:0;width:100%;text-align:center}.report-embedded .cohort-report-filters .cohort-report-select,.report-embedded .cohort-report-filters .cohort-report-input,.report-embedded .cohort-approval-report-filters .cohort-report-input,.report-embedded .cohort-approval-report-select,.report-embedded .general-report-select,.report-embedded .smc-report-filters .cohort-report-select,.report-embedded .eval-criteria-filters select,.report-embedded .eval-criteria-filters input,.report-embedded .affective-student-report-filters select,.report-embedded .affective-student-report-filters input,.report-embedded .affective-site-report-filters select,.report-embedded .affective-site-report-filters input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.report-embedded .cohort-report-filters-actions,.report-embedded .cohort-approval-report-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;width:100%}.report-embedded .cohort-report-filters-actions .cohort-report-btn,.report-embedded .cohort-approval-report-actions .cohort-report-btn{width:fit-content;max-width:max-content}.report-embedded .report-header-actions,.reports-workspace .report-header-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;width:auto;max-width:100%}.reports-workspace .report-header-actions button.report-label-btn,.reports-workspace .report-header-actions button.report-export-btn,body.planner-phone-app .reports-workspace .report-header-actions button.report-label-btn,body.planner-phone-app .reports-workspace .report-header-actions button.report-export-btn,body.planner-native-app .reports-workspace .report-header-actions button.report-label-btn,body.planner-native-app .reports-workspace .report-header-actions button.report-export-btn,.reports-workspace .report-drill-back button.report-label-btn,.reports-workspace .place-admin-back-row button.report-label-btn{align-self:center;flex:0 0 auto;width:fit-content;max-width:max-content}.report-applied-bar{flex-direction:column;align-items:center;justify-content:flex-start}.report-applied-summary{width:100%;justify-content:flex-start}.report-applied-menu-wrap{align-self:center;width:fit-content;margin-left:auto;margin-right:auto}.report-applied-menu{left:50%;right:auto;transform:translate(-50%)}}.report-applied-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.report-applied-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.95rem;color:var(--text-secondary, #444)}.report-applied-menu-wrap{position:relative;flex-shrink:0}.report-applied-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border, #e8e8e8);border-radius:8px;background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a);cursor:pointer;transition:background .15s ease,border-color .15s ease}.report-applied-menu-trigger:hover:not(:disabled){background:var(--control-bg, #e8e8e8);color:var(--text-primary, #1a1a1a)}.report-applied-menu-trigger:focus-visible{outline:2px solid var(--accent, var(--main-color));outline-offset:2px}.report-applied-menu-trigger:disabled{opacity:.6;cursor:not-allowed}.report-applied-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;padding:6px 0;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px;box-shadow:var(--shadow-strong, 0 4px 12px rgba(0, 0, 0, .12))}.report-applied-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;font-size:.9rem;font-weight:500;color:var(--text-primary, #1a1a1a);cursor:pointer}.report-applied-menu-item:hover:not(:disabled){background:var(--control-bg, #e8e8e8)}.report-applied-menu-item:disabled{opacity:.6;cursor:not-allowed}.report-filter-error{color:#b00020;font-size:.95rem;margin:0 0 8px}[data-theme=dark] .report-applied-bar{background:var(--surface-alt, #2a2a2a);border-color:var(--border, #444)}[data-theme=dark] .report-applied-menu-trigger{background:var(--surface, #2d2d2d);border-color:var(--border, #444);color:var(--text-primary, #e8e8e8)}[data-theme=dark] .report-applied-menu-trigger:hover:not(:disabled){background:var(--control-bg, #404040)}[data-theme=dark] .report-applied-menu{background:var(--surface, #2d2d2d);border-color:var(--border, #444)}[data-theme=dark] .report-applied-menu-item{color:var(--text-primary, #e8e8e8)}[data-theme=dark] .report-applied-menu-item:hover:not(:disabled){background:var(--control-bg, #404040)}.cohort-progress-report-main{max-width:1000px}.cohort-report-header-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:16px 0;border-bottom:1px solid var(--border, #e8e8e8)}.cohort-report-page-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0}.cohort-report-header-actions{display:flex;flex-wrap:wrap;gap:12px}.cohort-report-btn{padding:8px 16px;font-size:.9rem;font-weight:600;border-radius:6px;text-decoration:none;cursor:pointer;border:none;transition:filter .2s ease}.cohort-report-btn-primary{background:var(--main-color);color:#fff}.cohort-report-btn-primary:hover{filter:brightness(1.05)}.cohort-report-btn-secondary{background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a);border:1px solid var(--border, #e8e8e8)}.cohort-report-btn-secondary:hover{background:var(--control-bg, #e8e8e8);color:var(--text-primary, #1a1a1a)}.cohort-report-btn-secondary:focus-visible{outline:2px solid var(--accent, var(--main-color));outline-offset:2px;background:var(--control-bg, #e8e8e8);color:var(--text-primary, #1a1a1a)}.cohort-report-filters{padding:20px;margin-bottom:24px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.cohort-report-filters-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.cohort-report-filter-label{font-size:.95rem;color:var(--text-primary, #1a1a1a);min-width:100px}.cohort-report-select,.cohort-report-input{padding:10px 14px;font-size:.95rem;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);min-width:220px}.cohort-report-select:focus,.cohort-report-input:focus{outline:none;border-color:var(--main-color);box-shadow:0 0 0 2px #43a4ff33}.cohort-report-options-title{font-size:1rem;font-weight:600;margin:20px 0 12px;color:var(--text-primary, #1a1a1a)}.cohort-report-option-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.cohort-report-option-label{font-size:.95rem;color:var(--text-primary, #1a1a1a)}.cohort-report-option-help{width:20px;height:20px;margin-left:6px;padding:0;border-radius:50%;border:1px solid var(--main-color);background:transparent;color:var(--main-color);font-size:.75rem;font-weight:700;cursor:pointer;line-height:1;vertical-align:middle}.cohort-report-toggle{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--border, #e0e0e0)}.cohort-report-toggle-btn{padding:8px 20px;font-size:.9rem;font-weight:500;border:none;background:var(--surface-alt, #f5f5f5);color:var(--text-secondary, #444);cursor:pointer;margin:0;transition:background .2s ease,color .2s ease}.cohort-report-toggle-btn:hover{background:#e8e8e8}.cohort-report-toggle-btn.active{background:#e8762e;color:#fff}.cohort-report-filters-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--border, #e8e8e8)}.cohort-report-meta{display:flex;gap:24px;margin-bottom:24px;font-size:.95rem;color:var(--text-secondary, #444)}.cohort-report-overall{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:16px 20px;background:var(--surface-alt, #f5f5f5);border:1px solid var(--border, #e8e8e8);border-radius:8px}.cohort-report-overall-label{font-size:1.05rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.cohort-report-overall .cohort-report-progress-cell{min-width:140px}.cohort-report-content{display:flex;flex-direction:column;gap:0}.cohort-report-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-size:1rem;font-weight:600;text-align:left;background:var(--surface-alt, #f5f5f5);border:none;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:background .15s ease;gap:12px}.cohort-report-section-header:hover{background:#ebebeb;color:#1a1a1a}.cohort-report-section-header:hover .cohort-report-section-title,.cohort-report-section-header:hover .cohort-report-section-pct{color:inherit}.cohort-report-section-title{flex:1;min-width:0}.cohort-report-section-summary{display:inline-flex;align-items:center;gap:8px;min-width:120px;justify-content:flex-end}.cohort-report-section-bar-wrap{display:inline-block;width:60px;height:14px;border-radius:4px;background:var(--report-progress-track, #d8d8d8);overflow:hidden;flex-shrink:0}.cohort-report-section-summary .cohort-report-section-bar{display:block;height:100%;min-width:4px;border-radius:0}.cohort-report-section-summary .progress-blank.cohort-report-section-bar{background:var(--report-progress-blank, #9e9e9e)}.cohort-report-section-summary .progress-red.cohort-report-section-bar{background:#c62828}.cohort-report-section-summary .progress-yellow.cohort-report-section-bar{background:#f9a825}.cohort-report-section-summary .progress-green.cohort-report-section-bar{background:#2e7d32}.cohort-report-section-pct{font-size:.9rem;font-weight:600;min-width:48px;text-align:right}.cohort-report-section-pct.progress-blank{color:var(--text-muted, #666)}.cohort-report-section-pct.progress-red{color:#b71c1c}.cohort-report-section-pct.progress-yellow{color:#f57f17}.cohort-report-section-pct.progress-green{color:#1b5e20}.cohort-report-section-pct-raw{color:var(--text-muted, #666)}.cohort-report-section-chevron{font-size:.75rem;color:var(--text-muted, #666);flex-shrink:0}.cohort-report-section-body{padding:12px 16px 16px;background:var(--surface, #fff)}.cohort-report-table{width:100%;border-collapse:collapse;font-size:.95rem}.cohort-report-table tr{border-bottom:1px solid var(--border, #e8e8e8)}.cohort-report-table tr:last-child{border-bottom:none}.cohort-report-label{display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--text-primary, #1a1a1a);vertical-align:middle}.cohort-report-progress{width:180px;padding:8px 0;text-align:right;vertical-align:middle}.cohort-report-progress-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;min-width:100px}.cohort-report-bar-track{width:120px;height:20px;border-radius:4px;background:var(--report-progress-track, #d8d8d8);overflow:hidden;flex-shrink:0}.cohort-report-bar-fill{height:100%;min-width:2px;border-radius:4px;transition:width .2s ease}.cohort-report-value{font-weight:600;min-width:48px;text-align:right}.cohort-report-value-bar{font-size:.9rem}.cohort-report-value-raw{color:var(--text-primary, #1a1a1a)}.progress-blank.cohort-report-bar-fill{background:var(--report-progress-blank, #9e9e9e)}.progress-blank.cohort-report-value-bar{color:var(--text-muted, #666)}.progress-red.cohort-report-bar-fill{background:#c62828}.progress-red.cohort-report-value-bar{color:#b71c1c}.progress-yellow.cohort-report-bar-fill{background:#f9a825}.progress-yellow.cohort-report-value-bar{color:#f57f17}.progress-green.cohort-report-bar-fill{background:#2e7d32}.progress-green.cohort-report-value-bar{color:#1b5e20}.progress-raw .cohort-report-bar-track{display:none}.cohort-report-metric-progress{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;min-width:180px}.cohort-report-breakdown-track{width:120px;height:20px;border-radius:4px;overflow:hidden;display:flex;flex-shrink:0}.cohort-report-progress-legend{margin:0 0 16px}.cohort-report-breakdown-segment{height:100%;min-width:2px;flex-shrink:0}.cohort-report-row-expand{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #666);cursor:pointer;flex-shrink:0}.cohort-report-row-expand:hover{background:var(--control-bg, #e8e8e8);color:var(--text-primary, #1a1a1a)}.cohort-report-row-expand-spacer{display:inline-block;width:24px;flex-shrink:0}.cohort-report-row-chevron{font-size:.75rem;line-height:1}.cohort-report-student-detail-row>td{padding:0 16px 16px 48px;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e8e8e8)}.cohort-report-student-table{width:100%;border-collapse:collapse;font-size:.9rem}.cohort-report-student-table th,.cohort-report-student-table td{padding:8px 12px;text-align:left;border:1px solid var(--border, #e8e8e8)}.cohort-report-student-table thead th{background:var(--surface-alt, #f5f5f5);font-weight:600;color:var(--text-primary, #1a1a1a)}.cohort-report-student-name{font-weight:500;white-space:nowrap}.cohort-report-student-th-progress,.cohort-report-student-progress{min-width:200px}.cohort-report-student-progress .cohort-report-metric-progress{min-width:0}[data-theme=dark] .cohort-report-section-header:hover{background:var(--control-bg, #404040);color:var(--text-primary, #e8e8e8)}[data-theme=dark]{--report-progress-track: #4d4d4d;--report-progress-blank: #7a8a99}[data-theme=dark] .progress-red.cohort-report-value-bar,[data-theme=dark] .cohort-report-section-pct.progress-red{color:#ef5350}[data-theme=dark] .progress-yellow.cohort-report-value-bar,[data-theme=dark] .cohort-report-section-pct.progress-yellow{color:#ffb74d}[data-theme=dark] .progress-green.cohort-report-value-bar,[data-theme=dark] .cohort-report-section-pct.progress-green{color:#66bb6a}[data-theme=dark] .cohort-report-student-detail-row>td{background:var(--surface, #2d2d2d)}[data-theme=dark] .cohort-report-row-expand:hover{background:var(--control-bg, #404040);color:var(--text-primary, #e8e8e8)}@media print{.cohort-report-header-actions,.back-to-dashboard,.role-home-nav,header{display:none!important}}.affective-site-report-main{max-width:900px}.affective-site-report-header-bar{margin-bottom:16px}.affective-site-report-filters{padding:20px;margin-bottom:24px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.affective-site-report-form{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto auto;gap:8px 32px;align-items:start;margin-bottom:24px}.affective-site-report-form>*:nth-child(1){grid-column:1;grid-row:1}.affective-site-report-form>*:nth-child(2){grid-column:1;grid-row:2}.affective-site-report-form>*:nth-child(3){grid-column:2;grid-row:1}.affective-site-report-form>*:nth-child(4){grid-column:2;grid-row:2}.affective-site-report-form>*:nth-child(5){grid-column:1;grid-row:3}.affective-site-report-form>*:nth-child(6){grid-column:1;grid-row:4}.affective-site-report-form>*:nth-child(7){grid-column:2;grid-row:3}.affective-site-report-form>*:nth-child(8){grid-column:2;grid-row:4}.affective-site-report-form>*:nth-child(9){grid-column:1;grid-row:5}.affective-site-report-form>*:nth-child(10){grid-column:2;grid-row:5}.affective-site-report-label{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 4px}.affective-site-report-multiselect-wrap{max-width:360px;width:100%}.affective-site-report-multiselect-wrap .multiselect-dropdown-trigger{max-width:none;width:100%;min-width:0;padding:10px 14px;font-size:.95rem;border-radius:8px}.affective-site-report-input{padding:10px 14px;font-size:.95rem;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);width:100%;max-width:360px;box-sizing:border-box}.affective-site-report-input:focus{outline:none;border-color:var(--main-color);box-shadow:0 0 0 2px #43a4ff33}.affective-site-report-date-labels{display:flex;gap:16px;align-items:center}.affective-site-report-date-labels .affective-site-report-label{margin-bottom:0}.affective-site-report-date-wrap{display:flex;gap:16px;align-items:center}.affective-site-report-date-wrap .affective-site-report-input{flex:1;min-width:0;max-width:none}.affective-site-report-checkbox-cell{display:flex;align-items:center}.affective-site-report-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary, #1a1a1a);cursor:pointer;margin:0}.affective-site-report-checkbox-label input{width:1rem;height:1rem}.affective-site-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.affective-site-report-results{display:flex;flex-direction:column;gap:0}.affective-site-report-no-results{padding:24px;background:var(--surface-alt, #f5f5f5);border-radius:8px;color:var(--text-secondary, #444);font-size:.95rem;margin:0}.affective-site-report-site-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-size:1rem;font-weight:600;text-align:left;background:var(--surface-alt, #f5f5f5);border:none;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:background .15s ease;gap:12px;position:sticky;top:0;z-index:1}.affective-site-report-site-header:hover{background:#ebebeb;color:#1a1a1a}.affective-site-report-site-header:hover .affective-site-report-site-title,.affective-site-report-site-header:hover .affective-site-report-site-avg{color:inherit}.affective-site-report-site-title{flex:1;min-width:0}.affective-site-report-site-summary{display:inline-flex;align-items:center;gap:8px;min-width:60px;justify-content:flex-end}.affective-site-report-site-avg{font-size:.95rem;font-weight:600;color:#2e7d32}.affective-site-report-site-chevron{font-size:.75rem;color:var(--text-muted, #666);flex-shrink:0}.affective-site-report-site-body{padding:0;background:var(--surface, #fff);border-top:1px solid var(--border, #e8e8e8)}.affective-site-report-site:not(.affective-site-report-site--open) .affective-site-report-site-body{display:none}.affective-site-report-table{width:100%;border-collapse:collapse;font-size:.95rem}.affective-site-report-table thead th{padding:10px 16px;text-align:left;font-weight:600;color:var(--text-primary, #1a1a1a);background:var(--surface-alt, #f9f9f9);border-bottom:1px solid var(--border, #e8e8e8)}.affective-site-report-th-question{width:70%}.affective-site-report-th-response{width:30%;text-align:right}.affective-site-report-table thead th.affective-site-report-th-response{text-align:right}.affective-site-report-table tbody tr{border-bottom:1px solid var(--border, #e8e8e8)}.affective-site-report-table tbody tr:last-child{border-bottom:none}.affective-site-report-td-question{padding:10px 16px;color:var(--text-primary, #1a1a1a);vertical-align:middle}.affective-site-report-td-response{padding:10px 16px;text-align:right;vertical-align:middle}.affective-site-report-value{color:#2e7d32}.affective-site-report-total-row td{font-weight:600;background:var(--surface-alt, #fafafa)}.affective-site-report-total-row .affective-site-report-value{color:#1b5e20}@media print{.affective-site-report-header-actions,.back-to-dashboard,.role-home-nav,header,.affective-site-report-filters{display:none!important}.affective-site-report-site-chevron{display:none!important}.affective-site-report-site:not(.affective-site-report-site--open) .affective-site-report-site-body,.affective-site-report-site-body{display:block!important;border-top:1px solid #ddd}}@media(max-width:768px){.affective-site-report-form{grid-template-columns:1fr;grid-template-rows:auto}.affective-site-report-form>*:nth-child(1){grid-column:1;grid-row:1}.affective-site-report-form>*:nth-child(2){grid-column:1;grid-row:2}.affective-site-report-form>*:nth-child(3){grid-column:1;grid-row:3}.affective-site-report-form>*:nth-child(4){grid-column:1;grid-row:4}.affective-site-report-form>*:nth-child(5){grid-column:1;grid-row:5}.affective-site-report-form>*:nth-child(6){grid-column:1;grid-row:6}.affective-site-report-form>*:nth-child(7){grid-column:1;grid-row:7}.affective-site-report-form>*:nth-child(8){grid-column:1;grid-row:8}.affective-site-report-form>*:nth-child(9){grid-column:1;grid-row:9}.affective-site-report-form>*:nth-child(10){grid-column:1;grid-row:10}.affective-site-report-input{max-width:none}}.affective-student-report-main{max-width:900px}.affective-student-report-header-bar{margin-bottom:16px}.affective-student-report-filters{padding:20px;margin-bottom:24px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.affective-student-report-form{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto auto;gap:8px 32px;align-items:start;margin-bottom:24px}.affective-student-report-form>*:nth-child(1){grid-column:1;grid-row:1}.affective-student-report-form>*:nth-child(2){grid-column:1;grid-row:2}.affective-student-report-form>*:nth-child(3){grid-column:2;grid-row:1}.affective-student-report-form>*:nth-child(4){grid-column:2;grid-row:2}.affective-student-report-form>*:nth-child(5){grid-column:1;grid-row:3}.affective-student-report-form>*:nth-child(6){grid-column:1;grid-row:4}.affective-student-report-form>*:nth-child(7){grid-column:2;grid-row:3}.affective-student-report-form>*:nth-child(8){grid-column:2;grid-row:4}.affective-student-report-form>*:nth-child(9){grid-column:1;grid-row:5}.affective-student-report-form>*:nth-child(10){grid-column:2;grid-row:5}.affective-student-report-label{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 4px}.affective-report-multiselect-wrap{max-width:360px;width:100%}.affective-report-multiselect-wrap .multiselect-dropdown-trigger{max-width:none;width:100%;min-width:0;padding:10px 14px;font-size:.95rem;border-radius:8px}.affective-student-report-select,.affective-student-report-input{padding:10px 14px;font-size:.95rem;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);width:100%;max-width:360px;box-sizing:border-box}.affective-student-report-select:focus,.affective-student-report-input:focus{outline:none;border-color:var(--main-color);box-shadow:0 0 0 2px #43a4ff33}.affective-student-report-date-labels{display:flex;gap:16px;align-items:center}.affective-student-report-date-labels .affective-student-report-label{margin-bottom:0}.affective-student-report-date-wrap{display:flex;gap:16px;align-items:center}.affective-student-report-date-wrap .affective-student-report-input{flex:1;min-width:0;max-width:none}.affective-student-report-checkbox-cell{display:flex;align-items:center}.affective-student-report-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary, #1a1a1a);cursor:pointer;margin:0}.affective-student-report-checkbox-label input{width:1rem;height:1rem}.affective-student-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.affective-report-results{display:flex;flex-direction:column;gap:0}.affective-report-no-results{padding:24px;background:var(--surface-alt, #f5f5f5);border-radius:8px;color:var(--text-secondary, #444);font-size:.95rem;margin:0}.affective-report-student-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-size:1rem;font-weight:600;text-align:left;background:var(--surface-alt, #f5f5f5);border:none;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:background .15s ease;gap:12px;position:sticky;top:0;z-index:1}.affective-report-student-header:hover{background:#ebebeb;color:#1a1a1a}.affective-report-student-header:hover .affective-report-student-title,.affective-report-student-header:hover .affective-report-student-avg{color:inherit}.affective-report-student-title{flex:1;min-width:0}.affective-report-student-summary{display:inline-flex;align-items:center;gap:8px;min-width:60px;justify-content:flex-end}.affective-report-student-avg{font-size:.95rem;font-weight:600;color:#2e7d32}.affective-report-student-chevron{font-size:.75rem;color:var(--text-muted, #666);flex-shrink:0}.affective-report-student-body{padding:0;background:var(--surface, #fff);border-top:1px solid var(--border, #e8e8e8)}.affective-report-student:not(.affective-report-student--open) .affective-report-student-body{display:none}.affective-report-table{width:100%;border-collapse:collapse;font-size:.95rem}.affective-report-table thead th{padding:10px 16px;text-align:left;font-weight:600;color:var(--text-primary, #1a1a1a);background:var(--surface-alt, #f9f9f9);border-bottom:1px solid var(--border, #e8e8e8)}.affective-report-th-question{width:70%}.affective-report-th-response{width:30%;text-align:right}.affective-report-table thead th.affective-report-th-response{text-align:right}.affective-report-table tbody tr{border-bottom:1px solid var(--border, #e8e8e8)}.affective-report-table tbody tr:last-child{border-bottom:none}.affective-report-td-question{padding:10px 16px;color:var(--text-primary, #1a1a1a);vertical-align:middle}.affective-report-td-response{padding:10px 16px;text-align:right;vertical-align:middle}.affective-report-value{color:#2e7d32}.affective-report-total-row td{font-weight:600;background:var(--surface-alt, #fafafa)}.affective-report-total-row .affective-report-value{color:#1b5e20}@media print{.affective-report-header-actions,.back-to-dashboard,.role-home-nav,header,.affective-student-report-filters{display:none!important}.affective-report-student-chevron{display:none!important}.affective-report-student:not(.affective-report-student--open) .affective-report-student-body,.affective-report-student-body{display:block!important;border-top:1px solid #ddd}}@media(max-width:768px){.affective-student-report-form{grid-template-columns:1fr;grid-template-rows:auto}.affective-student-report-form>*:nth-child(1){grid-column:1;grid-row:1}.affective-student-report-form>*:nth-child(2){grid-column:1;grid-row:2}.affective-student-report-form>*:nth-child(3){grid-column:1;grid-row:3}.affective-student-report-form>*:nth-child(4){grid-column:1;grid-row:4}.affective-student-report-form>*:nth-child(5){grid-column:1;grid-row:5}.affective-student-report-form>*:nth-child(6){grid-column:1;grid-row:6}.affective-student-report-form>*:nth-child(7){grid-column:1;grid-row:7}.affective-student-report-form>*:nth-child(8){grid-column:1;grid-row:8}.affective-student-report-form>*:nth-child(9){grid-column:1;grid-row:9}.affective-student-report-form>*:nth-child(10){grid-column:1;grid-row:10}.affective-student-report-select,.affective-student-report-input{max-width:none}}.cohort-approval-report-main{max-width:1100px}.cohort-approval-report-header-bar{margin-bottom:1rem}.cohort-approval-report-filters{border:1px solid var(--border-color, #c5c5c5);border-radius:6px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;background:var(--surface-bg, #fff)}.cohort-approval-report-filters-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem 1.25rem;align-items:end}@media(max-width:900px){.cohort-approval-report-filters-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cohort-approval-report-filters-grid{grid-template-columns:1fr}}.cohort-approval-report-filter-label{display:block;margin-bottom:.35rem}.cohort-approval-report-select,.cohort-approval-report-filters .cohort-report-input{width:100%;box-sizing:border-box}.cohort-approval-report-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.cohort-approval-report-section-title{font-size:1.35rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #c5c5c5)}.cohort-approval-report-table-wrap{overflow-x:auto;border:1px solid var(--border-color, #c5c5c5);border-radius:6px;background:var(--surface-bg, #fff)}.cohort-approval-report-table{width:100%;border-collapse:collapse;font-size:.95rem}.cohort-approval-report-table th,.cohort-approval-report-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border-color, #ddd);vertical-align:top}.cohort-approval-report-table thead th{background:var(--table-header-bg, #f0f0f0);font-weight:700}.cohort-approval-report-table tbody tr:last-child td{border-bottom:none}.cohort-approval-report-status--approved{color:var(--success-text, #1a7f37);font-weight:600}.cohort-approval-report-status--pending{color:var(--warning-text, #9a6700);font-weight:600}.cohort-approval-report-detail-row td{background:var(--table-detail-bg, #f8f9fa);font-size:.9rem}.cohort-approval-report-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem 1.5rem}@media(max-width:720px){.cohort-approval-report-detail-grid{grid-template-columns:1fr}}.cohort-approval-report-detail-label{display:block;font-weight:700;margin-bottom:.2rem}.cohort-approval-report-empty,.cohort-approval-report-error{padding:1rem;margin:0 0 1rem}.cohort-approval-report-loading{padding:1.5rem;text-align:center;color:var(--muted-text, #666)}[data-theme=dark] .cohort-approval-report-filters,[data-theme=dark] .cohort-approval-report-table-wrap{background:var(--surface-bg)}[data-theme=dark] .cohort-approval-report-table thead th{background:var(--table-header-bg, #2a2a2a)}[data-theme=dark] .cohort-approval-report-detail-row td{background:var(--table-detail-bg, #1e1e1e)}:root{--progress-breakdown-completed: #2e7d32;--progress-breakdown-pending: #f9a825;--progress-breakdown-missing: #c62828;--progress-breakdown-track-bg: #e8e8e8}[data-theme=dark]{--progress-breakdown-completed: #66bb6a;--progress-breakdown-pending: #ffb74d;--progress-breakdown-missing: #ef5350;--progress-breakdown-track-bg: #4d4d4d}.progress-breakdown-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 0 12px;padding:0;list-style:none;font-size:.875rem;color:var(--text-muted, #555)}.progress-breakdown-legend-item{display:inline-flex;align-items:center;gap:8px}.progress-breakdown-legend-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.progress-breakdown-legend-swatch--completed{background:var(--progress-breakdown-completed)}.progress-breakdown-legend-swatch--pending{background:var(--progress-breakdown-pending)}.progress-breakdown-legend-swatch--missing{background:var(--progress-breakdown-missing)}.progress-breakdown-track{height:20px;border-radius:4px;background:var(--progress-breakdown-track-bg);overflow:hidden;display:flex}.progress-breakdown-track--fluid{flex:1;min-width:60px}.progress-breakdown-track--compact{width:120px;flex-shrink:0}.progress-breakdown-segment{height:100%;min-width:2px;flex-shrink:0;cursor:help}.progress-breakdown-completed{background:var(--progress-breakdown-completed)}.progress-breakdown-pending{background:var(--progress-breakdown-pending)}.progress-breakdown-missing{background:var(--progress-breakdown-missing)}.student-progress-breakdown-track,.cohort-report-breakdown-track{background:var(--progress-breakdown-track-bg)}.student-progress-breakdown-completed,.cohort-report-breakdown-completed{background:var(--progress-breakdown-completed)}.student-progress-breakdown-pending,.cohort-report-breakdown-pending{background:var(--progress-breakdown-pending)}.student-progress-breakdown-missing,.cohort-report-breakdown-missing{background:var(--progress-breakdown-missing)}.eval-criteria-report-main{max-width:960px}.eval-criteria-filters{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;background:var(--surface, #fff)}.eval-criteria-filters-row{margin-bottom:1.25rem}.eval-criteria-filters-row:last-of-type{margin-bottom:0}.eval-criteria-filter-label{display:block;margin-bottom:.4rem}.eval-criteria-filter-hint{font-size:.85rem;color:var(--text-secondary, #666);margin:.35rem 0 0}.eval-criteria-toggle-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.65rem 0;border-bottom:1px solid var(--border, #eee)}.eval-criteria-toggle-row:last-child{border-bottom:none}.eval-criteria-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:600;flex:1;min-width:200px}.eval-criteria-section-intro{margin:0 0 1rem;color:var(--text-secondary, #555);font-size:.95rem}.eval-criteria-subreports-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem}.eval-criteria-subreport-card{display:block;text-decoration:none;color:inherit}.eval-criteria-subreport-card .report-card-title{color:var(--main-color, #1a5fb4)}.eval-criteria-skill-list{display:flex;flex-direction:column;gap:.75rem}.eval-criteria-skill-card{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:1rem 1.15rem;background:var(--surface, #fff)}.eval-criteria-skill-name{font-weight:600;margin:0 0 .5rem}.eval-criteria-form-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.eval-criteria-form-link{color:var(--main-color, #1a5fb4);text-decoration:none;font-size:.95rem}.eval-criteria-form-link:hover{text-decoration:underline}.eval-criteria-no-forms{font-size:.9rem;color:var(--text-secondary, #666);margin:0}.eval-criteria-form-detail-meta{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1.25rem;font-size:.9rem;color:var(--text-secondary, #555)}.eval-criteria-criteria-list{border:1px solid var(--border, #e0e0e0);border-radius:8px;overflow:hidden;background:var(--surface, #fff)}.eval-criteria-criterion{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border, #eee)}.eval-criteria-criterion:last-child{border-bottom:none}.eval-criteria-criterion-label{flex:1;min-width:200px}.eval-criteria-criterion-meta{font-size:.85rem;color:var(--text-secondary, #666);white-space:nowrap}.eval-criteria-criterion--critical .eval-criteria-criterion-label{font-weight:600}.eval-criteria-legend{font-size:.85rem;color:var(--text-secondary, #666);margin:0 0 1rem;padding:.65rem .85rem;background:var(--surface-alt, #f5f5f5);border-radius:6px}[data-theme=dark] .eval-criteria-filters,[data-theme=dark] .eval-criteria-skill-card,[data-theme=dark] .eval-criteria-criteria-list{background:var(--surface)}.general-report-main{max-width:1100px}.general-report-header-bar{margin-bottom:0}.general-report-filters{padding:20px;margin-bottom:24px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.general-report-top-row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 32px;align-items:center;margin-bottom:20px}.general-report-label{grid-column:1;grid-row:1;font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0}.general-report-select{grid-column:1;grid-row:2;padding:10px 14px;font-size:.95rem;border:1px solid var(--border, #e0e0e0);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #1a1a1a);width:100%;max-width:360px;box-sizing:border-box}.general-report-select:focus{outline:none;border-color:var(--main-color);box-shadow:0 0 0 2px #43a4ff33}.general-report-checkboxes{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.general-report-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary, #1a1a1a);cursor:pointer}.general-report-checkbox-label input{width:1rem;height:1rem}.general-report-templates-title{font-size:1rem;font-weight:600;margin:24px 0 16px;color:var(--text-primary, #1a1a1a)}.general-report-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.general-report-template-card{display:flex;flex-direction:column;align-items:flex-start;padding:16px;text-align:left;background:var(--surface-alt, #fafafa);border:1px solid var(--border, #e8e8e8);border-radius:8px;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:border-color .2s ease,box-shadow .2s ease}.general-report-template-card:hover{border-color:var(--main-color);box-shadow:0 2px 8px #43a4ff26}.general-report-template-icon{font-size:1.5rem;margin-bottom:10px}.general-report-template-title{font-size:1rem;font-weight:600;color:var(--main-color);margin:0 0 6px}.general-report-template-desc{font-size:.875rem;color:var(--text-secondary, #444);margin:0;line-height:1.4}@media(max-width:768px){.general-report-templates-grid{grid-template-columns:1fr}.general-report-top-row{grid-template-columns:1fr;grid-template-rows:auto auto auto}.general-report-label{grid-column:1;grid-row:1}.general-report-select{grid-column:1;grid-row:2;max-width:none}.general-report-checkboxes{grid-column:1;grid-row:3}}.smc-report-main{max-width:1000px}.smc-report-header-bar{margin-bottom:16px}.smc-report-filters .cohort-report-select{flex:1;max-width:480px}.smc-report-filters .smc-report-disclaimer{font-size:.8rem;font-style:italic;color:var(--text-secondary, #666);margin:16px 0 0;line-height:1.4;border-top:none;padding-top:0}.smc-report-applied-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px}.smc-report-applied-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.95rem;color:var(--text-secondary, #444)}.smc-report-change-filters-btn{flex-shrink:0}.smc-report-error{color:#b00020;font-size:.95rem;margin:0 0 8px}.smc-report-results{margin-top:0}.smc-report-table-wrap{overflow:auto;max-height:min(70vh,720px);border:1px solid var(--border, #e8e8e8);border-radius:8px;background:var(--surface, #fff);margin-bottom:20px;-webkit-overflow-scrolling:touch}.smc-report-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.smc-report-table th,.smc-report-table td{border-bottom:1px solid var(--border, #e8e8e8);border-right:1px solid var(--border, #e8e8e8);padding:10px 12px;text-align:center;vertical-align:middle}.smc-report-table th:first-child,.smc-report-table td:first-child{border-left:1px solid var(--border, #e8e8e8)}.smc-report-table thead tr:first-child th{border-top:1px solid var(--border, #e8e8e8)}.smc-report-table th.smc-report-th-student,.smc-report-table td.smc-report-td-student{text-align:left;position:sticky;left:0;z-index:3;min-width:168px;max-width:200px;font-weight:600;background:var(--surface, #fff);box-shadow:4px 0 8px -2px #0000001a}.smc-report-table thead th.smc-report-th-student{z-index:5;vertical-align:bottom;background:var(--main-color, #8b1538);color:#fff;font-size:.9rem}.smc-report-table thead th.smc-report-th-competency{min-width:6.5rem;max-width:9.5rem;padding:10px 8px;font-weight:600;font-size:.8125rem;line-height:1.35;white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;vertical-align:bottom;background:var(--surface-alt, #ececec);color:var(--text-primary, #1a1a1a);position:sticky;top:0;z-index:2}.smc-report-table thead th.smc-report-th-competency--hours{background:var(--surface-alt, #e2e8f0)}.smc-report-th-label{display:block;margin-bottom:6px}.smc-report-th-min{display:block;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--main-color, #8b1538);opacity:.95}.smc-report-table thead th.smc-report-th-competency--hours .smc-report-th-min{color:#2e5a88}.smc-report-table tbody td{min-width:3.25rem;white-space:nowrap;font-variant-numeric:tabular-nums}.smc-report-table tbody tr.smc-report-student-row:nth-child(odd) td{background:var(--surface, #fff)}.smc-report-table tbody tr.smc-report-student-row:nth-child(odd) td.smc-report-td-student{background:var(--surface, #fff)}.smc-report-table tbody tr.smc-report-student-row:nth-child(2n) td{background:var(--surface-alt, #f7f7f7)}.smc-report-table tbody tr.smc-report-student-row:nth-child(2n) td.smc-report-td-student{background:var(--surface-alt, #f7f7f7)}.smc-report-table tbody tr.smc-report-student-row:hover td{background:#43a4ff1a}.smc-report-table tbody tr.smc-report-student-row:hover td.smc-report-td-student{background:#43a4ff24}.smc-report-value-met{color:#1b7a3d;font-weight:600}.smc-report-value-below{color:var(--text-primary, #333)}.smc-report-empty{padding:16px;color:var(--text-secondary, #555)}[data-theme=dark] .smc-report-table th.smc-report-th-student,[data-theme=dark] .smc-report-table td.smc-report-td-student{background:var(--surface, #1e1e1e);box-shadow:4px 0 10px -2px #00000073}[data-theme=dark] .smc-report-table thead th.smc-report-th-student{background:var(--main-color, #8b1538);color:#fff}[data-theme=dark] .smc-report-table thead th.smc-report-th-competency{background:#2d2d2d;color:var(--text-primary, #eee)}[data-theme=dark] .smc-report-table thead th.smc-report-th-competency--hours{background:#283038}[data-theme=dark] .smc-report-th-min{color:#7eb8ff}[data-theme=dark] .smc-report-table thead th.smc-report-th-competency--hours .smc-report-th-min{color:#8ec5ff}[data-theme=dark] .smc-report-table tbody tr.smc-report-student-row:nth-child(2n) td,[data-theme=dark] .smc-report-table tbody tr.smc-report-student-row:nth-child(2n) td.smc-report-td-student{background:#252525}[data-theme=dark] .smc-report-table tbody tr.smc-report-student-row:nth-child(odd) td,[data-theme=dark] .smc-report-table tbody tr.smc-report-student-row:nth-child(odd) td.smc-report-td-student{background:var(--surface, #1e1e1e)}[data-theme=dark] .smc-report-applied-bar{background:var(--surface-alt, #2a2a2a);border-color:var(--border, #444)}.tooltip-wrap{position:relative;display:inline-flex;align-items:center}.tooltip-bubble{position:absolute;z-index:1000;min-width:220px;max-width:360px;padding:10px 14px;font-size:.875rem;font-weight:400;line-height:1.4;color:var(--text-primary, #1a1a1a);background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:8px;box-shadow:0 4px 12px #00000026;white-space:normal;pointer-events:none}.tooltip-bubble:before{content:"";position:absolute;border:6px solid transparent}.tooltip-bubble-top{bottom:100%;left:50%;margin-bottom:8px;transform:translate(-50%)}.tooltip-bubble-top:before{bottom:-12px;left:50%;margin-left:-6px;border-top-color:var(--surface, #fff)}.tooltip-bubble-bottom{top:100%;left:50%;margin-top:8px;transform:translate(-50%)}.tooltip-bubble-bottom:before{top:-12px;left:50%;margin-left:-6px;border-bottom-color:var(--surface, #fff)}.tooltip-bubble-right{top:50%;left:100%;margin-left:8px;transform:translateY(-50%)}.tooltip-bubble-right:before{top:50%;left:-12px;margin-top:-6px;border-right-color:var(--surface, #fff)}.tooltip-bubble-left{top:50%;right:100%;margin-right:8px;transform:translateY(-50%)}.tooltip-bubble-left:before{top:50%;right:-12px;margin-top:-6px;border-left-color:var(--surface, #fff)}.student-progress-report-main{max-width:1000px}.student-progress-focus-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.student-progress-focus-name{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.student-progress-student{margin-bottom:16px;border:1px solid var(--border, #e8e8e8);border-radius:8px;overflow:hidden;background:var(--surface, #fff)}.student-progress-student-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a);background:var(--surface-alt, #f5f5f5);border:none;cursor:pointer}.student-progress-student-header:hover{background:#eee}.student-progress-student-name{flex:1}.student-progress-mark-complete{padding:6px 12px;font-size:.85rem;font-weight:600;color:var(--main-color);background:transparent;border:1px solid var(--main-color);border-radius:6px;cursor:pointer}.student-progress-mark-complete:hover{background:var(--main-color);color:#fff}.student-progress-student-chevron{color:var(--text-muted, #666)}.student-progress-student-body{padding:16px;border-top:1px solid var(--border, #e8e8e8)}.student-progress-course{margin:0 0 12px;font-size:.95rem;color:var(--text-muted, #666)}.student-progress-summary-bars{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.student-progress-summary-row{display:flex;align-items:center;gap:12px}.student-progress-summary-label{min-width:180px;font-size:.9rem;color:var(--text-primary, #1a1a1a)}.student-progress-summary-bar-wrap{display:flex;align-items:center;gap:10px;flex:1}.student-progress-summary-bar{flex:1;height:20px;background:#e8e8e8;border-radius:4px;overflow:hidden}.student-progress-summary-bar-fill{height:100%;border-radius:4px;transition:width .2s ease}.student-progress-summary-bar-fill.progress-blank{background:#e0e0e0}.student-progress-summary-bar-fill.progress-red{background:#b71c1c}.student-progress-summary-bar-fill.progress-yellow{background:#f57f17}.student-progress-summary-bar-fill.progress-green{background:#1b5e20}.student-progress-summary-pct{font-weight:600;min-width:3ch}.student-progress-summary-pct.progress-blank{color:var(--text-muted, #666)}.student-progress-summary-pct.progress-red{color:#b71c1c}.student-progress-summary-pct.progress-yellow{color:#f57f17}.student-progress-summary-pct.progress-green{color:#1b5e20}.student-progress-content{display:flex;flex-direction:column;gap:20px}.student-progress-detail-section{margin-bottom:16px}.student-progress-detail-title{font-size:1rem;font-weight:600;margin:0 0 8px;color:var(--text-primary, #1a1a1a)}.student-progress-detail-table{width:100%;border-collapse:collapse;font-size:.9rem}.student-progress-detail-table th,.student-progress-detail-table td{padding:8px 12px;text-align:left;border:1px solid var(--border, #e8e8e8)}.student-progress-detail-table th{background:var(--surface-alt, #f5f5f5);font-weight:600}.student-progress-detail-table--centered th,.student-progress-detail-table--centered td{text-align:center}.student-progress-detail-table--centered .student-progress-label-cell,.student-progress-detail-table--centered .student-progress-progress-cell{justify-content:center}.student-progress-th-progress,.student-progress-td-progress{min-width:120px}.student-progress-label-cell{display:flex;align-items:center;gap:6px}.student-progress-label-tooltip{display:inline-flex}.student-progress-progress-cell{display:flex;align-items:center;gap:8px}.student-progress-bar{flex:1;min-width:60px;height:18px;background:#e8e8e8;border-radius:4px;overflow:hidden}.student-progress-bar-fill{height:100%;border-radius:4px;transition:width .2s ease}.student-progress-bar-fill.progress-blank{background:#e0e0e0}.student-progress-bar-fill.progress-red{background:#b71c1c}.student-progress-bar-fill.progress-yellow{background:#f57f17}.student-progress-bar-fill.progress-green{background:#1b5e20}.student-progress-pct{font-weight:600;min-width:4ch}.student-progress-pct.progress-blank{color:var(--text-muted, #666)}.student-progress-pct.progress-red{color:#b71c1c}.student-progress-pct.progress-yellow{color:#f57f17}.student-progress-pct.progress-green{color:#1b5e20}.student-progress-star{color:#f57f17}.student-progress-portal .student-progress-student--portal{margin-top:16px}.student-progress-student-body--portal{padding:10px;border-top:none}.student-progress-breakdown-track{flex:1;min-width:60px;height:20px;border-radius:4px;overflow:hidden;display:flex}.student-progress-summary-bar-wrap .progress-breakdown-track{height:20px}.student-progress-breakdown-segment{height:100%;min-width:2px;flex-shrink:0}.student-progress-report-legend{margin-bottom:16px}@media(max-width:800px){.student-progress-detail-section .cohort-table-wrap{overflow-x:clip;max-width:100%;border:none;background:transparent}.student-progress-detail-table,.student-progress-detail-table tbody,.student-progress-detail-table tr{display:block;width:100%;min-width:0}.student-progress-detail-table thead{display:none}.student-progress-detail-table{border-collapse:separate}.student-progress-detail-table tr{margin:0 0 10px;padding:8px 10px;border:1px solid var(--border, #e8e8e8);border-radius:8px;background:var(--surface, #fff);box-sizing:border-box}.student-progress-detail-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto;min-width:0;padding:4px 0;border:none;text-align:right;white-space:normal}.student-progress-detail-table td:before{content:attr(data-label);flex:1 1 auto;min-width:0;font-weight:600;text-align:left;color:var(--text-secondary, #444)}.student-progress-detail-table td.student-progress-label-cell{justify-content:flex-start;font-weight:700;padding-bottom:6px;text-align:left;overflow-wrap:anywhere}.student-progress-detail-table td.student-progress-label-cell:before{content:none}.student-progress-detail-table td.student-progress-td-progress,.student-progress-th-progress,.student-progress-td-progress{min-width:0}.student-progress-td-progress .student-progress-progress-cell,.student-progress-td-progress .student-progress-bar,.student-progress-td-progress .progress-breakdown-track{flex:1 1 96px;min-width:0;width:auto;max-width:100%}}.account-page-wrapper{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-page, #fafafa)}.account-red-bar{width:100%;height:4px;background-color:var(--border, #e8e8e8)}.account-main{width:100%;max-width:1100px;margin:0 auto;padding:32px 24px;flex:1}.account-panel{background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:12px;box-shadow:var(--shadow, 0 1px 3px rgba(0, 0, 0, .08));overflow:hidden}.account-panel-banner{background:var(--surface-alt, #f5f5f5);color:var(--text-primary, #1a1a1a);font-size:1rem;font-weight:700;letter-spacing:.04em;padding:14px 20px;text-align:left;border-bottom:1px solid var(--border, #e8e8e8)}.account-panel-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:28px 36px;padding:24px;align-items:start}@media(max-width:768px){.account-panel-body{grid-template-columns:1fr}}.account-details h3{font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 12px}.account-details .account-info{font-size:1rem;color:var(--text-primary, #1a1a1a);line-height:1.6;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.account-info-row{display:grid;grid-template-columns:minmax(100px,120px) 1fr;gap:12px 20px;align-items:baseline}.account-info-row dt{margin:0;font-size:.85rem;font-weight:600;color:var(--text-muted, #666)}.account-info-row dd{margin:0;font-size:1rem;font-weight:500;color:var(--text-primary, #1a1a1a);word-break:break-word}@media(max-width:480px){.account-info-row{grid-template-columns:1fr;gap:4px}}.account-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.account-actions a,.account-school a{font-size:.95rem;font-weight:500;color:var(--main-color)}.account-actions a:hover,.account-school a:hover{text-decoration:underline;color:var(--accent-hover, #2d8ae6)}.account-school{margin-top:8px}.account-school-embed{margin-top:0}.account-school-label{font-size:.9rem;color:var(--text-muted, #666);margin-bottom:4px}.account-school-embed>.account-school-label{margin-bottom:10px}.account-school-embed .school-location-open-maps a{color:var(--main-color);font-weight:500}.account-notifications-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border, #e8e8e8)}.account-notifications-section h4{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary, #1a1a1a)}.account-notification-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.account-notification-row .auto-approve-toggle{flex-shrink:0;align-self:center}.account-notification-copy{flex:1 1 14rem;min-width:0}.account-notification-title{margin:0 0 .25rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.account-theme-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e8e8e8)}.account-theme-section h4{font-size:.95rem;font-weight:600;color:var(--text-primary, #333);margin:0 0 10px}.account-theme-toggle{display:inline-block;padding:10px 18px;font-size:.95rem;font-weight:600;border-radius:8px;border:2px solid var(--border, #d0d0d0);background:var(--surface-alt, #f0f0f0);color:var(--text-primary, #1a1a1a);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.account-theme-toggle:hover{background:var(--control-bg, #e0e0e0);border-color:silver}.school-location-body{padding:24px}.school-location-back{margin:0 0 20px;font-size:.95rem}.school-location-back a{font-weight:500;color:var(--main-color);text-decoration:none}.school-location-back a:hover{text-decoration:underline}.school-location-status{margin:0;color:var(--text-muted, #666)}.school-location-error{margin:12px 0 0;font-size:.95rem;color:#c62828}.school-location-empty{min-height:120px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.school-location-add-btn{text-transform:none;letter-spacing:normal;font-weight:600}.school-location-result{display:flex;flex-direction:column;gap:14px}.school-location-name{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.school-location-address{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-secondary, #444)}.school-location-map-wrap{margin-top:4px;border-radius:10px;overflow:hidden;border:1px solid var(--border, #e8e8e8);max-width:100%}.school-location-map{display:block;width:100%;height:280px;border:0}.school-location-name--embed{font-size:1.05rem}.school-location-map--embed{height:248px}.school-location-empty--embed{min-height:0}.school-location-open-maps{margin:0;font-size:.95rem}.school-location-open-maps a{font-weight:500;color:var(--main-color)}.first-login-card{max-width:520px}.first-login-section{margin-top:1.25rem;text-align:left}.first-login-section-title{margin:0 0 .5rem;font-size:1.05rem}.first-login-muted{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted, #666)}.first-login-rules{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.88rem}.first-login-rules li{display:flex;align-items:center;gap:8px;color:#888}.first-login-rules li.met{color:#1b5e20;font-weight:500}.first-login-check{color:#2e7d32;width:14px}.first-login-submit{margin-top:1rem;width:100%}.first-login-sig-wrap{margin-top:.5rem}.signature-canvas-surface{width:100%;max-width:480px;height:auto;border:1px solid var(--border, #ccc);border-radius:8px;touch-action:none;display:block}.signature-canvas-clear{margin-top:8px}.student-skill-sheets{min-width:0;max-width:100%;overflow-x:clip}.student-skill-sheets-cards{display:none;list-style:none;margin:0;padding:0}.student-skill-sheet-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--surface, #fff)}.student-skill-sheet-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;width:100%}.student-skill-sheet-card-head strong{overflow-wrap:anywhere}.student-skill-sheet-result{font-size:.82rem;font-weight:700;color:#9a3412}.student-skill-sheet-result--pass{color:#166534}.student-skill-sheet-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;width:100%;margin:0;font-size:.9rem}.student-skill-sheet-meta dt{margin:0;color:var(--text-muted, #666);font-weight:600}.student-skill-sheet-meta dd{margin:0;overflow-wrap:anywhere}.student-skill-sheets-table .cohort-filter-btn,.student-skill-sheet-card .cohort-filter-btn,.student-skill-sheet-detail .cohort-modal-actions .cohort-filter-btn{width:auto;flex:0 0 auto}.student-skill-sheet-detail{max-width:min(560px,calc(100vw - 24px));overflow-x:clip}.student-skill-sheet-detail .cohort-modal-title{overflow-wrap:anywhere}.student-skill-sheet-criteria{list-style:none;margin:16px 0 0;padding:0;border:1px solid var(--border, #e5e7eb);border-radius:8px;min-width:0}.student-skill-sheet-criteria li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb);min-width:0}.student-skill-sheet-criteria li:last-child{border-bottom:0}.student-skill-sheet-criteria-name,.student-skill-sheet-criteria-score{margin:0;overflow-wrap:anywhere}.student-skill-sheet-criteria-name{font-weight:600}.student-skill-sheet-criteria-score{color:var(--text-secondary, #555);font-size:.875rem;font-variant-numeric:tabular-nums}@media(max-width:800px){.student-skill-sheets-table{display:none}.student-skill-sheets-cards{display:flex;flex-direction:column;gap:12px}.student-skill-sheet-card .cohort-filter-btn{align-self:center;width:auto;max-width:max-content}}body.planner-phone-app .student-skill-sheet-card .cohort-filter-btn,body.planner-native-app .student-skill-sheet-card .cohort-filter-btn{width:auto;max-width:max-content;align-self:center}html[data-theme=dark] .student-skill-sheet-card,html[data-theme=dark] .student-skill-sheet-criteria{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .student-skill-sheet-criteria li{border-bottom-color:var(--border)}html[data-theme=dark] .student-skill-sheet-result--pass{color:#86efac}html[data-theme=dark] .student-skill-sheet-result{color:#fdba74}
