@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap);html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{background:#f3f5f6;color:#23272f;font-family:IBM Plex Sans,Inter,Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;letter-spacing:.01em;line-height:1.7}.App{background:none;min-height:100vh}.modern-card{background:#fffffffa;border:none;border-radius:14px;box-shadow:0 2px 12px 0 #1e293b0a;margin-bottom:18px;padding:32px 28px;position:relative}.modern-container{margin:0 auto;max-width:1240px;padding:48px 32px}.modern-container-narrow{margin:0 auto;max-width:820px;padding:48px 32px}.modern-title{color:#181c23;font-family:IBM Plex Sans,Inter,sans-serif;font-size:2.2rem;font-weight:600;letter-spacing:-.01em;line-height:1.13;margin:0 0 10px}.modern-subtitle{color:#7b8494;font-size:1.15rem;font-weight:400;letter-spacing:.01em;margin:0 0 36px}.modern-heading{color:#23272f;font-family:IBM Plex Sans,Inter,sans-serif;font-size:1.18rem;font-weight:500;letter-spacing:-.01em;margin:0 0 14px}.modern-section-title{border-radius:8px;font-size:1.08rem;font-weight:600;margin-bottom:18px;padding:8px 18px}.modern-button,.modern-section-title{background:#f6f8fa;color:#23272f;letter-spacing:.01em}.modern-button{align-items:center;appearance:none;-webkit-appearance:none;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:none;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;padding:11px 22px;text-decoration:none;transition:background .14s,color .14s,border .14s,box-shadow .14s}.modern-button:hover{background:#e2e8f0;border-color:#cbd5e1;color:#181c23}.modern-button:disabled{background:#f1f5f9;box-shadow:none;color:#b6bdc6;cursor:not-allowed}.modern-button-secondary{background:#f6f8fa;border:1.5px solid #e2e8f0;color:#475569;font-weight:500}.modern-button-secondary:hover{background:#e2e8f0;border-color:#cbd5e1;color:#23272f}.modern-button-danger{background:#fff5f5;border:1.5px solid #fca5a5;color:#dc2626}.modern-button-danger:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}.modern-button-success{background:#f0fdf4;border:1.5px solid #bbf7d0;color:#059669}.modern-button-success:hover{background:#dcfce7;border-color:#34d399;color:#047857}.modern-button-warning{background:#fefce8;border:1.5px solid #fde68a;color:#b45309}.modern-button-warning:hover{background:#fef3c7;border-color:#fbbf24;color:#92400e}.modern-input,.modern-select,.modern-textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;font-family:IBM Plex Sans,Inter,sans-serif;font-size:1rem;letter-spacing:.01em;padding:13px 16px;transition:border-color .14s,box-shadow .14s}.modern-input:focus,.modern-select:focus,.modern-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb12;outline:none}.modern-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 1px 4px 0 #1e293b08;overflow:hidden;width:100%}.modern-table th{background:#f6f8fa;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:500;text-align:left}.modern-table td,.modern-table th{font-size:1rem;letter-spacing:.01em;padding:15px}.modern-table td{border-bottom:1px solid #f1f5f9;color:#23272f}.modern-table tr:hover{background:#f6f8fa}.modern-table tr:last-child td{border-bottom:none}.modern-badge{background:#f6f8fa;border-radius:18px;color:#23272f;font-size:.92rem;font-weight:500;letter-spacing:.06em;padding:4px 12px;text-transform:uppercase}.modern-badge-success{background:#e6fbe8;color:#059669}.modern-badge-warning{background:#fef9c3;color:#b45309}.modern-badge-error{background:#fee2e2;color:#991b1b}.modern-badge-info{background:#dbeafe;color:#1e40af}.modern-user-tag{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;display:inline-flex;font-size:14px;gap:8px;margin:4px;padding:8px 12px;transition:all .2s ease-in-out}.modern-user-tag:hover{background:#e2e8f0;transform:translateY(-1px)}.modern-user-tag-removable{padding-right:32px;position:relative}.modern-user-tag-remove{align-items:center;background:none;border:none;color:#ef4444;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:16px;justify-content:center;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:16px}.course-detail-lesson-card{background:#fff;border-bottom:1px solid #eef2f6;border-radius:0;box-shadow:none;cursor:grab;margin-bottom:0;padding:13px 18px;transition:background .12s ease,box-shadow .12s ease,opacity .12s ease}.course-detail-lessons-panel .course-detail-lesson-card:last-child,.course-detail-onboarding-panel .course-detail-lesson-card:last-child{border-bottom:none}.course-detail-lesson-expanded{border-top:1px solid #eef2f6;margin-top:12px;padding:16px 0}.course-detail-lesson-header{align-items:center;display:flex;gap:12px}.modern-list-row-with-action{position:relative}.modern-list-row-with-action .modern-icon-button-danger{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.course-detail-lesson-card--dragging{opacity:.6}.course-detail-lesson-card--drag-over{background:#f0f4ff!important;box-shadow:inset 0 0 0 2px #4f46e5}.course-detail-lesson-header-main{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-wrap:wrap;font-size:18px;font-weight:700;gap:8px;min-width:0}.course-detail-lesson-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.course-detail-lesson-header-delete{border-left:1px solid #e2e8f0;flex-shrink:0;margin-left:8px;padding-left:16px}.course-detail-lesson-header-delete .modern-icon-button-danger{opacity:1;pointer-events:auto;visibility:visible}.modern-list-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.modern-list-row{align-items:center;border-bottom:1px solid #eef2f6;display:flex;gap:12px;justify-content:space-between;padding:13px 18px;transition:background .12s ease}.modern-list-row:last-child{border-bottom:none}.modern-list-row-clickable{cursor:pointer}.modern-list-row-clickable:hover{background:#f8fafc}.modern-hover-reveal .modern-icon-button-danger,.modern-list-row .modern-icon-button-danger{opacity:0;pointer-events:none;transition:opacity .12s ease,visibility .12s ease;visibility:hidden}.modern-hover-reveal:focus-within .modern-icon-button-danger,.modern-hover-reveal:hover .modern-icon-button-danger,.modern-list-row:focus-within .modern-icon-button-danger,.modern-list-row:hover .modern-icon-button-danger{opacity:1;pointer-events:auto;visibility:visible}.modern-list-row-label{color:#1e293b;flex:1 1;font-size:.95rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-list-empty{color:#64748b;font-size:.95rem;font-style:italic;padding:18px}.modern-icon-button{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:background .12s ease;width:32px}.modern-icon-button:disabled{cursor:not-allowed;opacity:.45}.modern-icon-button img{display:block;height:16px;opacity:.7;width:16px}.modern-icon-button-danger:hover:not(:disabled){background:#fef2f2}.modern-icon-button-danger:hover:not(:disabled) img{opacity:1}.modern-list-footer{margin-top:16px}.modern-grid{grid-gap:24px;display:grid;gap:24px}.modern-grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.modern-grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.modern-flex{display:flex}.modern-flex-col{flex-direction:column}.modern-flex-wrap{flex-wrap:wrap}.modern-items-center{align-items:center}.modern-justify-between{justify-content:space-between}.modern-gap-2{gap:8px}.modern-gap-4{gap:16px}.modern-gap-6{gap:24px}.modern-mb-4{margin-bottom:16px}.modern-mb-6{margin-bottom:24px}.modern-mb-8{margin-bottom:32px}.modern-mt-4{margin-top:16px}.modern-mt-6{margin-top:24px}.modern-mt-8{margin-top:32px}.modern-modal-overlay{align-items:center;background:#1e293b1a;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modern-modal{align-items:stretch;background:#fff;border-radius:14px;box-shadow:0 2px 24px 0 #1e293b14;display:flex;flex-direction:column;max-width:420px;min-width:320px;padding:32px 28px;position:relative}.modern-modal-close{background:none;border:none;color:#b6bdc6;cursor:pointer;font-size:1.6rem;position:absolute;right:18px;top:18px;transition:color .14s}.modern-modal-close:hover{color:#23272f}.modern-loading{align-items:center;color:#64748b;display:flex;font-size:1.1rem;justify-content:center;min-height:60px}.modern-loading:after{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;content:"";height:20px;margin-left:12px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modern-error{background:#fff5f5;border:1.5px solid #fca5a5;border-radius:8px;color:#dc2626}.modern-error,.modern-success{font-size:1rem;margin-bottom:12px;padding:10px 16px}.modern-success{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:8px;color:#059669}@media (max-width:768px){.modern-container,.modern-container-narrow{padding:18px 6px}.modern-card{padding:18px 8px}.modern-table td,.modern-table th{padding:8px}.modern-modal{max-width:98vw;min-width:0;padding:18px 8px}}.modern-flex .modern-button:not(:last-child){margin-right:14px}.modern-button-danger{margin-left:18px!important}.modern-button.modern-button-brand{background-color:#193226;border:1.5px solid #193226;border-left:3px solid #53da89;color:#f3f5f6;font-weight:600}.modern-button.modern-button-brand:focus-visible,.modern-button.modern-button-brand:hover{background-color:#30483c;border-color:#30483c #30483c #30483c #53da89;color:#f3f5f6}.modern-button.modern-button-brand:disabled{background-color:#30483c;border-color:#30483c;color:#f3f5f6a6;opacity:.7}.modern-date{color:#7b8494;font-size:.98rem;font-weight:500;letter-spacing:.01em}.modern-form-section{background:#f6f8fa;border-radius:10px;box-shadow:0 1px 4px 0 #1e293b05;margin-bottom:18px;padding:28px 22px}.modern-question-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px 0 #1e293b08;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:24px 20px}.modern-question-title{color:#23272f;font-size:1.12rem;font-weight:600;margin-bottom:6px}.modern-question-subtitle{color:#7b8494;font-size:1rem;margin-bottom:4px}.modern-question-answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.modern-question-answer{background:#f6f8fa;border:1.5px solid #e2e8f0;border-radius:8px;color:#23272f;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 18px;transition:background .14s,border .14s}.modern-question-answer.correct{background:#e6fbe8;border-color:#bbf7d0;color:#059669}.modern-question-answer.selected{background:#dbeafe;border-color:#3b82f6;color:#2563eb}.modern-question-answer:hover{background:#e2e8f0}.dashboard-layout{display:flex;min-height:100vh}.dashboard-sidebar{background:#193226;border-right:1px solid #14281f;display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;position:sticky;top:0;width:260px;z-index:40}.dashboard-sidebar-header{border-bottom:1px solid #ffffff14;padding:24px 20px 16px}.dashboard-brand{color:#f3f5f6;font-size:1.25rem;font-weight:700}.dashboard-brand-sub{color:#f3f5f6a6;font-size:.85rem;margin-top:2px}.dashboard-nav{flex:1 1;padding:12px 10px}.dashboard-sidebar-with-analytics .dashboard-nav{display:flex;flex:1 1;flex-direction:column;min-height:0;padding-bottom:4px}.dashboard-sidebar-with-analytics .dashboard-nav>.dashboard-nav-item-active{margin-bottom:0}.analytics-back-link{background:none;border:none;color:#64748b;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;margin:0 0 16px;padding:0;text-decoration:none}.analytics-back-link:hover{color:#193226;text-decoration:underline}.analytics-kpi-meta-value{color:#193226;font-size:1rem;font-weight:600;line-height:1.35;margin-top:6px;word-break:break-word}.analytics-kpi-card--centered{align-items:center;display:flex;flex-direction:column;text-align:center}.analytics-kpi-card--locked{opacity:.65}.analytics-list-row-points{color:#193226;flex-shrink:0;font-size:1rem;font-weight:700}.analytics-expand-link{background:none;border:none;color:#64748b;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;margin:8px 0 24px;padding:0;text-decoration:none}.analytics-expand-link:hover{color:#193226;text-decoration:underline}.bootcamp-page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.bootcamp-user-lists{margin-top:10px}.bootcamp-user-list-group{margin-top:6px}.bootcamp-checkpoint-panel{padding:18px 20px}.bootcamp-checkpoint-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.bootcamp-checkpoint-title-wrap{flex:1 1;min-width:0}.bootcamp-checkpoint-title{color:#111827;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0}.bootcamp-checkpoint-subtitle{color:#64748b;display:block;font-size:.875rem;font-weight:500;margin-top:4px}.bootcamp-checkpoint-status{border-radius:999px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.bootcamp-checkpoint-status--open{background-color:#10b981}.bootcamp-checkpoint-status--closed{background-color:#f59e0b}.bootcamp-checkpoint-status--locked{background-color:#9ca3af}.bootcamp-checkpoint-dates{color:#64748b;font-size:.875rem;margin-bottom:12px}.bootcamp-reflections-section{display:flex;flex-direction:column;gap:16px}.bootcamp-reflections-section .analytics-ranked-group{margin-bottom:0}.bootcamp-reflection-lesson-panel .bootcamp-reflection-lesson-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;padding:14px 16px}.bootcamp-reflection-lesson-panel .bootcamp-reflection-lesson-header .analytics-ranked-group-title{margin-bottom:0}.bootcamp-reflection-lesson-panel .bootcamp-reflection-lesson-body{border-top:1px solid #eef2f6;margin-bottom:0}.bootcamp-reflection-lesson-error,.bootcamp-reflection-lesson-panel .modern-list-empty{padding:14px 16px}.bootcamp-reflection-question-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:0}.bootcamp-reflection-questions-panel{overflow:hidden;padding:0}.bootcamp-reflection-questions-panel .bootcamp-reflection-question{border-bottom:1px solid #64748b1f;margin-bottom:0;padding:14px 16px}.bootcamp-reflection-questions-panel .bootcamp-reflection-question:last-child{border-bottom:none}.bootcamp-reflection-questions-panel .bootcamp-reflection-question-title{flex:1 1;min-width:0}.bootcamp-reflection-questions-panel .bootcamp-reflection-panel{margin-top:10px}.bootcamp-reflection-question{margin-bottom:16px}.bootcamp-reflection-question:last-child{margin-bottom:0}.bootcamp-reflection-question-title{color:#475569;font-size:.875rem;font-weight:600;margin:0 0 8px}.bootcamp-reflection-category{margin-bottom:12px}.bootcamp-reflection-category:last-child{margin-bottom:0}.bootcamp-reflection-category-label{color:#64748b;font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:6px;text-transform:uppercase}.bootcamp-reflection-panel{margin-bottom:0}.bootcamp-reflection-entry{border-bottom:1px solid #64748b1f;padding:12px 16px}.bootcamp-reflection-entry:last-child{border-bottom:none}.bootcamp-reflection-meta{color:#94a3b8;font-size:.78rem;margin-bottom:6px;margin-top:2px}.bootcamp-reflection-text{color:#334155;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.bootcamp-user-list-tags{margin-top:6px}.dashboard-analytics-control{flex:1 1;min-height:0;overflow-y:auto}.dashboard-analytics-path{display:flex;flex-direction:column}.dashboard-analytics-path .dashboard-nav-item{margin-bottom:0}.dashboard-nav-item-breadcrumb{background:#30483c47;border:none;border-left:3px solid #53da8961;border-radius:0 8px 8px 0;color:#f3f5f6b8;font-size:.86rem;padding:7px 12px 7px 11px;text-align:left;width:100%}button.dashboard-nav-item{border:none;border-left:3px solid #0000;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left;width:100%}button.dashboard-nav-item-breadcrumb{border-left:3px solid #53da8961;font-size:.86rem}button.dashboard-nav-item-breadcrumb:hover:not(:disabled){background:#30483c70;color:#f3f5f6e0}button.dashboard-nav-item-breadcrumb:disabled{cursor:default;opacity:1}.dashboard-nav-item{border-left:3px solid #0000;border-radius:0 8px 8px 0;color:#f3f5f6d1;display:block;font-weight:500;margin-bottom:4px;padding:10px 14px 10px 11px;text-decoration:none;transition:background .12s,color .12s,border-color .12s}.dashboard-nav-item:hover{background:#30483c8c;color:#f3f5f6}.dashboard-nav-item-active{background:#30483c;border-left-color:#53da89;color:#f3f5f6}.dashboard-nav-link-secondary{border-radius:6px;color:#f3f5f6a6;display:block;font-size:.9rem;padding:8px 14px;text-decoration:none}.dashboard-nav-link-secondary:hover{background:#30483c8c;color:#f3f5f6}.dashboard-sidebar-footer{border-top:1px solid #ffffff14;display:flex;flex-direction:column;flex-shrink:0;gap:6px;padding:16px 14px 20px}.dashboard-footer-btn{background:#30483cbf;border:none;border-radius:8px;color:#f3f5f6;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 14px;text-align:left;width:100%}.dashboard-footer-btn:hover{background:#30483c}.dashboard-footer-btn-muted{background:#0000;color:#f3f5f6a6}.dashboard-footer-btn-muted:hover{background:#30483c8c;color:#f3f5f6}.dashboard-main{background:#f3f5f6;flex:1 1;max-height:100vh;min-width:0;overflow-y:auto}.dashboard-page{max-width:1280px;padding:32px 40px 48px}.analytics-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:28px}.analytics-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px}.analytics-kpi-label{color:#64748b;font-size:.8rem;font-weight:500;line-height:1.3;margin-bottom:8px}.analytics-kpi-value{color:#193226;font-size:1.75rem;font-weight:700;line-height:1.1}.analytics-kpi-section{margin-bottom:24px}.analytics-ranked-list-wrap{align-items:stretch;display:flex;margin-bottom:20px}.analytics-ranked-axis{background:#fff;border:1px solid #e2e8f0;border-radius:10px 0 0 10px;border-right:none;flex-shrink:0;position:relative;width:64px}.analytics-ranked-axis-label{color:#64748b;font-size:.62rem;font-weight:600;left:50%;letter-spacing:.03em;line-height:1.25;position:absolute;text-align:center;text-transform:uppercase;width:56px}.analytics-ranked-axis-label--top{top:50%;top:calc(50%/var(--list-rows, 1));transform:translate(-50%,-50%)}.analytics-ranked-axis-label--bottom{bottom:50%;bottom:calc(50%/var(--list-rows, 1));transform:translate(-50%,50%)}.analytics-ranked-axis-line{background:#cbd5e1;border-radius:1px;bottom:calc(50% + 14px);bottom:calc(50%/var(--list-rows, 1) + 14px);left:50%;position:absolute;top:calc(50% + 14px);top:calc(50%/var(--list-rows, 1) + 14px);transform:translateX(-50%);width:2px}.analytics-ranked-list-panel{border-radius:0 10px 10px 0;flex:1 1;min-width:0}.analytics-ranked-group{margin-bottom:24px}.analytics-ranked-group:last-child{margin-bottom:0}.analytics-ranked-group-title{color:#334155;font-size:.95rem;font-weight:600;margin:0 0 10px}.analytics-list-row-leading{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.analytics-list-row-leading .modern-list-row-label{flex:1 1}.analytics-list-row-activity-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.analytics-section-heading{font-weight:700}.analytics-list-row-meta{align-items:center;display:flex;flex-shrink:0;gap:16px}.analytics-list-row-meta--stats{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:124px 220px 130px}.analytics-list-row-meta--stats .analytics-list-row-stat{min-width:0;overflow:hidden;width:auto}.analytics-ranked-list-panel .modern-list-row{padding-right:22px}.analytics-list-row-stat{align-items:center;display:flex;flex-shrink:0;gap:8px}.analytics-list-row-stat--reflections{width:124px}.analytics-list-row-stat--checkpoints{width:220px}.analytics-list-row-stat--activity{flex-shrink:0;width:124px}.analytics-list-row-stat-icon{flex-shrink:0;height:16px;opacity:.72;width:16px}.analytics-list-row-stat-text{font-size:.85rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-list-row-stat-value{color:#475569;font-weight:600}.analytics-list-row-stat-label{color:#94a3b8;font-weight:500;margin-left:4px}.analytics-kpi-card-with-bar{display:flex;flex-direction:column}.analytics-kpi-card-with-bar .analytics-kpi-value{margin-bottom:12px}.analytics-proportion{margin-top:auto}.analytics-proportion-label{color:#64748b;font-size:.72rem;line-height:1.3;margin-bottom:6px}.analytics-proportion-track{background:#e2e8f0;border-radius:4px;display:flex;height:8px;overflow:hidden}.analytics-proportion-track-stacked{background:#0000}.analytics-proportion-fill,.analytics-proportion-remainder,.analytics-proportion-segment{height:100%;min-width:0;transition:width .2s ease}.analytics-proportion-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.analytics-proportion-legend-item{align-items:center;color:#64748b;display:inline-flex;font-size:.7rem;gap:5px;line-height:1.2}.analytics-proportion-legend-swatch{border-radius:2px;flex-shrink:0;height:8px;width:8px}.dashboard-hierarchy{flex:1 1;overflow-y:auto;padding:8px 10px}.dashboard-hierarchy-section{margin-bottom:16px}.dashboard-hierarchy-section[data-depth="0"]{padding-left:10px}.dashboard-hierarchy-section[data-depth="1"]{padding-left:14px}.dashboard-hierarchy-section[data-depth="2"]{padding-left:28px}.dashboard-hierarchy-section[data-depth="3"]{padding-left:42px}.dashboard-hierarchy-title{color:#f3f5f673;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:0 8px 6px;text-transform:uppercase}.dashboard-hierarchy-locked{background:#30483c;border-left:3px solid #53da89;border-radius:0 8px 8px 0;color:#f3f5f6;font-size:.95rem;font-weight:600;margin:0 4px;padding:8px 12px 8px 9px}.dashboard-hierarchy-list{display:flex;flex-direction:column;gap:2px}.dashboard-hierarchy-item{background:#0000;border:none;border-left:3px solid #0000;border-radius:0 8px 8px 0;color:#f3f5f6d1;cursor:pointer;display:block;font-size:.92rem;font-weight:500;padding:8px 12px 8px 9px;text-align:left;width:100%}.dashboard-hierarchy-item:hover{background:#30483c8c;color:#f3f5f6}.dashboard-hierarchy-item-active{background:#30483c;border-left-color:#53da89;color:#f3f5f6}.dashboard-hierarchy-loading{color:#f3f5f6a6;font-size:.9rem;padding:16px}.dashboard-mobile-toggle{background:#193226;border:1px solid #30483c;border-radius:8px;color:#f3f5f6;cursor:pointer;display:none;font-size:1.1rem;left:12px;padding:8px 12px;position:fixed;top:12px;z-index:50}.dashboard-mobile-toggle-hidden{pointer-events:none;visibility:hidden}.dashboard-mobile-overlay{display:none}.bootcamp-calendar-wrap{background:#fff;border:none;overflow:hidden;padding:0!important}.bootcamp-schedule-section{margin-bottom:64px;position:relative;z-index:2}.bootcamp-schedule-filters-card{overflow:visible}.bootcamp-schedule-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px 24px;overflow:visible}.bootcamp-schedule-filter-field{display:flex;flex:1 1 260px;flex-direction:column;gap:6px;max-width:360px;min-width:260px}.bootcamp-schedule-filter-field label{color:#64748b;font-size:13px;font-weight:500}.bootcamp-schedule-select{cursor:pointer;min-height:48px;padding-right:36px;width:100%}.bootcamp-schedule-select:disabled{cursor:not-allowed;opacity:.7}.bootcamp-schedule-teams-panel{min-height:140px}.bootcamp-schedule-teams-list{overflow:hidden;padding:0}.bootcamp-schedule-teams-placeholder{color:#64748b;padding:28px 32px}.bootcamp-schedule-region-group+.bootcamp-schedule-region-group{border-top:1px solid #e2e8f0}.bootcamp-schedule-region-header{align-items:center;background:#fff;border:none;border-bottom:1px solid #0000;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:16px 24px;text-align:left;transition:background .12s ease;width:100%}.bootcamp-schedule-region-group:not(.is-open) .bootcamp-schedule-region-header{border-bottom:none}.bootcamp-schedule-region-group.is-open .bootcamp-schedule-region-header{background:#f8fafc;border-bottom-color:#e2e8f0}.bootcamp-schedule-region-header:hover{background:#f8fafc}.bootcamp-schedule-region-chevron{color:#94a3b8;flex-shrink:0;font-size:12px;width:14px}.bootcamp-schedule-region-title{color:#1e293b;flex:1 1;font-size:15px;font-weight:700;min-width:0}.bootcamp-schedule-region-count{color:#64748b;flex-shrink:0;font-size:13px;font-weight:500}.bootcamp-schedule-region-teams{background:#fff}.bootcamp-schedule-team-row{align-items:flex-start;border-bottom:1px solid #eef2f6;display:flex;gap:16px;justify-content:space-between;padding:18px 24px}.bootcamp-schedule-region-group:last-child .bootcamp-schedule-team-row:last-child{border-bottom:none}.bootcamp-schedule-team-main{flex:1 1;min-width:0}.bootcamp-schedule-team-name{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:4px}.bootcamp-schedule-team-status{font-size:14px;font-weight:600;margin-bottom:4px}.bootcamp-schedule-team-status.is-active{color:#166534}.bootcamp-schedule-team-status.is-upcoming{color:#b45309}.bootcamp-schedule-team-meta{color:#64748b;font-size:14px}.bootcamp-schedule-team-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.bootcamp-schedule-btn-overview{min-width:148px}.bootcamp-schedule-btn-schedule{font-weight:600;min-width:148px}.bootcamp-calendar-section{position:relative;z-index:1}.bootcamp-calendar-scroll{background:#fff;overflow-x:auto;padding:20px}.bootcamp-calendar-filter-input:focus,.bootcamp-calendar-month-input:focus{border-color:#53da89;box-shadow:0 0 0 2px #53da8926}.bootcamp-calendar-filter-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234a6356' d='M1.5 1.5 6 6l4.5-4.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2.25rem}.bootcamp-calendar-header,.bootcamp-calendar-row{align-items:stretch;display:grid;min-width:max-content}.bootcamp-calendar-days-row{border-bottom:1px solid #d8e8de;margin-bottom:8px}.bootcamp-calendar-corner{min-width:180px}.bootcamp-calendar-month{background:#eef5f0;border-bottom:1px solid #d8e8de;color:#193226;font-size:.85rem;font-weight:600;padding:8px 4px;text-align:center}.bootcamp-calendar-day{background:#f4f8f5;border-right:1px solid #e3ece6;color:#4a6356;font-size:.75rem;padding:6px 2px;text-align:center}.bootcamp-calendar-row{margin-bottom:4px;min-height:44px}.bootcamp-calendar-client-group{margin-bottom:10px}.bootcamp-calendar-client-group+.bootcamp-calendar-client-group{border-top:1px solid #d8e8de;margin-top:14px;padding-top:4px}.bootcamp-calendar-client-header{align-items:center;display:grid;margin-bottom:4px;min-width:max-content}.bootcamp-calendar-client-name{color:#193226;font-size:.9rem;font-weight:700;padding:2px 12px 2px 0}.bootcamp-calendar-client-divider{background:#d8e8de;height:1px;margin-left:4px}.bootcamp-calendar-course-group{margin-bottom:6px}.bootcamp-calendar-course-group+.bootcamp-calendar-course-group{margin-top:8px}.bootcamp-calendar-course-header{align-items:center;display:grid;margin-bottom:2px;min-width:max-content}.bootcamp-calendar-course-name{color:#30483c;font-size:.8rem;font-weight:600;padding:2px 12px 2px 8px}.bootcamp-calendar-course-divider{background:#e3ece6;height:1px;margin-left:4px}.bootcamp-calendar-row-compact{margin-bottom:2px;min-height:30px}.bootcamp-calendar-row-label-compact{display:flex;flex-direction:column;gap:0;justify-content:center;line-height:1.25}.bootcamp-calendar-course{color:#334155;font-size:12px;font-weight:600}.bootcamp-calendar-course,.bootcamp-calendar-team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootcamp-calendar-team{color:#4a6356;font-size:11px}.bootcamp-calendar-timeline-compact{min-height:28px}.bootcamp-calendar-bar-compact{font-size:.65rem;height:22px;margin:2px 0}.bootcamp-calendar-row-label{display:flex;flex-direction:column;justify-content:center;padding:8px 12px 8px 0}.bootcamp-calendar-row-label.bootcamp-calendar-row-label-compact{padding:2px 12px 2px 8px}.bootcamp-calendar-timeline{align-items:center;background:repeating-linear-gradient(90deg,#f4f8f5,#f4f8f5 calc(3.33333% - 1px),#e3ece6 calc(3.33333% - 1px),#e3ece6 3.33333%);background:repeating-linear-gradient(90deg,#f4f8f5 0,#f4f8f5 calc(100%/var(--day-count, 30) - 1px),#e3ece6 calc(100%/var(--day-count, 30) - 1px),#e3ece6 calc(100%/var(--day-count, 30)));display:grid;min-height:36px;position:relative}.bootcamp-calendar-bar{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;font-weight:600;height:28px;justify-content:center;margin:4px 0;z-index:1}.bootcamp-calendar-bar-active{background:linear-gradient(90deg,#53da89,#6e9277)}.bootcamp-calendar-bar-upcoming{background:#a8b89f;color:#193226}.bootcamp-calendar-bar-completed{background:#8fa896}@media (max-width:768px){.dashboard-mobile-toggle{display:block}.dashboard-sidebar{box-shadow:4px 0 24px #00000014;height:100vh;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .2s ease;z-index:45}.dashboard-sidebar-open{transform:translateX(0)}.dashboard-sidebar-header{flex-shrink:0}.dashboard-nav{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto}.dashboard-mobile-overlay{background:#0000004d;border:none;cursor:pointer;display:block;inset:0;position:fixed;z-index:40}.dashboard-main{padding-top:48px}.dashboard-page{padding:20px 16px 32px}}
/*# sourceMappingURL=main.8ae7b78d.css.map*/