@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--color-primary:#003ec7;--color-primary-container:#0052ff;--color-on-primary:#fff;--color-primary-fixed:#dde1ff;--color-primary-fixed-dim:#b7c4ff;--color-on-primary-fixed:#001452;--color-secondary:#525f73;--color-secondary-container:#d6e3fb;--color-on-secondary:#fff;--color-tertiary:#952200;--color-tertiary-container:#bf3003;--color-on-tertiary:#fff;--color-error:#ba1a1a;--color-error-container:#ffdad6;--color-on-error:#fff;--color-background:#faf8ff;--color-surface:#faf8ff;--color-surface-bright:#faf8ff;--color-surface-container-lowest:#fff;--color-surface-container-low:#f2f3ff;--color-surface-container:#eaedff;--color-surface-container-high:#e2e7ff;--color-surface-container-highest:#dae2fd;--color-surface-dim:#d2d9f4;--color-surface-tint:#004ced;--color-surface-variant:#dae2fd;--color-on-background:#131b2e;--color-on-surface:#131b2e;--color-on-surface-variant:#434656;--color-outline:#737688;--color-outline-variant:#c3c5d9;--font-display:"Manrope", sans-serif;--font-body:"Inter", sans-serif;--text-display-lg:3.5rem;--text-display-md:2.75rem;--text-display-sm:2.25rem;--text-headline-lg:2rem;--text-headline-md:1.75rem;--text-headline-sm:1.5rem;--text-title-lg:1.375rem;--text-title-md:1.125rem;--text-title-sm:.875rem;--text-body-lg:1rem;--text-body-md:.875rem;--text-body-sm:.75rem;--text-label-lg:.875rem;--text-label-md:.75rem;--text-label-sm:.6875rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.125rem;--radius-md:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 2px 8px #131b2e0d;--shadow-md:0 4px 16px #131b2e12;--shadow-lg:0 10px 40px #131b2e14;--shadow-xl:0 20px 60px #131b2e1f;--glass-bg:#faf8ffcc;--glass-blur:12px;--glass-border:#c3c5d933;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--z-base:0;--z-raised:10;--z-overlay:20;--z-modal:30;--z-toast:40;--z-topbar:50}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-on-surface);font-size:var(--text-body-lg);line-height:var(--leading-normal);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-on-surface);line-height:var(--leading-tight);letter-spacing:-.02em}h1{font-size:var(--text-display-sm);font-weight:800}h2{font-size:var(--text-headline-lg);font-weight:700}h3{font-size:var(--text-headline-md);font-weight:700}h4{font-size:var(--text-title-lg);font-weight:600}h5{font-size:var(--text-title-md);font-weight:600}h6{font-size:var(--text-title-sm);font-weight:600}p{font-family:var(--font-body);color:var(--color-on-surface-variant);line-height:var(--leading-normal)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-label-lg);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;padding:var(--space-3) var(--space-6);letter-spacing:.01em;border:none;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 0 0 0 rgba(var(--color-primary), 0)}.btn-primary:hover{background:color-mix(in srgb, var(--color-primary) 85%, black);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface-container-high);color:var(--color-primary);font-weight:600}.btn-secondary:hover{background:var(--color-surface-container-highest)}.btn-ghost{color:var(--color-primary);padding:var(--space-3) var(--space-4);background:0 0}.btn-ghost:hover{background:var(--color-surface-container-low)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-body-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-label-md)}.card{background:var(--color-surface-container-lowest);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-elevated{background:var(--color-surface-container-lowest);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-lg)}.card-surface{background:var(--color-surface-container);border-radius:var(--radius-lg);padding:var(--space-6)}.input{background:var(--color-surface-container-lowest);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-body-lg);color:var(--color-on-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border:1.5px solid #0000;outline:none;box-shadow:inset 0 0 0 1px #c3c5d94d}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #003ec71f}.input::placeholder{color:var(--color-outline)}.input-error{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #ba1a1a1f!important}.input-label{font-size:var(--text-label-lg);color:var(--color-on-surface);margin-bottom:var(--space-2);font-weight:500;display:block}.input-group{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border)}.badge{align-items:center;gap:var(--space-1);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-label-sm);letter-spacing:.03em;font-weight:600;display:inline-flex}.badge-primary{background:var(--color-primary-fixed);color:var(--color-on-primary-fixed)}.badge-success{color:#0d5624;background:#d3f4de}.badge-warning{color:#7a4f01;background:#fff3cd}.badge-error{background:var(--color-error-container);color:var(--color-error)}.table-root{border-collapse:separate;border-spacing:0;width:100%}.table-root tr{min-height:64px}.table-root th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-label-md);color:var(--color-on-surface-variant);letter-spacing:.05em;text-transform:uppercase;background:var(--color-surface-container-low);font-weight:600}.table-root td{padding:var(--space-4);font-size:var(--text-body-md);color:var(--color-on-surface);vertical-align:middle}.table-root tbody tr:hover td{background:var(--color-surface-container-highest)}.table-root tbody tr+tr td{padding-top:var(--space-4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideInLeft}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.gradient-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-container) 100%)}.gradient-text{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-container) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:1120px;padding:0 var(--space-6);margin:0 auto}.app-shell{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-surface-container-low);border-right:1px solid var(--glass-border);width:256px;transition:width var(--transition-normal);grid-row:1/-1;overflow:hidden}.sidebar.collapsed{width:64px}.topbar{z-index:var(--z-topbar);height:64px;padding:0 var(--space-6);align-items:center;display:flex;position:sticky;top:0}.main-content{padding:var(--space-8);background:var(--color-surface-container);min-height:calc(100vh - 64px);overflow-y:auto}.exam-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#131b2ee6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-outline)}
