:root{font-family:Arial,sans-serif;line-height:1.4;font-weight:400;--app-nav-bar-height: 72px;--color-bg-app: #f3f4f6;--color-surface: #ffffff;--color-surface-subtle: #f9fafb;--color-surface-muted: #f8fafc;--color-surface-disabled: #f3f4f6;--color-surface-selected: #eff6ff;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-tertiary: #4b5563;--color-text-muted: #6b7280;--color-text-subtle: #64748b;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-border-muted: #cbd5e1;--color-border-emphasis: #94a3b8;--color-border-hover: #9ca3af;--color-accent-strong: #1e3a5f;--color-accent-soft-bg: #eef3f8;--color-accent-soft-border: #c7d3e0;--color-brand: #2563eb;--color-highlight-gold: #c69214;--color-focus-default: #93c5fd;--color-focus-accent: #5eead4;--color-danger: #b91c1c;--color-danger-hover: #991b1b;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 12px 30px rgba(0, 0, 0, .12);--shadow-hover: 0 8px 18px rgba(17, 24, 39, .08);--shadow-popover: 0 10px 24px rgba(15, 23, 42, .14);--shadow-selected: 0 0 0 2px rgba(37, 99, 235, .18);--shadow-slider: 0 1px 2px rgba(15, 23, 42, .18), 0 2px 6px rgba(15, 23, 42, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-app);color:var(--color-text-primary)}#root{min-height:100vh}.auth-layout,.private-layout{min-height:100vh;display:grid;place-items:center;padding:1rem}.private-layout{min-height:calc(100vh - var(--app-nav-bar-height));align-content:start;justify-items:center;padding:calc(var(--app-nav-bar-height) + 1rem) 1rem 1rem}.card{width:min(1100px,100%);padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card h2{margin:0 0 1rem;font-size:1.1rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header h2{margin:0}@media(max-width:600px){.private-layout.course-dashboard,.private-layout.training-module-page,.private-layout.test-attempt-page{gap:.75rem;padding:calc(var(--app-nav-bar-height) + .5rem) .5rem .5rem}.course-dashboard>.card,.training-module-page>.training-module-card,.test-attempt-page>.test-attempt-card{padding:1rem;border-radius:var(--radius-md);box-shadow:none}}@media(max-width:440px){.private-layout.course-dashboard,.private-layout.training-module-page,.private-layout.test-attempt-page{padding-right:0;padding-left:0}.training-module-page>.training-module-card,.test-attempt-page>.test-attempt-card{padding:.75rem;border-radius:0}}.auth-card{width:min(420px,100%);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.auth-card h1{margin:0;font-size:1.2rem}.auth-card button{border:0;border-radius:var(--radius-sm);padding:.7rem .9rem;background:var(--color-text-primary);color:var(--color-surface);font-size:1rem;cursor:pointer}.auth-card button:disabled{opacity:.65;cursor:not-allowed}.form-field,.create-form{display:flex;flex-direction:column}.form-field{gap:.4rem}.form-field label{font-size:.9rem}.form-field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font-size:1rem}.form-field input:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.create-form{gap:1rem}.error-text,.info-text{margin:0}.error-text{color:var(--color-danger);font-size:.9rem}.info-text{color:var(--color-text-secondary)}.editor-actions,.dashboard-editor-actions{display:flex;align-items:center;width:100%}.editor-actions{justify-content:space-between}.dashboard-editor-actions{justify-content:flex-end}.add-button,.secondary-button,.row-action-button,.create-submit-button,.editor-delete-button{cursor:pointer}.add-button,.secondary-button,.row-action-button{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary)}.add-button:hover,.secondary-button:hover,.row-action-button:hover{background:var(--color-surface-subtle)}.add-button:focus-visible,.secondary-button:focus-visible,.row-action-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.add-button{width:40px;height:40px;border-radius:var(--radius-md);font-size:1.6rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.secondary-button{border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.9rem}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.create-submit-button{border:0;border-radius:var(--radius-sm);padding:.7rem .9rem;min-width:180px;width:fit-content;background:var(--color-text-primary);color:var(--color-surface);font-size:.95rem}.create-submit-button:disabled,.editor-delete-button:disabled{opacity:.5}.editor-delete-button{border:0;border-radius:var(--radius-sm);padding:.7rem .9rem;min-width:140px;background:var(--color-danger);color:var(--color-surface);font-size:.95rem}.editor-delete-button:hover{background:var(--color-danger-hover)}.row-action-button{min-width:38px;height:32px;border-radius:var(--radius-sm);line-height:1}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--color-border)}.table th,.table td{text-align:left;padding:.65rem .75rem;border:1px solid var(--color-border);vertical-align:top}.table th{font-weight:600;background:var(--color-surface-subtle)}.table th.table-kpi-group-start,.table td.table-kpi-group-start{border-left-width:3px;border-left-color:var(--color-border-emphasis)}.table th.table-kpi-group-end,.table td.table-kpi-group-end{border-right-width:3px;border-right-color:var(--color-border-emphasis)}.table-evolution-negative{color:var(--color-danger)}.table-total-row td{font-weight:700;background:var(--color-surface-muted);border-top-width:2px}.table-fit-content{width:max-content;table-layout:auto}.table-fit-content th,.table-fit-content td{white-space:nowrap}.dashboard-list,.dashboard-items-section,.dashboard-items-list,.dashboard-embedded-table-list,.dashboard-embedded-table-content{display:flex;flex-direction:column}.dashboard-list{gap:.75rem}.dashboard-list-item{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.8rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.dashboard-list-item:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.dashboard-list-item:focus-visible,.dashboard-breadcrumb-link:focus-visible,.dashboard-item-create-button:focus-visible{outline:2px solid var(--color-focus-default)}.dashboard-list-item:focus-visible,.dashboard-breadcrumb-link:focus-visible{outline-offset:2px}.dashboard-list-item-name{font-size:.98rem;font-weight:600;color:var(--color-text-primary)}.dashboard-list-item-chevron{color:var(--color-text-muted);font-size:1rem;font-weight:700}.dashboard-breadcrumb{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.dashboard-breadcrumb-link{border:0;padding:0;margin:0;background:transparent;color:inherit;font:inherit;display:inline-block;cursor:pointer;transform:translateY(1px);text-shadow:0 1px 0 rgba(255,255,255,.45),0 2px 0 rgba(17,24,39,.18),0 6px 12px rgba(17,24,39,.16);transition:transform .16s ease,text-shadow .16s ease}.dashboard-breadcrumb-link:hover{transform:translateY(3px);text-shadow:0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(17,24,39,.18)}.dashboard-breadcrumb-link:active{transform:translateY(4px);text-shadow:0 1px 1px rgba(17,24,39,.2)}.dashboard-breadcrumb-link:focus-visible{border-radius:4px}.dashboard-breadcrumb-current{color:var(--color-text-secondary)}.dashboard-page-actions{margin-top:1rem;display:flex;justify-content:flex-end}.dashboard-page-card{width:calc(100vw - 2rem);max-width:none}.dashboard-items-section{gap:.75rem}.dashboard-items-section h2,.dashboard-embedded-table-title{margin:0;font-size:1rem}.dashboard-items-list{gap:.6rem}.dashboard-item-create-row{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);display:grid;grid-template-columns:1fr 1fr}.dashboard-item-create-button{border:0;background:transparent;color:var(--color-text-primary);font-size:.92rem;font-weight:600;padding:.8rem .85rem;text-align:center;cursor:pointer;transition:background .14s ease}.dashboard-item-create-button+.dashboard-item-create-button{border-left:1px solid var(--color-border)}.dashboard-item-create-button:hover{background:var(--color-surface-subtle)}.dashboard-item-create-button:disabled,.dashboard-item-list-toggle-button:disabled{opacity:.55;cursor:not-allowed}.dashboard-item-create-button:focus-visible{outline-offset:-2px}.dashboard-item-list-row{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-primary);display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;cursor:default;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,opacity .12s ease}.dashboard-item-list-row.is-muted{background:var(--color-surface-disabled);border-color:var(--color-border);color:var(--color-text-muted)}.dashboard-item-list-row.is-dragging{opacity:.45;cursor:grabbing}.dashboard-item-list-row.is-drop-target{border-color:var(--color-brand);background:var(--color-surface-selected);box-shadow:var(--shadow-selected)}.dashboard-item-list-type{font-size:.9rem;font-weight:700;color:var(--color-text-primary)}.dashboard-item-list-drag-handle{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;color:var(--color-text-muted);font-size:.9rem;letter-spacing:-1px;line-height:1;cursor:grab}.dashboard-item-list-drag-handle:active{cursor:grabbing}.dashboard-item-list-drag-handle.is-disabled{opacity:.35;cursor:not-allowed}.dashboard-item-list-name{min-width:0;flex:1 1 auto;font-size:.92rem;font-weight:500;color:#1f2937;overflow-wrap:anywhere}.dashboard-item-list-name-input{min-width:0;flex:1 1 auto;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.92rem;font-weight:500;padding:.4rem .55rem}.dashboard-item-list-name-input:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.dashboard-item-list-row.is-muted .dashboard-item-list-name,.dashboard-item-list-row.is-muted .dashboard-item-list-type,.dashboard-item-list-row.is-muted .dashboard-item-list-drag-handle{color:var(--color-text-muted)}.dashboard-item-list-toggle-button{width:1.9rem;height:1.9rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dashboard-item-list-toggle-button:hover{background:var(--color-surface-subtle)}.dashboard-embedded-table-list{gap:1rem;align-items:center}.dashboard-embedded-table-card{width:fit-content;max-width:100%;margin-inline:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.8rem;background:var(--color-surface);display:flex;flex-direction:column;gap:.8rem}.dashboard-embedded-table-meta{margin:0;font-size:.85rem;color:var(--color-text-muted)}.dashboard-embedded-table-content{gap:.6rem}.dashboard-embedded-table-wrap{overflow-y:hidden}.dashboard-embedded-table-pagination{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.dashboard-embedded-table-pagination-label{margin:0;font-size:.82rem;color:var(--color-text-tertiary)}.dashboard-embedded-table-pagination-actions{display:flex;align-items:center;gap:.35rem}.dashboard-embedded-table-pagination-button{min-width:2rem;height:2rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.9rem;line-height:1;cursor:pointer}.dashboard-embedded-table-pagination-button:hover:not(:disabled){background:var(--color-surface-muted)}.dashboard-embedded-table-pagination-button:disabled{opacity:.45;cursor:not-allowed}.dashboard-embedded-table-error{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.role-page-header,.role-page-header-copy,.role-permission-sections,.role-permission-section,.role-role-options,.role-permission-list,.role-permission-item,.role-permission-copy,.role-permission-section-header{display:flex}.role-page-header{align-items:flex-start;justify-content:space-between;gap:1rem}.role-page-header-copy{min-width:0;flex:1 1 auto;flex-direction:column;gap:.35rem}.role-page-header-copy p{margin:0}.role-page-footer{margin-top:1.5rem;justify-content:flex-start}.role-name-button,.role-name-input{width:fit-content;max-width:100%;font:inherit}.role-name-button{border:0;padding:0;margin:0;background:transparent;color:var(--color-text-primary);font-size:1.5rem;font-weight:700;text-align:left;cursor:pointer}.role-name-button:hover{color:var(--color-brand)}.role-name-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:4px;border-radius:4px}.role-name-button:disabled{cursor:default;opacity:.7}.role-name-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.45rem .65rem;min-width:min(22rem,100%);font-size:1.2rem;font-weight:700}.role-name-input:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.role-permission-list{margin:0;padding:0;list-style:none;flex-direction:column;gap:.2rem}.role-permission-sections,.role-permission-section,.role-role-options{flex-direction:column}.role-role-options{margin:0 0 1.25rem;padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.role-permission-sections{gap:1.25rem}.role-permission-section{gap:.85rem;padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.role-permission-section-header{align-items:center;justify-content:space-between}.role-permission-section-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text-primary)}.role-permission-item{align-items:center;justify-content:space-between;gap:.75rem;padding:.2rem 0;border:0;border-radius:0;background:transparent}.role-permission-copy{min-width:0;flex:1 1 auto;flex-direction:column;gap:.08rem}.role-permission-key{font-size:.92rem;font-weight:400;color:var(--color-text-primary);word-break:break-word}.role-permission-description{font-size:.8rem;color:var(--color-text-secondary);word-break:break-word}.role-permission-toggle{position:relative;flex:0 0 auto;width:52px;height:30px;border:0;border-radius:999px;background:var(--color-surface-disabled);cursor:pointer;transition:background .14s ease,opacity .14s ease}.role-permission-toggle:hover{opacity:.9}.role-permission-toggle:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.role-permission-toggle:disabled{opacity:.55;cursor:not-allowed}.role-permission-toggle.is-enabled{background:var(--color-brand)}.role-permission-toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:999px;background:var(--color-surface);box-shadow:0 2px 8px #0f172a33;transition:transform .14s ease}.role-permission-toggle.is-enabled .role-permission-toggle-thumb{transform:translate(22px)}@media(max-width:640px){.role-page-header,.role-permission-item{flex-direction:column;align-items:stretch}.role-permission-toggle{align-self:flex-end}}.global-table-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;width:fit-content;max-width:100%;margin-inline:auto}.global-table-main{min-width:0}.global-table-sidebar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:.75rem}.global-table-sidebar-title{margin:0 0 .5rem;font-size:.95rem}.global-table-sidebar-content{display:flex;flex-direction:column;gap:.4rem}.global-table-sidebar-line{margin:0;font-size:.85rem;color:var(--color-text-secondary);word-break:break-word}.table-sidebar,.table-sidebar-fields,.table-sidebar-field,.table-sidebar-section,.table-sidebar-section-content{display:flex;flex-direction:column}.table-sidebar{width:260px;max-width:100%;gap:.8rem;transition:width .18s ease}.table-sidebar.is-collapsed{width:176px}.table-sidebar-title{margin:0}.table-sidebar-header,.table-sidebar-field-header,.table-sidebar-compare-row,.table-sidebar-section-header{display:flex;align-items:center;justify-content:space-between}.table-sidebar-header,.table-sidebar-compare-row{gap:.45rem}.table-sidebar-field-header,.table-sidebar-section-header{gap:.5rem}.table-sidebar-toggle-button{width:30px;height:30px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.table-sidebar-toggle-button:hover{background:var(--color-surface-muted)}.table-sidebar-toggle-button:focus-visible,.table-sidebar-select:focus-visible,.table-sidebar-number:focus-visible,.table-sidebar-today-button:focus-visible,.table-sidebar-compare-input input:focus-visible,.table-sidebar-date-trigger:focus-visible,.table-sidebar-sort-option:focus-visible,.table-sidebar-add-sort-button:focus-visible,.table-sidebar-sort-remove-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:1px}.table-sidebar-toggle-icon,.table-sidebar-section-toggle-icon{display:inline-block;line-height:1}.table-sidebar-toggle-icon{font-size:.9rem;transition:transform .18s ease}.table-sidebar-toggle-icon.is-collapsed,.table-sidebar-section-toggle-icon.is-collapsed{transform:rotate(-90deg)}.table-sidebar-fields{gap:.7rem}.table-sidebar-field{gap:.35rem}.table-sidebar-week-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.table-sidebar-label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.table-sidebar-select,.table-sidebar-number{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.88rem;padding:.45rem .55rem}.table-sidebar-today-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.76rem;line-height:1;padding:.3rem .45rem;cursor:pointer}.table-sidebar-today-button:hover:not(:disabled),.table-sidebar-date-trigger:hover,.table-sidebar-section-toggle-button:hover,.table-sidebar-excel-button:hover{background:var(--color-surface-muted)}.table-sidebar-today-button:disabled,.table-sidebar-date-trigger:disabled,.table-sidebar-excel-button:disabled,.table-sidebar-submit-button:disabled{opacity:.55;cursor:not-allowed}.table-sidebar-date-placeholder{border:1px dashed var(--color-border-muted);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-subtle);font-size:.82rem;padding:.5rem .55rem}.table-sidebar-day-picker-wrap{background:var(--color-surface);padding:.3rem;overflow-x:auto}.table-sidebar-date-picker-field{position:relative}.table-sidebar-date-trigger{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.84rem;padding:.45rem .55rem;text-align:left;cursor:pointer}.table-sidebar-date-popover{position:absolute;top:calc(100% + .35rem);left:0;z-index:70;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-popover)}.table-sidebar-day-picker{--rdp-accent-color: var(--color-accent-strong);--rdp-day-width: 30px;--rdp-day-height: 30px;--rdp-day_button-width: 30px;--rdp-day_button-height: 30px;--rdp-week_number-width: 28px;margin:0;font-size:.78rem}.table-sidebar-day-picker .rdp-caption_label{font-size:.8rem}.table-sidebar-day-picker .rdp-dropdown{font-size:.78rem}.table-sidebar-day-picker-footer{margin-top:.25rem;display:flex;justify-content:flex-end}.table-sidebar-day-picker-validate-button{border:0;border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-surface);font-size:.8rem;padding:.35rem .65rem;cursor:pointer}.table-sidebar-day-picker-validate-button:hover,.table-sidebar-submit-button:hover{background:#1f2937}.table-sidebar-checkbox-label,.table-sidebar-compare-input{display:inline-flex;align-items:center;color:var(--color-text-primary);font-size:.84rem}.table-sidebar-checkbox-label{gap:.45rem}.table-sidebar-checkbox-label input{width:15px;height:15px}.table-sidebar-compare-input{gap:.35rem}.table-sidebar-compare-input input{width:62px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.85rem;padding:.35rem .45rem}.table-sidebar-section{gap:.4rem;border-top:1px solid var(--color-border);padding-top:.65rem}.table-sidebar-section-title{margin:0;font-size:.83rem;font-weight:700;color:var(--color-text-secondary)}.table-sidebar-section-toggle-button{width:24px;height:24px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.table-sidebar-section-toggle-button:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.table-sidebar-section-toggle-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.table-sidebar-section-toggle-icon{font-size:.82rem;transition:transform .16s ease}.table-sidebar-section-content{gap:.4rem}.table-sidebar-sort-list{display:flex;flex-direction:column;gap:.55rem}.table-sidebar-sort-rule{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:.55rem}.table-sidebar-sort-rule-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.table-sidebar-sort-remove-button,.table-sidebar-add-sort-button{border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer}.table-sidebar-sort-remove-button{border:0;background:transparent;color:var(--color-text-tertiary);padding:.2rem 0}.table-sidebar-sort-remove-button:hover:not(:disabled){color:var(--color-danger, #b91c1c)}.table-sidebar-add-sort-button{width:100%;border:1px dashed var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary);padding:.45rem .55rem}.table-sidebar-add-sort-button:hover:not(:disabled){background:var(--color-surface-muted)}.table-sidebar-add-sort-button:disabled,.table-sidebar-sort-remove-button:disabled{opacity:.55;cursor:not-allowed}.table-sidebar-sort-direction{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-border);padding:2px}.table-sidebar-sort-slider{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-slider);transition:transform .18s ease}.table-sidebar-sort-slider.is-desc{transform:translate(100%)}.table-sidebar-sort-option{position:relative;z-index:1;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-tertiary);font-size:.82rem;line-height:1;padding:.45rem;text-align:center;cursor:pointer;transition:color .16s ease}.table-sidebar-sort-option.is-active{color:var(--color-text-primary);font-weight:700}.table-sidebar-sort-option:disabled{color:#9ca3af;cursor:not-allowed}.table-sidebar-actions{margin-top:auto;padding-top:.45rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.table-sidebar-excel-button,.table-sidebar-submit-button{border-radius:var(--radius-sm);font-size:.84rem;padding:.45rem .75rem}.table-sidebar-excel-button{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.table-sidebar-submit-button{border:0;background:var(--color-text-primary);color:var(--color-surface);cursor:pointer}@media(max-width:980px){.global-table-layout{grid-template-columns:1fr}.table-sidebar{width:100%}}.app-modal-root{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:1.5rem}.app-modal-backdrop{position:absolute;inset:0;border:0;background:#11182759;cursor:pointer}.app-modal-panel{position:relative;z-index:1;width:min(980px,100%);max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000038;overflow:auto}.app-modal-panel--sm{max-width:460px}.app-modal-panel--md{max-width:720px}.app-modal-panel--lg{max-width:980px}.app-modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e5e7eb;background:#fff}.app-modal-header h2{margin:0;font-size:1rem}.app-modal-close{border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:.45rem .65rem;cursor:pointer}.app-modal-close:hover{background:#f9fafb}.app-modal-content{padding:1rem}.confirm-action-dialog{display:flex;flex-direction:column;gap:1rem}.confirm-action-message{margin:0;color:#374151}.confirm-action-buttons{display:flex;justify-content:flex-end;gap:.6rem}.confirm-action-cancel{border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:.55rem .8rem;cursor:pointer}.confirm-action-cancel:hover{background:#f9fafb}.confirm-action-confirm{border:0;border-radius:8px;background:#b91c1c;color:#fff;padding:.55rem .8rem;cursor:pointer}.confirm-action-confirm:hover{background:#991b1b}.confirm-action-cancel:disabled,.confirm-action-confirm:disabled{opacity:.6;cursor:not-allowed}.profile-modal{display:flex;flex-direction:column;gap:1rem}.profile-modal-section{display:flex;flex-direction:column;gap:.45rem}.profile-modal-line{margin:0;color:#111827}.profile-modal-label{font-weight:700;color:#374151}.profile-modal-store-list{margin:-.5rem 0 0;padding-left:1.2rem;color:#111827}.profile-modal-store-list li+li{margin-top:.25rem}.profile-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.profile-modal-logout-button{border:0;border-radius:8px;background:#111827;color:#fff;padding:.55rem .8rem;font-size:.9rem;cursor:pointer}.profile-modal-logout-button:hover{background:#1f2937}.input-data-page{display:flex;flex-direction:column;gap:1rem}.input-data-store-row{display:flex;align-items:center;gap:.75rem}.input-data-store-line{margin:0;color:#111827}.input-data-store-label{font-weight:700;color:#374151;white-space:nowrap}.input-data-store-select{min-width:240px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:.95rem;padding:.45rem .55rem}.input-data-store-select:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:1px}.input-data-users{display:flex;flex-direction:column;gap:1rem;padding-top:.25rem}.input-data-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:.25rem}.input-data-submit-feedback{text-align:right}.input-data-user-card{display:flex;flex-direction:column;gap:.85rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:.9rem 1rem}.input-data-user-title{margin:0;font-size:1rem;color:#111827}.input-data-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.input-data-user-label{min-width:0;color:#374151}.input-data-user-input{width:136px;min-width:136px;margin-left:auto;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:.92rem;padding:.42rem .55rem;text-align:right}.input-data-user-input:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:1px}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.app-nav-header{display:flex;align-items:center;gap:.55rem}.app-nav-topbar{position:fixed;top:0;left:0;right:0;height:var(--app-nav-bar-height);z-index:40;display:flex;align-items:center;padding:.5rem 1rem;background:linear-gradient(to bottom,#ffffff9e,#ffffff61),#f3f4f69e;backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);border-bottom:1px solid rgba(209,213,219,.72);box-shadow:0 4px 18px #11182714;justify-content:space-between}.app-nav-toggle{width:44px;height:44px;border:1px solid #d1d5db;border-radius:10px;background:#fff;box-shadow:0 1px #fff9,0 5px 12px #11182724;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 11px;cursor:pointer;transform:translateY(-1px);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.app-nav-brand{min-width:0;max-width:calc(100vw - 8rem);overflow:hidden;border:0;background:transparent;color:#111827;font-family:var(--brand-font-family, "Modak", system-ui);font-size:clamp(1rem,var(--app-nav-brand-mobile-font-size, 23vw),var(--app-nav-brand-max-font-size, 2.5rem));font-weight:50;font-style:normal;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:.3rem .2rem;transform:translateY(1px);text-shadow:0 1px 0 rgba(255,255,255,.45),0 2px 0 rgba(17,24,39,.18),0 6px 12px rgba(17,24,39,.16);transition:color .16s ease,transform .16s ease,text-shadow .16s ease}.app-nav-brand:hover{color:var(--color-accent-strong);transform:translateY(3px);text-shadow:0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(17,24,39,.18)}.app-nav-brand:active{transform:translateY(4px);text-shadow:0 1px 1px rgba(17,24,39,.2)}.app-nav-brand:focus-visible{outline:2px solid var(--color-focus-accent);outline-offset:2px;border-radius:6px}.app-nav-toggle:hover{background:#f9fafb;transform:translateY(1px);box-shadow:0 1px #ffffff80,0 2px 6px #1118271f}.app-nav-toggle:active{transform:translateY(2px);box-shadow:0 1px 3px #11182729}.app-nav-toggle:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.app-nav-toggle-line{width:100%;height:2px;border-radius:99px;background:#111827}.app-nav-actions{display:flex;align-items:center;gap:.6rem}.app-nav-action-button{width:44px;height:44px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#111827;box-shadow:0 1px #fff9,0 5px 12px #1118271a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-1px);transition:background .15s ease,transform .15s ease,box-shadow .15s ease,color .15s ease}.app-nav-action-button:hover{background:#f9fafb;transform:translateY(1px);box-shadow:0 1px #ffffff80,0 2px 6px #1118271f}.app-nav-action-button:active{transform:translateY(2px);box-shadow:0 1px 3px #11182729}.app-nav-action-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.app-nav-action-icon{display:inline-flex;align-items:center;justify-content:center}.app-nav-action-icon--plus{font-size:1.6rem;line-height:1;transform:translateY(-1px)}.app-nav-user-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.app-nav-user-icon svg{width:100%;height:100%;display:block;fill:currentColor}.app-nav-overlay{position:fixed;top:var(--app-nav-bar-height);left:0;right:0;bottom:0;z-index:25;border:0;background:#11182747;cursor:pointer}.app-nav-drawer{position:fixed;top:var(--app-nav-bar-height);left:0;z-index:30;width:min(300px,84vw);height:calc(100vh - var(--app-nav-bar-height));background:#fff;box-shadow:10px 0 24px #00000029;transform:translate(-100%);transition:transform .22s ease}.app-nav-drawer.is-open{transform:translate(0)}.app-nav-content{height:100%;display:flex;flex-direction:column;padding:1rem 1rem 1.25rem}.app-nav-title{margin:0 0 1rem;font-size:1rem;color:#111827}.app-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.app-nav-link{font-size:1rem;font-weight:700;width:100%;border:1px solid transparent;border-radius:8px;padding:.65rem .75rem;text-align:left;background:transparent;color:#111827;cursor:pointer;transform:translateY(0);transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.app-nav-link:hover{background:#f3f4f6;border-color:#e5e7eb;transform:translateY(-2px);box-shadow:0 1px #ffffffa6,0 5px 10px #1118271f}.app-nav-link:active{transform:translateY(0);box-shadow:0 1px 3px #11182724}.app-nav-link.is-active{background:var(--color-accent-soft-bg);border-color:var(--color-accent-soft-border);color:var(--color-accent-strong)}.relation-autocomplete{position:relative;display:flex;flex-direction:column;gap:.45rem}.relation-autocomplete-label{font-size:.9rem;color:#111827}.relation-autocomplete-selected{display:flex;flex-wrap:wrap;gap:.45rem}.relation-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--color-accent-soft-border);border-radius:999px;background:var(--color-accent-soft-bg);color:var(--color-accent-strong);padding:.18rem .5rem;font-size:.85rem}.relation-chip-remove{border:0;background:transparent;color:var(--color-accent-strong);cursor:pointer;line-height:1;font-size:1rem;padding:0}.relation-autocomplete-input{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.65rem .75rem;font-size:.95rem}.relation-autocomplete-input:focus{outline:2px solid var(--color-focus-default);border-color:#2563eb}.relation-autocomplete-panel{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:12;border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:0 10px 24px #00000024;padding:.6rem}.relation-autocomplete-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.relation-option-button{width:100%;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.12rem;padding:.5rem .55rem;color:#111827}.relation-option-button:hover{background:#f3f4f6}.relation-option-description{color:#6b7280;font-size:.82rem}.training-module-section .card-header{margin-bottom:1rem}.training-module-count{min-width:1.8rem;border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);padding:.2rem .55rem;font-size:.85rem;font-weight:700;text-align:center}.training-module-list{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.training-module-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.8rem .9rem;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.training-module-list-item:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.training-module-list-item:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.training-module-title{min-width:0;color:var(--color-text-primary);font-size:.98rem;font-weight:600;overflow-wrap:anywhere}.training-module-status{flex:none;border:1px solid var(--color-accent-soft-border);border-radius:var(--radius-pill);padding:.2rem .6rem;font-size:.8rem;font-weight:700}.training-module-list-meta{display:inline-flex;align-items:center;gap:.75rem}.training-module-chevron{color:var(--color-text-muted);font-weight:700}.training-module-status--to_do{background:var(--color-accent-soft-bg);color:var(--color-accent-strong)}.training-module-status--done{border-color:#bbf7d0;background:#f0fdf4;color:#166534}@media(max-width:520px){.training-module-list-item{align-items:flex-start;flex-direction:column}.training-module-list-meta{width:100%;justify-content:space-between}}.training-certificates{overflow:hidden}.training-certificates-header{margin-bottom:1rem}.training-certificates-header>div{min-width:0}.training-certificates-header h2{margin-bottom:.15rem}.training-certificates-header p{margin:0;color:var(--color-text-muted);font-size:.82rem}.training-certificate-download{min-height:40px;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:.5rem;border:1px solid #b8903d;border-radius:var(--radius-sm);background:#fffaf0;color:#694b0c;padding:.55rem .8rem;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.training-certificate-download svg{width:18px;height:18px}.training-certificate-download:hover:not(:disabled){border-color:#8a661a;background:#fff4d8;box-shadow:0 6px 16px #694b0c1f;transform:translateY(-1px)}.training-certificate-download:focus-visible,.training-certificate-track:focus-visible,.training-certificate-navigation button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.training-certificate-download:disabled{cursor:wait;opacity:.65}.training-certificate-download-spinner{animation:training-certificate-spin .7s linear infinite}.training-certificate-track{width:100%;display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.training-certificate-track::-webkit-scrollbar{display:none}.training-certificate-slide{min-width:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:.2rem}.training-certificate-preview{position:relative;width:min(760px,100%);aspect-ratio:1.414 / 1;min-height:270px;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:#eef1f5;box-shadow:0 14px 30px #1e293b1f}.training-certificate-preview-canvas{display:block;max-width:100%;max-height:100%;background:#fff;box-shadow:0 2px 12px #0f172a1f}.training-certificate-preview-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:var(--color-text-secondary);text-align:center}.training-certificate-preview-state svg{width:28px;height:28px}.training-certificate-preview-state small{color:var(--color-text-muted)}.training-certificate-preview-placeholder{width:100%;height:100%;background:linear-gradient(100deg,#e7eaf0 25%,#f6f7f9 40%,#e7eaf0 60%);background-size:240% 100%}.training-certificate-navigation{display:grid;grid-template-columns:38px minmax(0,auto) 38px;align-items:center;justify-content:center;gap:.75rem;margin-top:.85rem}.training-certificate-navigation>button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.training-certificate-navigation>button:hover:not(:disabled){border-color:#b8903d;background:#fffaf0;color:#694b0c}.training-certificate-navigation>button:disabled{cursor:default;opacity:.35}.training-certificate-navigation svg{width:20px;height:20px}.training-certificate-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.training-certificate-dots button{width:8px;height:8px;border:0;border-radius:var(--radius-pill);background:var(--color-border-strong);padding:0;cursor:pointer;transition:width .16s ease,background .16s ease}.training-certificate-dots button.is-active{width:22px;background:#b8903d}.training-certificate-loading{display:grid;gap:.75rem;color:var(--color-text-muted);font-size:.9rem}.training-certificate-skeleton{width:min(760px,100%);aspect-ratio:1.414 / 1;min-height:270px;margin:0 auto;border-radius:4px;background:linear-gradient(100deg,#f4f0e7 25%,#fffaf0 40%,#f4f0e7 60%);background-size:240% 100%;animation:training-certificate-shimmer 1.4s ease infinite}.training-certificate-empty{min-height:150px;display:flex;align-items:center;justify-content:center;gap:1rem;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:1.25rem;color:var(--color-text-secondary)}.training-certificate-empty>svg{width:40px;height:40px;flex:none;color:#b8903d;stroke-width:1.5}.training-certificate-empty strong{display:block;color:var(--color-text-primary)}.training-certificate-empty p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.9rem}.training-certificate-download-error{margin-top:.75rem}@keyframes training-certificate-spin{to{transform:rotate(360deg)}}@keyframes training-certificate-shimmer{to{background-position-x:-240%}}@media(max-width:600px){.training-certificates{padding-right:.75rem!important;padding-left:.75rem!important}.training-certificate-preview,.training-certificate-skeleton{min-height:230px}}@media(max-width:420px){.training-certificate-download{width:42px;padding:0}.training-certificate-download span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.training-certificate-preview,.training-certificate-skeleton{min-height:210px}}@media(prefers-reduced-motion:reduce){.training-certificate-track{scroll-behavior:auto}.training-certificate-download,.training-certificate-dots button{transition:none}.training-certificate-download-spinner,.training-certificate-skeleton{animation:none}}.course-dashboard{gap:1rem}.course-dashboard-header .card-header{margin-bottom:.5rem}.course-dashboard-header h1{margin:0;font-size:1.6rem}.form-field .create-module-readonly-input{background:var(--color-surface-subtle);color:var(--color-text-secondary);cursor:default}#create-module-notion-page+.relation-autocomplete-panel .relation-option-button{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}#create-module-notion-page+.relation-autocomplete-panel .relation-option-button>span:first-child{min-width:0;font-size:1rem}#create-module-notion-page+.relation-autocomplete-panel .relation-option-description{flex:none;white-space:nowrap}.create-module-status-select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font-size:1rem}.create-module-target-roles-hint{margin:-.55rem 0 0;color:var(--color-text-secondary);font-size:.82rem}.create-module-status-select:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.create-module-status-select:disabled{opacity:.6}.create-module-actions{display:flex;justify-content:flex-end}.management-list-back-button{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1rem}.change-module-notion-dialog{display:flex;flex-direction:column;gap:1rem}.change-module-notion-hint{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45}#change-module-notion-page+.relation-autocomplete-panel .relation-option-button{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}#change-module-notion-page+.relation-autocomplete-panel .relation-option-description{flex:none;white-space:nowrap}.change-module-notion-actions{display:flex;justify-content:flex-end;gap:.6rem}@media(max-width:480px){.change-module-notion-actions{align-items:stretch;flex-direction:column-reverse}.change-module-notion-actions .create-submit-button{width:100%}}.module-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;width:100%;margin-top:.25rem}.module-change-notion-button{margin-right:auto}@media(max-width:640px){.module-detail-actions{align-items:stretch;flex-direction:column}.module-change-notion-button{margin-right:0}}.module-access-users,.module-access-users-header,.retry-message-dialog,.retry-message-section{display:flex;flex-direction:column}.module-access-users{gap:.9rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.module-access-users-header{gap:.25rem}.module-access-users-header h2{margin:0;color:var(--color-text-primary);font-size:1.15rem}.module-access-users-table{min-width:760px}.module-access-users-table th:first-child,.module-access-users-table td:first-child{width:48px;padding-right:.35rem;padding-left:.35rem;text-align:center}.module-access-user-row td{vertical-align:middle}.module-user-stores{max-width:18rem;overflow-wrap:anywhere}.module-user-icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.module-user-icon-button:hover{background:var(--color-surface-subtle)}.module-user-icon-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.module-user-icon-button:disabled{cursor:not-allowed;opacity:.5}.module-history-toggle svg{transition:transform .14s ease}.module-history-toggle svg.is-expanded{transform:rotate(180deg)}.module-user-status{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:.25rem .55rem;font-size:.82rem;font-weight:600;white-space:nowrap}.module-user-state{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.3rem}.module-user-progress-state{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.module-user-last-access,.module-user-latest-attempt{color:var(--color-text-secondary);font-size:.78rem;white-space:nowrap}.module-user-status.is-passed{background:#e7f6ef;color:#1f6a4d}.module-user-status.is-in-progress{background:#e8f1ff;color:#255ca8}.module-user-status.is-not-started{background:var(--color-surface-muted);color:var(--color-text-secondary)}.module-user-status.is-failed{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.module-user-status.is-retry-pending{background:#fff4d6;color:#7a5513}.module-retake-actions,.module-attempt-score{display:flex;align-items:center}.module-retake-actions{flex-wrap:wrap;gap:.45rem}.module-retake-approve{border-color:#8bc7ad;color:#1f6a4d}.module-retake-reject{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));color:var(--color-danger)}.module-attempt-history-row>td{padding:0!important;background:var(--color-surface-subtle)}.module-attempt-history-panel{padding:.9rem 1rem 1rem 3.5rem}.module-attempt-history-table-wrap{overflow-x:auto}.module-attempt-history-table{width:100%;min-width:480px;border-collapse:collapse;background:var(--color-surface)}.module-attempt-history-table th,.module-attempt-history-table td{padding:.55rem .7rem;border:1px solid var(--color-border);text-align:left}.module-attempt-history-table th{background:var(--color-surface-muted);font-size:.82rem;font-weight:600}.module-attempt-history-table td{vertical-align:middle}.module-attempt-score{justify-content:space-between;gap:.75rem}.module-attempt-score .is-passed{color:#1f6a4d;font-weight:700}.module-attempt-score-button{border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-brand);padding:.3rem .4rem;font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}.module-attempt-score-button:hover{background:var(--color-surface-subtle)}.module-attempt-score-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.module-attempt-message-button{width:32px;height:32px}.module-attempt-review{display:flex;flex-direction:column;gap:1.25rem}.module-attempt-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.module-attempt-review-summary>div{display:flex;min-width:0;flex-direction:column;gap:.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:.8rem .9rem}.module-attempt-review-summary span{color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.module-attempt-review-summary strong{color:var(--color-text-primary);font-size:1rem;overflow-wrap:anywhere}.module-attempt-review-questions,.module-attempt-review-choices{list-style:none;margin:0;padding:0}.module-attempt-review-questions{display:flex;flex-direction:column;gap:1rem}.module-attempt-review-question{overflow:hidden;border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-surface)}.module-attempt-review-question.is-correct{border-left-color:#2f855a}.module-attempt-review-question.is-incorrect{border-left-color:var(--color-danger)}.module-attempt-review-question>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);padding:.9rem 1rem}.module-attempt-review-question-number{display:block;margin-bottom:.25rem;color:var(--color-text-secondary);font-size:.76rem;font-weight:700;text-transform:uppercase}.module-attempt-review-question h3{margin:0;color:var(--color-text-primary);font-size:.98rem;line-height:1.45}.module-attempt-review-question-result{display:inline-flex;flex:0 0 auto;align-items:center;gap:.3rem;border-radius:999px;padding:.3rem .55rem;font-size:.78rem;font-weight:700;white-space:nowrap}.module-attempt-review-question.is-correct .module-attempt-review-question-result{background:#e7f6ef;color:#1f6a4d}.module-attempt-review-question.is-incorrect .module-attempt-review-question-result{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.module-attempt-review-choices{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem 1rem}.module-attempt-review-choice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem .75rem}.module-attempt-review-choice.is-correct{border-color:#8bc7ad;background:#f2fbf6}.module-attempt-review-choice.is-incorrect{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 5%,var(--color-surface))}.module-attempt-review-choice-label{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere}.module-attempt-review-choice-badges{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.module-attempt-review-badge{border-radius:999px;padding:.2rem .45rem;font-size:.72rem;font-weight:700;white-space:nowrap}.module-attempt-review-badge.is-selected{background:#e8f1ff;color:#255ca8}.module-attempt-review-badge.is-correct{background:#dff3e9;color:#1f6a4d}.retry-message-dialog{gap:1rem}.retry-message-thread{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.9rem}.retry-message-status,.retry-message-copy,.retry-message-hint{margin:0}.retry-message-status{color:var(--color-text-secondary);font-size:.85rem}.retry-message-section{gap:.45rem}.retry-message-section h3,.retry-message-heading{margin:0;color:var(--color-text-primary);font-size:.95rem;font-weight:700}.retry-message-copy{border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-primary);padding:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.retry-message-textarea{width:100%;min-height:7rem;resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font:inherit}.retry-message-textarea:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.retry-message-hint{color:var(--color-text-secondary);font-size:.8rem}.retry-message-review-footer{display:flex;flex-direction:column;gap:.65rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.retry-message-review-actions{display:flex;justify-content:flex-end;gap:.55rem}@media(max-width:640px){.module-attempt-history-panel{padding-left:.75rem}.module-attempt-review-summary{grid-template-columns:1fr}.module-attempt-review-question>header,.module-attempt-review-choice{align-items:flex-start;flex-direction:column}.module-attempt-review-choice-badges{justify-content:flex-start}}.module-detail-card,.module-detail-status-form,.module-sync-section{display:flex;flex-direction:column}.module-detail-card{gap:1.25rem}.module-detail-back-button{display:inline-flex;align-items:center;align-self:flex-start;gap:.45rem}.module-detail-header{align-items:flex-start;margin-bottom:0}.module-detail-title{min-width:0;margin:0;color:var(--color-text-primary);font-size:1.6rem;line-height:1.25;overflow-wrap:anywhere}.module-detail-status-form,.module-sync-section{gap:.65rem}.module-detail-status-field{width:min(22rem,100%)}.module-detail-status-form>.relation-autocomplete{width:min(36rem,100%)}.module-detail-target-roles-hint{width:min(36rem,100%);margin:-.3rem 0 0;color:var(--color-text-secondary);font-size:.82rem}.module-detail-status-select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font-size:1rem}.module-detail-status-select:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.module-detail-status-select:disabled{opacity:.6}.module-sync-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.module-sync-button{flex:0 0 auto}.module-last-updated,.module-action-message{margin:0}.module-last-updated{color:var(--color-text-secondary);font-size:.9rem;text-align:right}.module-action-message{color:var(--color-accent-strong);font-size:.9rem}@media(max-width:640px){.module-detail-header,.module-sync-row{align-items:stretch;flex-direction:column}.module-last-updated{text-align:left}}.form-field .create-test-readonly-input{background:var(--color-surface-subtle);color:var(--color-text-secondary);cursor:default}#create-test-notion-page+.relation-autocomplete-panel .relation-option-button{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}#create-test-notion-page+.relation-autocomplete-panel .relation-option-button>span:first-child{min-width:0;font-size:1rem}#create-test-notion-page+.relation-autocomplete-panel .relation-option-description{flex:none;white-space:nowrap}.create-test-select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font-size:1rem}.create-test-select:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.create-test-select:disabled{opacity:.6}.create-test-hint{margin:-.55rem 0 0;color:var(--color-text-secondary);font-size:.82rem}.create-test-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.create-test-time-limit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}.create-test-time-limit-copy{display:flex;flex-direction:column;gap:.7rem}.create-test-time-limit-copy>span:first-child{color:var(--color-text-primary);font-size:.9rem}.create-test-toggle{position:relative;flex:0 0 auto;width:52px;height:30px;border:0;border-radius:999px;background:var(--color-surface-disabled);cursor:pointer;transition:background .14s ease,opacity .14s ease}.create-test-toggle:hover{opacity:.9}.create-test-toggle:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.create-test-toggle:disabled{opacity:.55;cursor:not-allowed}.create-test-toggle.is-enabled{background:var(--color-brand)}.create-test-toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:999px;background:var(--color-surface);box-shadow:0 2px 8px #0f172a33;transition:transform .14s ease}.create-test-toggle.is-enabled .create-test-toggle-thumb{transform:translate(22px)}.create-test-actions{display:flex;justify-content:flex-end}@media(max-width:640px){.create-test-number-grid{grid-template-columns:1fr}}.test-management-list-item{font:inherit}.test-management-list-item-meta{display:flex;align-items:center;gap:.8rem}.test-management-status{flex:none;border-radius:999px;padding:.25rem .6rem;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.test-management-status.is-published{background:var(--color-accent-soft-bg);color:var(--color-accent-strong)}.test-management-status.is-archived{background:var(--color-surface-disabled);color:var(--color-text-muted)}.change-test-notion-dialog{display:flex;flex-direction:column;gap:1rem}.change-test-notion-hint{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45}#change-test-notion-page+.relation-autocomplete-panel .relation-option-button{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}#change-test-notion-page+.relation-autocomplete-panel .relation-option-description{flex:none;white-space:nowrap}.change-test-notion-actions{display:flex;justify-content:flex-end;gap:.6rem}@media(max-width:480px){.change-test-notion-actions{align-items:stretch;flex-direction:column-reverse}.change-test-notion-actions .create-submit-button{width:100%}}.test-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;width:100%;margin-top:.25rem}.test-change-notion-button{margin-right:auto}@media(max-width:640px){.test-detail-actions{align-items:stretch;flex-direction:column}.test-change-notion-button{margin-right:0}}.test-detail-card,.test-detail-form,.test-sync-section{display:flex;flex-direction:column}.test-detail-card{gap:1.25rem}.test-detail-back-button{display:inline-flex;align-items:center;align-self:flex-start;gap:.45rem}.test-detail-header{align-items:flex-start;margin-bottom:0}.test-detail-heading{min-width:0}.test-detail-title{margin:0;color:var(--color-text-primary);font-size:1.6rem;line-height:1.25;overflow-wrap:anywhere}.test-detail-question-count{margin:.3rem 0 0;color:var(--color-text-secondary);font-size:.88rem}.test-detail-form,.test-sync-section{gap:1rem}.test-detail-form>.relation-autocomplete{width:min(36rem,100%)}.test-detail-status-field{width:min(22rem,100%)}.test-detail-select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:.65rem .75rem;font-size:1rem}.test-detail-select:focus{outline:2px solid var(--color-focus-default);border-color:var(--color-brand)}.test-detail-select:disabled,.test-detail-form input:disabled{opacity:.6}.test-detail-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.test-detail-time-limit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}.test-detail-time-limit-copy{display:flex;flex-direction:column;gap:.7rem}.test-detail-time-limit-copy>span:first-child{color:var(--color-text-primary);font-size:.9rem}.test-detail-hint{color:var(--color-text-secondary);font-size:.82rem}.test-detail-toggle{position:relative;flex:0 0 auto;width:52px;height:30px;border:0;border-radius:999px;background:var(--color-surface-disabled);cursor:pointer;transition:background .14s ease,opacity .14s ease}.test-detail-toggle:hover{opacity:.9}.test-detail-toggle:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.test-detail-toggle:disabled{opacity:.55;cursor:not-allowed}.test-detail-toggle.is-enabled{background:var(--color-brand)}.test-detail-toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:999px;background:var(--color-surface);box-shadow:0 2px 8px #0f172a33;transition:transform .14s ease}.test-detail-toggle.is-enabled .test-detail-toggle-thumb{transform:translate(22px)}.test-sync-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.test-sync-button{flex:0 0 auto}.test-last-updated,.test-action-message{margin:0}.test-last-updated{color:var(--color-text-secondary);font-size:.9rem;text-align:right}.test-action-message{color:var(--color-accent-strong);font-size:.9rem}@media(max-width:640px){.test-detail-header,.test-sync-row{align-items:stretch;flex-direction:column}.test-detail-number-grid{grid-template-columns:1fr}.test-last-updated{text-align:left}}.course-renderer{display:grid;gap:1.375rem;color:var(--color-text-primary)}.course-hero{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:clamp(1.625rem,5vw,3rem);background:var(--color-surface);box-shadow:var(--shadow-card)}.course-hero h2,.course-section-title h3{margin:0;letter-spacing:0}.course-hero h2{max-width:53.75rem;color:var(--color-text-primary);font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;overflow-wrap:anywhere}.course-objectives,.course-modules{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.course-objectives{padding:0;border:0;background:transparent}.course-section-title{display:flex;align-items:flex-start;gap:.875rem}.course-section-title__icon,.course-quote__icon{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.course-section-title__icon{width:2.625rem;height:2.625rem;flex:0 0 auto;color:var(--color-accent-strong);background:var(--color-accent-soft-bg)}.course-section-title h3{color:var(--color-text-primary);font-size:1.25rem;line-height:1.2}.course-objectives__content{margin-top:1.25rem;display:grid;gap:.875rem}.course-summary-block{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem 1.125rem;background:var(--color-surface-subtle)}.course-summary-block__icon{width:2.375rem;height:2.375rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:#25785a;background:#e9f7f0}.course-summary-block--vigilance .course-summary-block__icon{color:var(--color-danger);background:#fee2e2}.course-summary-block__title{margin:0 0 .45rem;color:var(--color-text-primary);font-size:1.05rem;font-weight:800;line-height:1.35}.course-summary-block__body .course-paragraph:last-child{margin-bottom:0}.course-modules{overflow:hidden}.course-modules__header{display:flex;align-items:center;justify-content:space-between;gap:1.125rem;border-bottom:1px solid var(--color-border);padding:clamp(1.25rem,4vw,1.875rem)}.course-modules__header .course-section-title{align-items:center}.course-accordion-list{display:grid}.course-accordion{--section-accent: var(--color-brand);border-bottom:1px solid var(--color-border)}.course-accordion:last-child{border-bottom:0}.course-accordion__button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.875rem;border:0;padding:1.25rem clamp(1.25rem,4vw,1.875rem);color:var(--color-text-primary);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer}.course-accordion__button:hover{background:var(--color-surface-subtle)}.course-accordion__button:focus-visible,.course-link:focus-visible{outline:3px solid var(--color-focus-default);outline-offset:2px}.course-accordion__number{display:inline-flex;width:2.625rem;height:2.625rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 11%,var(--color-surface));font-size:.9rem;font-weight:800}.course-accordion__title{min-width:0;overflow-wrap:anywhere;font-size:clamp(1.08rem,2vw,1.34rem);font-weight:800;line-height:1.22}.course-accordion__state{color:var(--color-text-muted);font-size:.86rem;font-weight:800}.course-accordion__chevron{color:var(--section-accent);transition:transform .16s ease}.course-accordion__chevron.is-open{transform:rotate(180deg)}.course-accordion__content{border-top:1px solid var(--color-border);padding:clamp(1.375rem,4vw,2.125rem);background:var(--color-surface-subtle)}.course-paragraph{margin:0 0 .875rem;color:var(--color-text-secondary);font-size:1rem;line-height:1.72}.course-heading{display:flex;align-items:center;gap:.5625rem;margin:1.5rem 0 .75rem;color:var(--color-text-primary);letter-spacing:0}.course-heading--h2{font-size:clamp(1.26rem,2.5vw,1.62rem);line-height:1.24}.course-heading--h3{font-size:clamp(1.06rem,2vw,1.22rem);line-height:1.32}.course-heading--h4{margin-top:1.125rem;font-size:.98rem;line-height:1.38}.course-heading__icon{display:inline-flex;flex:0 0 auto;color:inherit}.course-heading__icon--danger{color:var(--color-danger)}.course-heading__icon--gold,.course-heading--gold{color:var(--color-highlight-gold)}.course-list{display:grid;gap:.5rem;margin:0 0 1.125rem;padding-left:1.2rem}.course-list__item{color:var(--color-text-secondary);line-height:1.62;padding-left:.25rem}.course-list__item::marker{color:var(--color-text-secondary)}.course-list__item--warning,.course-list__item--success{position:relative;list-style:none;color:var(--color-text-secondary)}.course-list__status-icon{position:absolute;left:-1.2rem;top:.32em}.course-list__item--warning .course-list__status-icon{color:var(--color-danger)}.course-list__item--success .course-list__status-icon{color:#25785a}.course-quote{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.875rem;margin:1rem 0;border-left:4px solid #2563a7;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.125rem;background:var(--color-surface-selected)}.course-quote__icon{width:2.125rem;height:2.125rem;color:#2563a7;background:var(--color-surface)}.course-quote blockquote{margin:0;color:#16324f;font-size:1rem;font-weight:650;line-height:1.6}.course-quote--danger{border-left-color:var(--color-danger);background:#fff0ee}.course-quote--danger .course-quote__icon{color:var(--color-danger)}.course-quote--danger blockquote{color:#9f302a}.course-divider{height:1px;margin:1.5rem 0;border:0;background:var(--color-border)}.course-rich-text--bold{font-weight:800}.course-rich-text--italic{font-style:italic}.course-rich-text--underline{text-decoration:underline}.course-rich-text--strikethrough{text-decoration:line-through}.course-rich-text--code{border-radius:5px;padding:.08em .35em;background:var(--color-surface-disabled);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.course-link{color:var(--color-brand);font-weight:700;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.course-nested-blocks{display:block;margin-top:.625rem;padding-left:1.125rem}.course-empty-copy,.course-empty-state{color:var(--color-text-muted)}.course-empty-copy{margin:1.25rem 0 0}.course-empty-state{display:flex;align-items:center;gap:.625rem;padding:1.5rem 1.875rem}.course-empty-state p{margin:0}@media(prefers-reduced-motion:reduce){.course-accordion__chevron{transition-duration:.01ms}}@media(max-width:640px){.course-objectives__content{padding-left:0}.course-modules__header{align-items:stretch;flex-direction:column}.course-accordion__button{grid-template-columns:auto minmax(0,1fr) auto}.course-accordion__state{display:none}}.module-content-view{min-height:0}.module-content-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);padding:1.5rem;background:var(--color-surface-subtle);text-align:center}.module-content-state h2,.module-content-state p{margin:0}.module-content-state h2{font-size:1.1rem}.module-content-state p{margin-top:.45rem;color:var(--color-text-muted)}.module-content-state--error{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.module-content-state--error h2{color:var(--color-danger)}.training-retake-history{display:flex;flex-direction:column;gap:.9rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.training-retake-history>h2{margin:0;font-size:1.15rem}.training-retake-history-feed{display:flex;flex-direction:column;gap:.9rem}.training-retake-history-item{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:.9rem}.training-retake-history-item>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:var(--color-text-muted);font-size:.82rem}.training-retake-history-status{color:var(--color-text-secondary)}.training-retake-history-status.is-approved,.training-retake-history-status.is-used{color:#166534}.training-retake-history-status.is-rejected{color:#991b1b}.training-retake-history-status.is-pending{color:#92400e}.training-retake-history-message{display:flex;flex-direction:column;gap:.35rem}.training-retake-history-message h3,.training-retake-history-message p{margin:0}.training-retake-history-message h3{font-size:.9rem}.training-retake-history-message p{border-radius:var(--radius-sm);background:var(--color-surface-subtle);padding:.75rem;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.retake-request-dialog{display:flex;flex-direction:column;gap:1rem}.retake-request-dialog p{margin:0;color:var(--color-text-secondary);line-height:1.5}.retake-request-dialog label{display:flex;flex-direction:column;gap:.45rem;color:var(--color-text-primary);font-weight:700}.retake-request-dialog textarea{width:100%;resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);padding:.75rem;color:var(--color-text-primary);font:inherit;font-weight:400;line-height:1.5}.retake-request-dialog textarea:focus{outline:2px solid var(--color-focus-default);outline-offset:2px}.retake-request-dialog-count{margin-top:-.75rem;color:var(--color-text-muted);font-size:.78rem;text-align:right}.retake-request-dialog .error-text{color:var(--color-danger)}.retake-request-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:520px){.retake-request-dialog-actions{flex-direction:column-reverse}.retake-request-dialog-actions button{width:100%}}.training-module-card{display:flex;flex-direction:column;gap:1.5rem}.training-module-assessment{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.training-module-assessment h2,.training-module-assessment p{margin:0}.training-module-assessment h2{font-size:1.15rem}.training-module-assessment h2+p{margin-top:.3rem;color:var(--color-text-muted);font-size:.9rem}.training-module-test-button{border:0;border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-surface);padding:.7rem 1rem;font:inherit;font-size:.92rem;cursor:pointer}.training-module-test-button:hover:not(:disabled){background:#1f2937}.training-module-test-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.training-module-test-button:disabled{cursor:wait;opacity:.6}.training-module-assessment-pending{width:100%;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-subtle);padding:.85rem 1rem;color:var(--color-text-muted);text-align:center}.training-module-assessment-status{width:100%;border-radius:var(--radius-sm);padding:.85rem 1rem;text-align:center}.training-module-assessment-status.is-pending{border:1px solid #fcd34d;background:#fffbeb;color:#92400e}.training-module-assessment-status.is-completed{border:1px solid #86efac;background:#f0fdf4;color:#166534}.training-module-test-error{width:100%}@media(max-width:600px){.training-module-assessment{align-items:stretch;flex-direction:column}.training-module-test-button{width:100%}}.test-attempt-page{align-content:start}.test-attempt-card{display:flex;flex-direction:column;gap:1.5rem}.test-attempt-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.test-attempt-header h1,.test-attempt-header p{margin:0}.test-attempt-header h1{margin-top:.15rem;font-size:1.6rem}.test-attempt-eyebrow{color:var(--color-accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.test-attempt-progress-label{margin-top:.35rem!important;color:var(--color-text-muted);font-size:.9rem}.test-attempt-header-actions{display:flex;align-items:center;gap:.75rem}.test-attempt-timer{min-width:8.5rem;display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--color-accent-soft-border);border-radius:var(--radius-md);background:var(--color-accent-soft-bg);padding:.55rem .75rem;color:var(--color-accent-strong);text-align:center}.test-attempt-timer-label{font-size:.72rem;text-transform:uppercase}.test-attempt-timer strong{font-variant-numeric:tabular-nums}.test-attempt-timer--urgent{border-color:#fecaca;background:#fef2f2;color:var(--color-danger)}.test-question-navigator{overflow-x:auto;padding:.2rem .1rem .4rem}.test-question-navigator ol{min-width:max-content;display:flex;gap:.5rem;margin:0;padding:0;list-style:none}.test-question-number{width:2.35rem;height:2.35rem;display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.test-question-number:hover:not(:disabled){border-color:var(--color-brand)}.test-question-number:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.test-question-number.is-answered{border-color:var(--color-accent-soft-border);background:var(--color-accent-soft-bg);color:var(--color-accent-strong)}.test-question-number.is-current{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface);box-shadow:var(--shadow-selected)}.test-question-number:disabled{cursor:wait;opacity:.65}.test-question{min-width:0;display:flex;flex-direction:column;gap:1rem;margin:0;border:0;padding:0}.test-question legend{width:100%;display:flex;flex-direction:column;gap:.35rem;padding:0}.test-question-kicker{color:var(--color-text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.test-question-prompt{color:var(--color-text-primary);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.test-question-instruction{margin:-.5rem 0 0;color:var(--color-text-muted);font-size:.88rem}.test-question-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.test-question-choice{min-height:4rem;display:flex;align-items:center;gap:.75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);padding:.85rem 1rem;color:var(--color-text-primary);cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.test-question-choice:hover{border-color:var(--color-border-hover);background:var(--color-surface-subtle)}.test-question-choice.is-selected{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface);box-shadow:var(--shadow-selected)}.test-question-choice:has(input:focus-visible){outline:2px solid var(--color-focus-default);outline-offset:2px}.test-question-choice input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.test-question-choice span{overflow-wrap:anywhere}.test-question:disabled .test-question-choice{cursor:wait;opacity:.7}.test-attempt-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.test-attempt-feedback{min-height:1.4rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.test-attempt-feedback p{margin:0;color:var(--color-text-secondary);font-size:.88rem}.test-attempt-feedback .error-text{color:var(--color-danger)}.test-attempt-navigation-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.test-attempt-primary-button{border:0;border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-surface);padding:.65rem .9rem;font:inherit;font-size:.9rem;cursor:pointer}.test-attempt-primary-button:hover:not(:disabled){background:#1f2937}.test-attempt-primary-button:focus-visible{outline:2px solid var(--color-focus-default);outline-offset:2px}.test-attempt-primary-button:disabled{cursor:not-allowed;opacity:.55}.test-attempt-state{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.test-result{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;text-align:center}.test-result-ring{position:relative;width:9.5rem;height:9.5rem;display:grid;place-items:center}.test-result-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.test-result-ring circle{fill:none;stroke-width:10}.test-result-ring-track{stroke:var(--color-border)}.test-result-ring-progress{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.test-result-ring strong{font-size:1.8rem;color:var(--color-text-primary)}.test-result--success .test-result-ring{color:#15803d}.test-result--near .test-result-ring{color:#d97706}.test-result--failure .test-result-ring{color:var(--color-danger)}.test-result-count,.test-result-message,.test-result-detail{margin:0}.test-result-count{color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.test-result-message{max-width:24rem;color:var(--color-text-secondary)}.test-result-detail{max-width:24rem;color:var(--color-text-muted);font-size:.85rem}.test-result-action{margin-top:.4rem}@media(max-width:720px){.test-attempt-header,.test-attempt-footer,.test-attempt-header-actions{align-items:stretch;flex-direction:column}.test-attempt-timer{width:100%}.test-question-choices{grid-template-columns:1fr}.test-attempt-feedback{min-height:0}.test-attempt-navigation-actions{width:100%}.test-attempt-navigation-actions>button{flex:1 1 0}}@media(max-width:440px){.test-attempt-navigation-actions{align-items:stretch;flex-direction:column-reverse}.test-attempt-navigation-actions>button{width:100%}}
