@charset "UTF-8";:root{--ep-color-bg-app: #0f172a;--ep-color-bg-surface: #1e293b;--ep-color-bg-card: #1e293b;--ep-color-bg-card-hover: #334155;--ep-color-bg-hover: rgba(255, 255, 255, .05);--ep-color-bg-active: rgba(56, 189, 248, .12);--ep-color-bg-overlay: rgba(15, 23, 42, .75);--ep-color-border-subtle: rgba(255, 255, 255, .05);--ep-color-border-default: rgba(255, 255, 255, .1);--ep-color-border-strong: rgba(255, 255, 255, .2);--ep-color-border-focus: #38bdf8;--ep-color-text-primary: #f8fafc;--ep-color-text-secondary: #cbd5e1;--ep-color-text-muted: #64748b;--ep-color-text-inverse: #0f172a;--ep-color-primary-50: #f0f9ff;--ep-color-primary-100: #e0f2fe;--ep-color-primary-200: #bae6fd;--ep-color-primary-300: #7dd3fc;--ep-color-primary-400: #38bdf8;--ep-color-primary-500: #0284c7;--ep-color-primary-600: #0369a1;--ep-color-primary-700: #075985;--ep-color-primary-glow: rgba(56, 189, 248, .18);--ep-color-success: #4ade80;--ep-color-success-bg: rgba(34, 197, 94, .12);--ep-color-success-border: rgba(34, 197, 94, .28);--ep-color-danger: #f87171;--ep-color-danger-bg: rgba(239, 68, 68, .12);--ep-color-danger-border: rgba(239, 68, 68, .28);--ep-color-warning: #fbbf24;--ep-color-warning-bg: rgba(245, 158, 11, .12);--ep-color-warning-border: rgba(245, 158, 11, .28);--ep-color-info: #38bdf8;--ep-color-info-bg: rgba(14, 165, 233, .12);--ep-color-info-border: rgba(14, 165, 233, .28);--ep-color-active: rgba(56, 189, 248, .12);--bg-primary: var(--ep-color-bg-app);--bg-secondary: var(--ep-color-bg-surface);--bg-card: var(--ep-color-bg-card);--bg-hover: var(--ep-color-bg-hover);--border-color: var(--ep-color-border-default);--text-primary: var(--ep-color-text-primary);--text-secondary: var(--ep-color-text-secondary);--text-muted: var(--ep-color-text-muted);--primary-color: var(--ep-color-primary-400);--primary-hover: var(--ep-color-primary-500);--primary-light: var(--ep-color-primary-glow);--success-color: var(--ep-color-success);--success-light: var(--ep-color-success-bg);--danger-color: var(--ep-color-danger);--danger-light: var(--ep-color-danger-bg)}[data-theme=light]{--ep-color-bg-app: #f1f5f9;--ep-color-bg-surface: #ffffff;--ep-color-bg-card: #ffffff;--ep-color-bg-card-hover: #f8fafc;--ep-color-bg-hover: rgba(0, 0, 0, .04);--ep-color-bg-active: rgba(2, 132, 199, .08);--ep-color-bg-overlay: rgba(15, 23, 42, .4);--ep-color-border-subtle: rgba(0, 0, 0, .06);--ep-color-border-default: rgba(0, 0, 0, .1);--ep-color-border-strong: rgba(0, 0, 0, .2);--ep-color-border-focus: #0284c7;--ep-color-text-primary: #0f172a;--ep-color-text-secondary: #475569;--ep-color-text-muted: #94a3b8;--ep-color-text-inverse: #f8fafc;--ep-color-primary-400: #0284c7;--ep-color-primary-glow: rgba(2, 132, 199, .12);--ep-color-active: rgba(2, 132, 199, .1);--ep-color-success: #16a34a;--ep-color-success-bg: rgba(22, 163, 74, .1);--ep-color-success-border: rgba(22, 163, 74, .25);--ep-color-danger: #dc2626;--ep-color-danger-bg: rgba(220, 38, 38, .1);--ep-color-danger-border: rgba(220, 38, 38, .25);--ep-color-warning: #d97706;--ep-color-warning-bg: rgba(217, 119, 6, .1);--ep-color-warning-border: rgba(217, 119, 6, .25);--ep-color-info: #0284c7;--ep-color-info-bg: rgba(2, 132, 199, .1);--ep-color-info-border: rgba(2, 132, 199, .25);--bg-primary: var(--ep-color-bg-app);--bg-secondary: var(--ep-color-bg-surface);--bg-card: var(--ep-color-bg-card);--bg-hover: var(--ep-color-bg-hover);--border-color: var(--ep-color-border-default);--text-primary: var(--ep-color-text-primary);--text-secondary: var(--ep-color-text-secondary);--text-muted: var(--ep-color-text-muted);--primary-color: var(--ep-color-primary-400);--primary-hover: var(--ep-color-primary-500);--primary-light: var(--ep-color-primary-glow);--success-color: var(--ep-color-success);--success-light: var(--ep-color-success-bg);--danger-color: var(--ep-color-danger);--danger-light: var(--ep-color-danger-bg)}:root{--ep-space-0: 0;--ep-space-1: .25rem;--ep-space-2: .5rem;--ep-space-3: .75rem;--ep-space-4: 1rem;--ep-space-5: 1.25rem;--ep-space-6: 1.5rem;--ep-space-8: 2rem;--ep-space-10: 2.5rem;--ep-space-12: 3rem;--ep-space-16: 4rem;--ep-sidebar-width: 260px;--ep-sidebar-collapsed-width: 68px;--ep-header-height: 64px;--ep-container-max-width: 1280px;--sidebar-width: var(--ep-sidebar-width);--header-height: var(--ep-header-height)}:root{--ep-font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ep-font-mono: "JetBrains Mono", Fira Code, Consolas, Monaco, monospace;--ep-font-xs: .75rem;--ep-font-sm: .875rem;--ep-font-base: 1rem;--ep-font-lg: 1.125rem;--ep-font-xl: 1.25rem;--ep-font-2xl: 1.5rem;--ep-font-3xl: 1.875rem;--ep-weight-regular: 400;--ep-weight-medium: 500;--ep-weight-semibold: 600;--ep-weight-bold: 700;--ep-leading-none: 1;--ep-leading-tight: 1.25;--ep-leading-snug: 1.375;--ep-leading-normal: 1.5;--ep-leading-relaxed: 1.625;--ep-font-family: var(--ep-font-sans);--font-family: var(--ep-font-sans)}:root{--ep-radius-none: 0;--ep-radius-xs: 4px;--ep-radius-sm: 6px;--ep-radius-md: 10px;--ep-radius-lg: 16px;--ep-radius-xl: 24px;--ep-radius-full: 9999px;--ep-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .25);--ep-shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .4);--ep-shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .5);--ep-shadow-glow-primary: 0 0 24px rgba(2, 132, 199, .3);--ep-shadow-glow-success: 0 0 24px rgba(34, 197, 94, .3);--ep-transition-fast: .15s ease;--ep-transition-normal: .2s ease;--ep-transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--radius-sm: var(--ep-radius-sm);--radius-md: var(--ep-radius-md);--radius-lg: var(--ep-radius-lg);--shadow-sm: var(--ep-shadow-sm);--shadow-md: var(--ep-shadow-md);--shadow-lg: var(--ep-shadow-lg)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--ep-font-sans);background-color:var(--ep-color-bg-app);color:var(--ep-color-text-primary);line-height:var(--ep-leading-normal);-webkit-font-smoothing:antialiased}a{color:var(--ep-color-primary-400);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--ep-color-bg-app)}::-webkit-scrollbar-thumb{background:var(--ep-color-border-default);border-radius:var(--ep-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--ep-color-text-muted)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--ep-space-2)}.gap-3{gap:var(--ep-space-3)}.gap-4{gap:var(--ep-space-4)}.gap-6{gap:var(--ep-space-6)}.flex-wrap{flex-wrap:wrap}.w-full{width:100%}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.font-bold{font-weight:700!important}.font-semibold{font-weight:600!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-base{font-size:1rem!important}.text-muted{color:var(--ep-color-text-muted)!important}.text-secondary{color:var(--ep-color-text-secondary)!important}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--ep-color-bg-surface);border:1px solid var(--ep-color-border-default);border-radius:var(--ep-radius-md);padding:var(--ep-space-4);box-shadow:var(--ep-shadow-sm);transition:transform var(--ep-transition-normal),box-shadow var(--ep-transition-normal)}.card.no-padding{padding:0}.card:hover{box-shadow:var(--ep-shadow-md)}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:var(--ep-radius-full);font-size:var(--ep-font-xs);font-weight:var(--ep-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.badge-success{background:var(--ep-color-success-bg);color:var(--ep-color-success);border:1px solid var(--ep-color-success-border)}.badge-danger{background:var(--ep-color-danger-bg);color:var(--ep-color-danger);border:1px solid var(--ep-color-danger-border)}.badge-info{background:var(--ep-color-info-bg);color:var(--ep-color-info);border:1px solid var(--ep-color-info-border)}.badge-warning{background:var(--ep-color-warning-bg);color:var(--ep-color-warning);border:1px solid var(--ep-color-warning-border)}.form-group{display:flex;flex-direction:column;gap:var(--ep-space-1);margin-bottom:var(--ep-space-4)}.form-label{font-size:var(--ep-font-sm);font-weight:var(--ep-weight-medium);color:var(--ep-color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;font-size:var(--ep-font-sm);border:1px solid var(--ep-color-border-default);border-radius:10px;background:var(--ep-color-bg-hover);color:var(--ep-color-text-primary);transition:border-color var(--ep-transition-normal),box-shadow var(--ep-transition-normal),background-color var(--ep-transition-normal)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ep-color-primary-400);box-shadow:0 0 0 3px var(--ep-color-primary-glow);outline:none}.table-container{width:100%;overflow-x:auto;border:1px solid var(--ep-color-border-default);border-radius:var(--ep-radius-md);background:var(--ep-color-bg-surface)}.filter-bar{display:flex;align-items:center;gap:var(--ep-space-3);flex-wrap:wrap}.row-actions{display:flex;align-items:center;gap:var(--ep-space-2)}.view-toggle{display:flex;gap:4px;background:var(--ep-color-bg-hover);border:1px solid var(--ep-color-border-subtle);border-radius:var(--ep-radius-md);padding:4px;width:fit-content}.toggle-btn{background:transparent;border:none;color:var(--ep-color-text-muted);padding:6px 14px;border-radius:var(--ep-radius-sm);font-size:var(--ep-font-sm);font-weight:var(--ep-weight-medium);cursor:pointer;transition:all var(--ep-transition-normal)}.toggle-btn.active{background:var(--ep-color-active);color:var(--ep-color-primary-400)}.toggle-btn:hover:not(.active){background:var(--ep-color-bg-hover);color:var(--ep-color-text-secondary)}.empty-grid{grid-column:1/-1;text-align:center;padding:56px 24px;color:var(--ep-color-text-muted)}.empty-grid span{font-size:40px;display:block;margin-bottom:12px}.empty-grid p{font-size:15px}.empty-grid-full{text-align:center;padding:64px 24px;color:var(--ep-color-text-muted)}.empty-grid-full span{font-size:48px;display:block;margin-bottom:14px}.checkbox-list{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;background:var(--ep-color-bg-surface);border:1px solid var(--ep-color-border-default);border-radius:10px;padding:0;overflow-x:hidden}.checkbox-item{display:flex;align-items:center;gap:12px;color:var(--ep-color-text-secondary);font-size:var(--ep-font-sm);cursor:pointer;padding:10px 16px;border-bottom:1px solid var(--ep-color-border-subtle);border-radius:0;margin:0;transition:background var(--ep-transition-fast)}.checkbox-item:last-child{border-bottom:none}.checkbox-item:hover{background:var(--ep-color-bg-hover)}.checkbox-item input[type=checkbox]{accent-color:var(--ep-color-primary-500);width:16px;height:16px;margin:0}.loading-center{display:flex;justify-content:center;padding:40px}.ep-spinner-sm{width:28px;height:28px;border:3px solid var(--ep-color-border-subtle);border-top-color:var(--ep-color-primary-500);border-radius:50%;animation:ep-spin .8s linear infinite}.rounded{border-radius:8px}.alert-notice{margin-top:.5rem;padding:.5rem .75rem;font-size:12px;border-radius:8px;display:block;line-height:1.4}.alert-notice-warning{background:#f59e0b1f;border:1px solid rgba(245,158,11,.28);color:var(--ep-color-warning)}.alert-notice-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.28);color:var(--ep-color-success)}.alert-notice-danger{background:#ef44441f;border:1px solid rgba(239,68,68,.28);color:var(--ep-color-danger);font-size:13px;padding:.75rem 1rem}@keyframes ep-spin{to{transform:rotate(360deg)}}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--ep-space-5)}.toolbar-select{height:37px;min-width:160px;padding:0 36px 0 16px;background:var(--ep-color-bg-hover) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:14px;border:1px solid var(--ep-color-border-default);color:var(--ep-color-text-primary);border-radius:10px;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.toolbar-select:hover{background-color:var(--ep-color-bg-active);border-color:var(--ep-color-border-strong)}.toolbar-select:focus{border-color:var(--ep-color-primary-400);box-shadow:0 0 0 3px var(--ep-color-primary-glow)}.toolbar-select option{background:var(--ep-color-bg-surface);color:var(--ep-color-text-primary);padding:8px}[modal-footer]{display:flex!important;align-items:center!important;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;width:100%}.exam-list-container{background:var(--ep-color-bg-surface);border:1px solid var(--ep-color-border-default);border-radius:var(--ep-radius-lg);box-shadow:var(--ep-shadow-sm);overflow:hidden;padding:24px}.list-header{border-bottom:1px solid var(--ep-color-border-subtle);padding-bottom:16px;margin-bottom:24px}.list-header .list-title{color:var(--ep-color-text-primary);font-size:1.125rem;font-weight:700;margin:0 0 4px;display:flex;align-items:center}.list-header .list-subtitle{color:var(--ep-color-text-muted);font-size:.875rem;margin:0}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-badge i{font-size:.75rem}.status-badge.badge-completed{background:var(--ep-color-success-bg);color:var(--ep-color-success);border:1px solid var(--ep-color-success-border)}.status-badge.badge-in-progress{background:var(--ep-color-warning-bg);color:var(--ep-color-warning);border:1px solid var(--ep-color-warning-border)}.status-badge.badge-active{background:var(--ep-color-primary-glow);color:var(--ep-color-primary-400);border:1px solid var(--ep-color-border-focus)}.status-badge.badge-upcoming{background:#fbbf2414;color:var(--ep-color-warning);border:1px solid rgba(251,191,36,.2)}.status-badge.badge-expired{background:var(--ep-color-danger-bg);color:var(--ep-color-danger);border:1px solid var(--ep-color-danger-border)}@media print{html,body,.admin-shell,.admin-body,.page-content,.results-page{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important;position:relative!important;padding:0!important;margin:0!important;background:#fff!important;color:#000!important}app-header,app-sidebar,.mobile-bottom-nav,ep-page-header,.filter-bar,.results-page ep-page-header,.results-page .flex.gap-2{display:none!important}.results-page-layout{display:block!important;width:100%!important;max-width:100%!important;gap:0!important}.sidebar-container{width:100%!important;margin-bottom:2rem!important;page-break-inside:avoid;break-inside:avoid}.vertical-scorecard-card{border:1px solid #cbd5e1!important;background:#fff!important;box-shadow:none!important;padding:1.5rem!important;display:block!important}.analysis-container{width:100%!important}.analysis-section-card{border:none!important;box-shadow:none!important;background:#fff!important}.section-header{border-bottom:2px solid #000000!important;padding:1rem 0!important}.question-rows-list{display:block!important}.question-analysis-row{display:block!important;page-break-inside:avoid;break-inside:avoid;border-bottom:1px solid #e2e8f0!important;padding:1.5rem 0!important}.row-left-panel,.row-right-panel{display:block!important;width:100%!important}.row-right-panel{margin-top:1rem!important}.result-breakdown-box{background:#fff!important;border:1px solid #cbd5e1!important;padding:.75rem!important;box-shadow:none!important}.pill-badge{border:1px solid #94a3b8!important;background:#fff!important;color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.pill-badge.pill-success{border-color:#10b981!important;color:#047857!important}.pill-badge.pill-danger{border-color:#ef4444!important;color:#b91c1c!important}.status-badge-pill{print-color-adjust:exact;-webkit-print-color-adjust:exact}.status-badge-pill.pill-pass{background-color:#d1fae5!important;color:#065f46!important}.status-badge-pill.pill-fail{background-color:#fee2e2!important;color:#991b1b!important}}
