﻿:root{--accent-50: #eef4ff;--accent-100: #dbe7ff;--accent-200: #bed3ff;--accent-300: #91b5ff;--accent-400: #5d8dfc;--accent-500: #3767f0;--accent-600: #2450e0;--accent-700: #1d3fbd;--accent-800: #1d3799;--accent-900: #1d3379;--neutral-0: #ffffff;--neutral-25: #fcfcfd;--neutral-50: #f8f9fb;--neutral-100: #f1f3f7;--neutral-200: #e6e9ef;--neutral-300: #d3d8e2;--neutral-400: #9aa3b5;--neutral-500: #6b7488;--neutral-600: #4d5567;--neutral-700: #3a4152;--neutral-800: #252b39;--neutral-900: #161b26;--neutral-950: #0e121b;--success-50: #e9f9f0;--success-100: #ccf0dd;--success-500: #12a05c;--success-600: #0d8a4e;--success-700: #0a6f3f;--warning-50: #fff6e6;--warning-100: #ffe9c2;--warning-500: #d98407;--warning-600: #b96f05;--warning-700: #965a04;--danger-50: #fdeeee;--danger-100: #fbd7d7;--danger-500: #d92d2d;--danger-600: #bd2020;--danger-700: #9c1a1a;--info-50: #e9f4fd;--info-100: #cbe5fa;--info-500: #1183d6;--info-600: #0d6db4;--info-700: #0a5991;--bg-canvas: var(--neutral-50);--bg-surface: var(--neutral-0);--bg-surface-raised: var(--neutral-0);--bg-subtle: var(--neutral-100);--bg-muted: var(--neutral-200);--bg-inverse: var(--neutral-900);--bg-hover: rgba(16,24,40,.04);--bg-active: rgba(16,24,40,.07);--bg-overlay: rgba(16,24,40,.55);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-muted: var(--neutral-500);--text-disabled: var(--neutral-400);--text-inverse: var(--neutral-0);--text-accent: var(--accent-600);--text-on-accent: #ffffff;--border-subtle: var(--neutral-200);--border-default: var(--neutral-300);--border-strong: var(--neutral-400);--border-accent: var(--accent-500);--sidebar-width: 260px;--sidebar-width-mini: 74px;--header-height: 62px;--sidebar-bg: var(--neutral-0);--sidebar-border: var(--border-subtle);--sidebar-text: var(--neutral-600);--sidebar-text-hover: var(--neutral-900);--sidebar-text-active: var(--accent-700);--sidebar-active-bg: var(--accent-50);--sidebar-section: var(--neutral-400);--header-bg: rgba(255,255,255,.85);--header-border: var(--border-subtle);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16,24,40,.05);--shadow-sm: 0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);--shadow-md: 0 4px 8px -2px rgba(16,24,40,.08),0 2px 4px -2px rgba(16,24,40,.04);--shadow-lg: 0 12px 16px -4px rgba(16,24,40,.08),0 4px 6px -2px rgba(16,24,40,.03);--shadow-xl: 0 20px 24px -4px rgba(16,24,40,.10),0 8px 8px -4px rgba(16,24,40,.04);--shadow-focus: 0 0 0 3px var(--accent-100);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans: "Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-mono: ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.55;--leading-relaxed: 1.7;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--ease-out: cubic-bezier(.16,1,.3,1);--ease-in-out: cubic-bezier(.65,0,.35,1);--duration-fast: 120ms;--duration-base: 180ms;--duration-slow: 260ms;--z-sidebar: 1020;--z-header: 1030;--z-dropdown: 1040;--z-overlay: 1045;--z-modal: 1055;--z-toast: 1080;--z-progress: 1090}body[data-theme="dark"],body.theme-dark{--bg-canvas: var(--neutral-950);--bg-surface: var(--neutral-900);--bg-surface-raised: var(--neutral-800);--bg-subtle: var(--neutral-800);--bg-muted: var(--neutral-700);--bg-inverse: var(--neutral-0);--bg-hover: rgba(255,255,255,.05);--bg-active: rgba(255,255,255,.09);--bg-overlay: rgba(0,0,0,.65);--text-primary: #eef1f6;--text-secondary: #b3bccd;--text-muted: #8e98ab;--text-disabled: #626c7e;--text-inverse: var(--neutral-900);--text-accent: var(--accent-300);--border-subtle: #262d3b;--border-default: #333c4d;--border-strong: #47526642;--sidebar-bg: var(--neutral-900);--sidebar-border: #262d3b;--sidebar-text: #b3bccd;--sidebar-text-hover: #ffffff;--sidebar-text-active: #ffffff;--sidebar-active-bg: rgba(55,103,240,.18);--sidebar-section: #6f7a8d;--header-bg: rgba(22,27,38,.85);--header-border: #262d3b;--accent-50: #17203a;--accent-100: #1d2b4d;--shadow-xs: 0 1px 2px rgba(0,0,0,.4);--shadow-sm: 0 1px 3px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 8px -2px rgba(0,0,0,.5),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 12px 16px -4px rgba(0,0,0,.55),0 4px 6px -2px rgba(0,0,0,.3);--shadow-xl: 0 20px 24px -4px rgba(0,0,0,.6),0 8px 8px -4px rgba(0,0,0,.35);--shadow-focus: 0 0 0 3px rgba(55,103,240,.35);color-scheme: dark}:root,body[data-theme="dark"]{--bs-primary: var(--accent-500);--bs-primary-rgb: 55,103,240;--bs-secondary: var(--neutral-500);--bs-success: var(--success-500);--bs-info: var(--info-500);--bs-warning: var(--warning-500);--bs-danger: var(--danger-500);--bs-light: var(--bg-subtle);--bs-dark: var(--neutral-900);--bs-body-bg: var(--bg-canvas);--bs-body-color: var(--text-primary);--bs-body-font-family: var(--font-sans);--bs-body-font-size: var(--text-base);--bs-body-line-height: var(--leading-normal);--bs-border-color: var(--border-subtle);--bs-border-radius: var(--radius-md);--bs-border-radius-sm: var(--radius-sm);--bs-border-radius-lg: var(--radius-lg);--bs-border-radius-xl: var(--radius-xl);--bs-link-color: var(--text-accent);--bs-link-hover-color: var(--accent-700);--bs-emphasis-color: var(--text-primary);--bs-secondary-color: var(--text-secondary);--bs-tertiary-color: var(--text-muted);--bs-secondary-bg: var(--bg-subtle);--bs-tertiary-bg: var(--bg-subtle)}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%}body{margin: 0;min-height: 100vh;font-family: var(--font-sans);font-size: var(--text-base);line-height: var(--leading-normal);font-weight: var(--weight-normal);color: var(--text-primary);background-color: var(--bg-canvas);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;transition: background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin: 0 0 var(--space-2);font-family: var(--font-sans);font-weight: var(--weight-semibold);line-height: var(--leading-tight);color: var(--text-primary);letter-spacing: -.01em}h1,.h1{font-size: var(--text-3xl);letter-spacing: -.02em}h2,.h2{font-size: var(--text-2xl);letter-spacing: -.02em}h3,.h3{font-size: var(--text-xl)}h4,.h4{font-size: var(--text-lg)}h5,.h5{font-size: var(--text-md)}h6,.h6{font-size: var(--text-base)}p{margin: 0 0 var(--space-3)}p:last-child{margin-bottom: 0}small,.small{font-size: var(--text-xs)}strong,b{font-weight: var(--weight-semibold)}hr{height: 1px;margin: var(--space-5) 0;border: 0;background-color: var(--border-subtle);opacity: 1}a{color: var(--text-accent);text-decoration: none;transition: color var(--duration-fast) var(--ease-out)}a:hover{color: var(--accent-700);text-decoration: none}body[data-theme="dark"] a:hover{color: var(--accent-200)}a[onclick]:not([href]),a:not([href]):not([class]){cursor: pointer;color: inherit}:focus{outline: none}:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px;border-radius: var(--radius-xs)}img,svg,video,canvas{max-width: 100%;height: auto;vertical-align: middle}code,kbd,pre,samp{font-family: var(--font-mono);font-size: .875em}code{padding: .15em .4em;border-radius: var(--radius-xs);background-color: var(--bg-subtle);color: var(--text-primary)}pre{padding: var(--space-4);overflow-x: auto;border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-subtle)}pre code{padding: 0;background: none}::selection{background-color: var(--accent-200);color: var(--accent-900)}body[data-theme="dark"] ::selection{background-color: var(--accent-700);color: #fff}*{scrollbar-width: thin;scrollbar-color: var(--border-default) transparent}::-webkit-scrollbar{width: 10px;height: 10px}::-webkit-scrollbar-track{background: transparent}::-webkit-scrollbar-thumb{border: 2px solid transparent;border-radius: var(--radius-pill);background-color: var(--border-default);background-clip: content-box}::-webkit-scrollbar-thumb:hover{background-color: var(--border-strong)}.text-muted{color: var(--text-muted) !important}.text-secondary{color: var(--text-secondary) !important}.text-primary{color: var(--text-accent) !important}.text-danger{color: var(--danger-500) !important}.text-success{color: var(--success-500) !important}.text-warning{color: var(--warning-600) !important}.text-info{color: var(--info-500) !important}.text-white{color: #fff !important}.text-dark{color: var(--text-primary) !important}.fw-bold{font-weight: var(--weight-bold) !important}.fw-semibold{font-weight: var(--weight-semibold) !important}.fw-medium{font-weight: var(--weight-medium) !important}.fw-normal{font-weight: var(--weight-normal) !important}.text-truncate{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}@media print{body{background: #fff;color: #000}.sidebar,.main-header,.footer,.help-panel,.btn,#page-progress-bar{display: none !important}.main-panel{margin: 0 !important;width: 100% !important}.card{border: 1px solid #ddd !important;box-shadow: none !important;break-inside: avoid}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: .01ms !important;animation-iteration-count: 1 !important;transition-duration: .01ms !important;scroll-behavior: auto !important}}.wrapper{position: relative;display: flex;flex-direction: column;min-height: 100vh;background-color: var(--bg-canvas)}.sidebar{position: fixed;top: 0;left: 0;bottom: 0;z-index: var(--z-sidebar);display: flex;flex-direction: column;width: var(--sidebar-width);background-color: var(--sidebar-bg);border-right: 1px solid var(--sidebar-border);transition: width var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.sidebar[data-background-color]{background-color: var(--sidebar-bg)}.sidebar-wrapper{flex: 1;min-height: 0;overflow-x: hidden;overflow-y: auto;padding-top: var(--header-height)}.scroll-wrapper > .sidebar-wrapper{padding-top: 0}.sidebar-content{padding: var(--space-3) var(--space-3) var(--space-6)}.sidebar .nav,.nav.nav-primary{display: flex;flex-direction: column;gap: 2px;margin: 0;padding: 0;list-style: none}.sidebar .nav-section{margin: var(--space-4) 0 var(--space-1);padding: 0 var(--space-3)}.sidebar .nav-section:first-child{margin-top: 0}.sidebar .nav-section .text-section{margin: 0;font-size: var(--text-xs);font-weight: var(--weight-semibold);letter-spacing: .06em;text-transform: uppercase;color: var(--sidebar-section)}.sidebar .nav-section .sidebar-mini-icon{display: none;color: var(--sidebar-section)}.sidebar .nav > .nav-item > a,.sidebar .nav-collapse > li > a{position: relative;display: flex;align-items: center;gap: var(--space-3);padding: 9px var(--space-3);border-radius: var(--radius-md);font-size: var(--text-base);font-weight: var(--weight-medium);color: var(--sidebar-text);white-space: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar .nav > .nav-item > a > i,.sidebar .nav-collapse .sub-item > i{flex: 0 0 20px;display: inline-flex;align-items: center;justify-content: center;width: 20px;height: 20px;font-size: 15px;line-height: 1;color: inherit;opacity: .85}.sidebar .nav > .nav-item > a > p,.sidebar .nav > .nav-item > a > span:not(.caret){flex: 1;margin: 0;overflow: hidden;text-overflow: ellipsis}.sidebar .nav > .nav-item > a:hover,.sidebar .nav-collapse > li > a:hover{background-color: var(--bg-hover);color: var(--sidebar-text-hover)}.sidebar .nav > .nav-item.active > a,.sidebar .nav-collapse > li.active > a{background-color: var(--sidebar-active-bg);color: var(--sidebar-text-active);font-weight: var(--weight-semibold)}.sidebar .nav > .nav-item.active > a::before,.sidebar .nav-collapse > li.active > a::before{content: "";position: absolute;left: calc(var(--space-3) * -1);top: 50%;transform: translateY(-50%);width: 3px;height: 20px;border-radius: 0 var(--radius-pill) var(--radius-pill) 0;background-color: var(--accent-500)}.sidebar .nav > .nav-item.active > a > i{opacity: 1}.sidebar .caret{flex: 0 0 auto;margin-left: auto;width: 0;height: 0;border-top: 4px solid currentColor;border-right: 4px solid transparent;border-left: 4px solid transparent;opacity: .55;transition: transform var(--duration-fast) var(--ease-out)}.sidebar a[aria-expanded="true"] .caret{transform: rotate(180deg)}.sidebar .nav-collapse{display: flex;flex-direction: column;gap: 2px;margin: 2px 0 var(--space-1);padding: 0 0 0 var(--space-6);list-style: none}.sidebar .nav-collapse > li > a{padding: 7px var(--space-3);font-weight: var(--weight-normal);font-size: var(--text-sm)}.sidebar .nav-collapse .sub-item{display: flex;align-items: center;gap: var(--space-2);overflow: hidden;text-overflow: ellipsis}.wrapper.compact-wrapper{--sidebar-width: 88px}.compact-wrapper .sidebar-content{padding: var(--space-2) var(--space-1) var(--space-6)}.compact-wrapper .sidebar .nav > .nav-item > a{flex-direction: column;justify-content: center;gap: 4px;padding: 10px 2px;font-size: var(--text-xs);line-height: 1.25;text-align: center;white-space: normal}.compact-wrapper .sidebar .nav > .nav-item > a > i{flex: 0 0 auto;width: 24px;height: 24px;font-size: 18px}.compact-wrapper .sidebar .nav > .nav-item > a > p{flex: none;max-width: 100%;overflow-wrap: break-word}.compact-wrapper .sidebar .nav > .nav-item.active > a::before{left: calc(var(--space-1) * -1)}.compact-wrapper .logo-header{padding-inline: var(--space-2);justify-content: center}.compact-wrapper .logo-header .navbar-brand{display: none}.compact-wrapper .logo-header .navbar-brand-mini{display: block;max-height: 40px;max-width: 100%}.wrapper.sidebar_minimize .sidebar{width: var(--sidebar-width-mini)}.wrapper.sidebar_minimize .sidebar .nav > .nav-item > a > p,.wrapper.sidebar_minimize .sidebar .caret,.wrapper.sidebar_minimize .sidebar .text-section,.wrapper.sidebar_minimize .sidebar .nav-collapse{display: none}.wrapper.sidebar_minimize .sidebar .nav-section .sidebar-mini-icon{display: block;text-align: center}.wrapper.sidebar_minimize .sidebar .nav > .nav-item > a{justify-content: center;padding-inline: 0}.wrapper.sidebar_minimize .main-panel{margin-left: var(--sidebar-width-mini);width: calc(100% - var(--sidebar-width-mini))}.wrapper.sidebar_minimize .logo-header{width: var(--sidebar-width-mini);padding-inline: var(--space-2);justify-content: center}.wrapper.sidebar_minimize .logo-header .navbar-brand{display: none}.wrapper.sidebar_minimize .logo-header .navbar-brand-mini{display: block;max-width: 34px}.wrapper.sidebar_minimize .sidebar:hover{width: var(--sidebar-width);box-shadow: var(--shadow-lg)}.wrapper.sidebar_minimize .sidebar:hover .nav > .nav-item > a > p,.wrapper.sidebar_minimize .sidebar:hover .caret,.wrapper.sidebar_minimize .sidebar:hover .text-section{display: block}.wrapper.sidebar_minimize .sidebar:hover .nav-collapse{display: flex}.wrapper.sidebar_minimize .sidebar:hover .nav-section .sidebar-mini-icon{display: none}.wrapper.sidebar_minimize .sidebar:hover .nav > .nav-item > a{justify-content: flex-start;padding-inline: var(--space-3)}.main-header{position: fixed;top: 0;right: 0;left: 0;z-index: var(--z-header);display: flex;align-items: stretch;height: var(--header-height);background-color: var(--header-bg);backdrop-filter: saturate(180%) blur(12px);-webkit-backdrop-filter: saturate(180%) blur(12px);border-bottom: 1px solid var(--header-border)}.logo-header{display: flex;align-items: center;gap: var(--space-2);flex: 0 0 var(--sidebar-width);width: var(--sidebar-width);height: var(--header-height);padding: 0 var(--space-4);border-right: 1px solid var(--header-border);transition: width var(--duration-base) var(--ease-out)}.logo-header[data-background-color]{background-color: transparent}.logo-header .logo{display: inline-flex;align-items: center;min-width: 0}.logo-header .navbar-brand{max-height: 36px;max-width: 100%;width: auto}.logo-header .navbar-brand-mini{display: none}.logo-header .navbar-toggler,.logo-header .topbar-toggler{display: none;align-items: center;justify-content: center;width: 36px;height: 36px;padding: 0;border: 0;border-radius: var(--radius-md);background: transparent;color: var(--text-secondary);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out)}.logo-header .navbar-toggler:hover,.logo-header .topbar-toggler:hover{background-color: var(--bg-hover);color: var(--text-primary)}.logo-header .navbar-toggler-icon{display: inline-flex;background-image: none;width: auto;height: auto}.navbar-header{flex: 1;min-width: 0;padding: 0;background-color: transparent !important}.navbar-header .container-fluid{display: flex;align-items: center;gap: var(--space-4);width: 100%;height: var(--header-height);padding: 0 var(--space-5)}.navbar-header #search-nav{display: flex !important;align-items: center;gap: var(--space-3);flex: 1;min-width: 0;height: auto;visibility: visible}.page-title{margin: 0;font-size: var(--text-lg);font-weight: var(--weight-semibold);color: var(--text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.breadcrumbs{display: flex;align-items: center;gap: var(--space-1);margin: 0;padding: 0 0 0 var(--space-3);border-left: 1px solid var(--border-subtle);list-style: none;min-width: 0;overflow: hidden}.breadcrumbs > li{display: flex;align-items: center;min-width: 0}.breadcrumbs a{display: inline-block;padding: var(--space-1) var(--space-2);border-radius: var(--radius-sm);font-size: var(--text-sm);color: var(--text-secondary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.breadcrumbs a:hover{background-color: var(--bg-hover);color: var(--text-primary)}.breadcrumbs .separator{color: var(--text-disabled);font-size: var(--text-xs);padding-inline: 2px}.breadcrumbs .nav-home a{color: var(--text-muted)}.breadcrumbs > li:last-child a{color: var(--text-primary);font-weight: var(--weight-medium)}.topbar-nav{display: flex;align-items: center;gap: var(--space-1);margin: 0 0 0 auto;padding: 0;list-style: none}.topbar-nav .nav-item{display: flex;align-items: center}.topbar-nav .nav-link{display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-3);border-radius: var(--radius-md);font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary);white-space: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.topbar-nav .nav-link:hover{background-color: var(--bg-hover);color: var(--text-primary)}.topbar-nav .nav-link i{font-size: 15px}.circle-small-top-avatar{width: 30px;height: 30px;border-radius: var(--radius-pill);object-fit: cover;border: 1px solid var(--border-subtle)}.main-panel{display: flex;flex-direction: column;flex: 1;min-height: 100vh;margin-left: var(--sidebar-width);width: calc(100% - var(--sidebar-width));padding-top: var(--header-height);transition: margin-left var(--duration-base) var(--ease-out),width var(--duration-base) var(--ease-out)}.main-panel > .content{flex: 1;padding: var(--space-6)}.page-inner{width: 100%;padding: 0}.content > .page-inner{max-width: 1600px;margin-inline: auto}.footer{padding: var(--space-5) var(--space-6);border-top: 1px solid var(--border-subtle);font-size: var(--text-sm);color: var(--text-muted);background-color: var(--bg-surface)}.footer a{color: var(--text-secondary)}.footer a:hover{color: var(--text-accent)}.panel-header{position: relative;padding: var(--space-8) var(--space-6);background: linear-gradient(135deg,var(--accent-600),var(--accent-800));color: #fff}.panel-header h1,.panel-header h2,.panel-header h3,.panel-header h4,.panel-header h5,.panel-header .page-title{color: #fff}.panel-header .text-white{color: #fff !important}.bg-primary-gradient,.bg-secondary-gradient,.bg-info-gradient,.bg-success-gradient{background: linear-gradient(135deg,var(--accent-600),var(--accent-800)) !important;color: #fff}.bg-dark-gradient{background: linear-gradient(135deg,var(--neutral-800),var(--neutral-950)) !important;color: #fff}.mt--6,.mt--5,.mt--4{margin-top: var(--space-5) !important}.panel-header + .page-inner,.panel-header + .content .page-inner{margin-top: var(--space-5)}@media (max-width: 991.98px){.sidebar{transform: translateX(-100%);box-shadow: none}.wrapper.nav_open .sidebar{transform: translateX(0);box-shadow: var(--shadow-xl)}.wrapper.nav_open::after{content: "";position: fixed;inset: 0;z-index: calc(var(--z-sidebar) - 1);background-color: var(--bg-overlay);animation: cq-fade-in var(--duration-base) var(--ease-out)}.main-panel,.wrapper.sidebar_minimize .main-panel{margin-left: 0;width: 100%}.main-panel > .content{padding: var(--space-4)}.logo-header,.wrapper.sidebar_minimize .logo-header{flex: 0 0 auto;width: auto;justify-content: flex-start;border-right: 0;padding-inline: var(--space-3)}.logo-header .navbar-toggler,.logo-header .topbar-toggler{display: inline-flex}.logo-header .navbar-toggler{order: -1}.navbar-header #search-nav{display: none !important}.navbar-header .container-fluid{padding-inline: var(--space-3);gap: var(--space-2)}.topbar-nav{position: fixed;top: var(--header-height);right: 0;left: 0;z-index: var(--z-dropdown);flex-direction: column;align-items: stretch;gap: 0;padding: var(--space-2);background-color: var(--bg-surface);border-bottom: 1px solid var(--border-subtle);box-shadow: var(--shadow-lg);opacity: 0;visibility: hidden;transform: translateY(-8px);transition: opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),visibility var(--duration-base)}.wrapper.topbar_open .topbar-nav{opacity: 1;visibility: visible;transform: translateY(0)}.topbar-nav .nav-item{width: 100%}.topbar-nav .nav-link{width: 100%;padding: var(--space-3)}.topbar-nav .dropdown-menu{position: static !important;transform: none !important;width: 100%;margin: 0;border: 0;box-shadow: none;background-color: var(--bg-subtle)}.panel-header{padding: var(--space-6) var(--space-4)}}@media (max-width: 575.98px){.main-panel > .content{padding: var(--space-3)}.footer{padding: var(--space-4) var(--space-3);text-align: center}}@keyframes cq-fade-in{from{opacity: 0}to{opacity: 1}}#page-progress-bar{position: fixed;inset: 0;z-index: var(--z-progress);display: none;align-items: center;justify-content: center;background-color: var(--bg-overlay)}#page-progress-bar.active,#page-progress-bar[style*="block"]{display: flex !important}#page-progress-bar .loader,.loader{width: 38px;height: 38px;border: 3px solid var(--border-default);border-top-color: var(--accent-500);border-radius: var(--radius-pill);animation: cq-spin .7s linear infinite;margin-inline: auto}#detail-TabsContent > .loader{margin-block: 20vh}@keyframes cq-spin{to{transform: rotate(360deg)}}.help-panel{position: fixed;top: 0;right: -100%;bottom: 0;z-index: var(--z-modal);display: flex;flex-direction: column;width: min(420px,100vw);background-color: var(--bg-surface);border-left: 1px solid var(--border-subtle);box-shadow: var(--shadow-xl);transition: right var(--duration-slow) var(--ease-out),width var(--duration-base) var(--ease-out)}.help-panel.open,.help-panel.show{right: 0}.help-panel.expanded{width: min(860px,100vw)}.help-panel .title{display: flex;align-items: center;gap: var(--space-2);padding: var(--space-4) var(--space-5);border-bottom: 1px solid var(--border-subtle);background: linear-gradient(135deg,var(--accent-600),var(--accent-700));color: #fff;font-weight: var(--weight-semibold)}.help-panel .title a{color: #fff;opacity: .85}.help-panel .title a:hover{opacity: 1}.help-panel .custom-content{flex: 1;overflow-y: auto;padding: var(--space-5)}.card{position: relative;display: flex;flex-direction: column;min-width: 0;margin-bottom: var(--space-5);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);background-clip: border-box;box-shadow: var(--shadow-xs);transition: box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.card:hover{box-shadow: var(--shadow-sm)}.card-header{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap;padding: var(--space-4) var(--space-5);border-bottom: 1px solid var(--border-subtle);border-radius: var(--radius-lg) var(--radius-lg) 0 0;background-color: transparent;font-weight: var(--weight-semibold);color: var(--text-primary)}.card-header .card-title,.card-title{margin: 0;font-size: var(--text-md);font-weight: var(--weight-semibold);color: var(--text-primary)}.card-header .card-category,.card-category{margin: 0;font-size: var(--text-sm);font-weight: var(--weight-normal);color: var(--text-muted)}.card-body{flex: 1 1 auto;padding: var(--space-5)}.card-footer{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;padding: var(--space-4) var(--space-5);border-top: 1px solid var(--border-subtle);border-radius: 0 0 var(--radius-lg) var(--radius-lg);background-color: var(--bg-surface)}.card > .card-body:first-child{border-radius: var(--radius-lg)}.btn{--btn-bg: transparent;--btn-fg: var(--text-primary);--btn-border: transparent;--btn-bg-hover: var(--bg-hover);--btn-ring: var(--accent-100);display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);padding: 8px 14px;border: 1px solid var(--btn-border);border-radius: var(--radius-md);background-color: var(--btn-bg);color: var(--btn-fg);font-family: inherit;font-size: var(--text-base);font-weight: var(--weight-medium);line-height: 1.4;white-space: nowrap;text-align: center;vertical-align: middle;cursor: pointer;user-select: none;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:hover{background-color: var(--btn-bg-hover);color: var(--btn-fg)}.btn:active{transform: translateY(1px)}.btn:focus-visible{outline: none;box-shadow: 0 0 0 3px var(--btn-ring)}.btn:disabled,.btn.disabled{opacity: .55;pointer-events: none}.btn i{font-size: .95em}.btn-primary{--btn-bg: var(--accent-500);--btn-fg: #fff;--btn-border: var(--accent-500);--btn-bg-hover: var(--accent-600);box-shadow: var(--shadow-xs)}.btn-primary:hover{border-color: var(--accent-600);color: #fff}.btn-secondary{--btn-bg: var(--bg-surface);--btn-fg: var(--text-primary);--btn-border: var(--border-default);--btn-bg-hover: var(--bg-subtle);--btn-ring: var(--bg-active);box-shadow: var(--shadow-xs)}.btn-success{--btn-bg: var(--success-500);--btn-fg: #fff;--btn-border: var(--success-500);--btn-bg-hover: var(--success-600);--btn-ring: var(--success-100)}.btn-success:hover{border-color: var(--success-600);color: #fff}.btn-danger{--btn-bg: var(--danger-500);--btn-fg: #fff;--btn-border: var(--danger-500);--btn-bg-hover: var(--danger-600);--btn-ring: var(--danger-100)}.btn-danger:hover{border-color: var(--danger-600);color: #fff}.btn-warning{--btn-bg: var(--warning-500);--btn-fg: #fff;--btn-border: var(--warning-500);--btn-bg-hover: var(--warning-600);--btn-ring: var(--warning-100)}.btn-warning:hover{border-color: var(--warning-600);color: #fff}.btn-info{--btn-bg: var(--info-500);--btn-fg: #fff;--btn-border: var(--info-500);--btn-bg-hover: var(--info-600);--btn-ring: var(--info-100)}.btn-info:hover{border-color: var(--info-600);color: #fff}.btn-light{--btn-bg: var(--bg-subtle);--btn-fg: var(--text-primary);--btn-border: var(--border-subtle);--btn-bg-hover: var(--bg-muted)}.btn-dark{--btn-bg: var(--neutral-800);--btn-fg: #fff;--btn-border: var(--neutral-800);--btn-bg-hover: var(--neutral-900)}.btn-dark:hover{color: #fff}.btn-white{--btn-bg: #fff;--btn-fg: var(--accent-700);--btn-border: #fff;--btn-bg-hover: var(--accent-50);box-shadow: var(--shadow-sm)}.btn-white:hover{color: var(--accent-800)}.btn-link{--btn-bg: transparent;--btn-fg: var(--text-accent);--btn-border: transparent;--btn-bg-hover: transparent;padding-inline: var(--space-1);text-decoration: none}.btn-link:hover{color: var(--accent-700);text-decoration: underline}.btn-outline-primary{--btn-bg: transparent;--btn-fg: var(--text-accent);--btn-border: var(--accent-300);--btn-bg-hover: var(--accent-50)}.btn-outline-primary:hover{border-color: var(--accent-500);color: var(--accent-700)}body[data-theme="dark"] .btn-outline-primary:hover{color: var(--accent-200)}.btn-outline-secondary{--btn-bg: transparent;--btn-fg: var(--text-secondary);--btn-border: var(--border-default);--btn-bg-hover: var(--bg-subtle);--btn-ring: var(--bg-active)}.btn-outline-secondary:hover{border-color: var(--border-strong);color: var(--text-primary)}.btn-outline-success{--btn-bg: transparent;--btn-fg: var(--success-600);--btn-border: var(--success-500);--btn-bg-hover: var(--success-50);--btn-ring: var(--success-100)}.btn-outline-danger{--btn-bg: transparent;--btn-fg: var(--danger-500);--btn-border: var(--danger-500);--btn-bg-hover: var(--danger-50);--btn-ring: var(--danger-100)}.btn-outline-warning{--btn-bg: transparent;--btn-fg: var(--warning-600);--btn-border: var(--warning-500);--btn-bg-hover: var(--warning-50);--btn-ring: var(--warning-100)}.btn-outline-info{--btn-bg: transparent;--btn-fg: var(--info-600);--btn-border: var(--info-500);--btn-bg-hover: var(--info-50);--btn-ring: var(--info-100)}.btn-outline-light{--btn-bg: transparent;--btn-fg: var(--text-secondary);--btn-border: var(--border-subtle);--btn-bg-hover: var(--bg-subtle)}.btn-outline-dark{--btn-bg: transparent;--btn-fg: var(--text-primary);--btn-border: var(--border-strong);--btn-bg-hover: var(--bg-subtle)}.btn-sm,.btn-group-sm > .btn{padding: 5px 10px;font-size: var(--text-sm);border-radius: var(--radius-sm);gap: 6px}.btn-lg,.btn-group-lg > .btn{padding: 11px 20px;font-size: var(--text-md);border-radius: var(--radius-lg)}.btn-block{display: flex;width: 100%}.btn-round,.btn-rounded{border-radius: var(--radius-pill)}.btn-circle{width: 34px;height: 34px;padding: 0;border-radius: var(--radius-pill);flex: 0 0 auto}.btn-circle:not(.btn){display: inline-flex;align-items: center;justify-content: center;border: 0;background-color: transparent;color: var(--text-secondary);font-size: var(--text-md);line-height: 1;cursor: pointer;text-decoration: none;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn-circle:not(.btn):hover{background-color: var(--bg-hover);color: var(--text-primary)}.btn-circle:not(.btn):focus-visible{outline: none;box-shadow: var(--shadow-focus)}.btn-circle.btn-sm{width: 28px;height: 28px}.btn-circle.btn-lg{width: 42px;height: 42px}.btn-group > .btn{border-radius: 0}.btn-group > .btn:first-child{border-radius: var(--radius-md) 0 0 var(--radius-md)}.btn-group > .btn:last-child{border-radius: 0 var(--radius-md) var(--radius-md) 0}.btn-group > .btn:only-child{border-radius: var(--radius-md)}.form-group{margin-bottom: var(--space-4)}.form-label,.control-label{display: inline-block;margin-bottom: var(--space-2);font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary)}.form-control,.form-select{display: block;width: 100%;padding: 8px 12px;border: 1px solid var(--border-default);border-radius: var(--radius-md);background-color: var(--bg-surface);color: var(--text-primary);font-family: inherit;font-size: var(--text-base);line-height: 1.5;appearance: none;transition: border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.form-control::placeholder{color: var(--text-disabled)}.form-control:hover:not(:disabled):not([readonly]),.form-select:hover:not(:disabled){border-color: var(--border-strong)}.form-control:focus,.form-select:focus{border-color: var(--accent-500);box-shadow: var(--shadow-focus);outline: none;background-color: var(--bg-surface);color: var(--text-primary)}.form-control:disabled,.form-control[readonly],.form-select:disabled{background-color: var(--bg-subtle);color: var(--text-muted);cursor: not-allowed}textarea.form-control{min-height: 90px;resize: vertical;line-height: var(--leading-normal)}.form-control-sm,.form-select-sm{padding: 5px 10px;font-size: var(--text-sm);border-radius: var(--radius-sm)}.form-control-lg,.form-select-lg{padding: 11px 14px;font-size: var(--text-md);border-radius: var(--radius-lg)}.form-select{padding-right: 36px;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7488' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 12px center;background-size: 16px}body[data-theme="dark"] .form-select{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238e98ab' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}.form-select option{padding: 6px 12px}.form-control.input-validation-error,.form-control.is-invalid,.form-select.is-invalid{border-color: var(--danger-500)}.form-control.input-validation-error:focus,.form-control.is-invalid:focus{box-shadow: 0 0 0 3px var(--danger-100)}.field-validation-error,.invalid-feedback,.text-danger.field-validation-error{display: block;margin-top: var(--space-1);font-size: var(--text-xs);color: var(--danger-500)}.validation-summary-errors{margin-bottom: var(--space-4);padding: var(--space-3) var(--space-4);border: 1px solid var(--danger-100);border-left: 3px solid var(--danger-500);border-radius: var(--radius-md);background-color: var(--danger-50);color: var(--danger-700);font-size: var(--text-sm)}.validation-summary-errors ul{margin: 0;padding-left: var(--space-4)}body[data-theme="dark"] .validation-summary-errors{background-color: rgba(217,45,45,.12);border-color: rgba(217,45,45,.35);color: #ffb4b4}.form-check{display: flex;align-items: center;gap: var(--space-2);min-height: auto;margin-bottom: var(--space-2);padding-left: 0}.form-check-inline{display: inline-flex;align-items: center;gap: var(--space-2);margin-right: var(--space-4)}.form-check-input{flex: 0 0 auto;width: 16px;height: 16px;margin: 0;border: 1px solid var(--border-strong);border-radius: var(--radius-xs);background-color: var(--bg-surface);cursor: pointer;appearance: none;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.form-check .form-check-input{float: none;margin-left: 0}.form-check-input[type="radio"]{border-radius: var(--radius-pill)}.form-check-input:checked{border-color: var(--accent-500);background-color: var(--accent-500);background-repeat: no-repeat;background-position: center;background-size: 11px}.form-check-input[type="checkbox"]:checked{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.5 3.5L13 5'/%3E%3C/svg%3E")}.form-check-input[type="radio"]:checked{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input:focus-visible{box-shadow: var(--shadow-focus);outline: none}.form-check-input:disabled{opacity: .5;cursor: not-allowed}.form-check-label{margin: 0;font-size: var(--text-base);color: var(--text-primary);cursor: pointer}.form-switch{padding-left: 0}.form-switch .form-check-input{width: 36px;height: 20px;margin-left: 0;border-radius: var(--radius-pill);background-color: var(--border-default);border-color: var(--border-default);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='%23fff'/%3E%3C/svg%3E");background-position: left 2px center;background-size: 16px;background-repeat: no-repeat;transition: background-color var(--duration-base) var(--ease-out),background-position var(--duration-base) var(--ease-out)}.form-switch .form-check-input:checked{background-color: var(--accent-500);border-color: var(--accent-500);background-position: right 2px center}.input-group{display: flex;align-items: stretch;width: 100%}.input-group > .form-control,.input-group > .form-select{position: relative;flex: 1 1 auto;width: 1%;min-width: 0}.input-group-text{display: flex;align-items: center;padding: 8px 12px;border: 1px solid var(--border-default);background-color: var(--bg-subtle);color: var(--text-muted);font-size: var(--text-sm);white-space: nowrap}.input-group > :not(:first-child){margin-left: -1px;border-top-left-radius: 0;border-bottom-left-radius: 0}.input-group > :not(:last-child){border-top-right-radius: 0;border-bottom-right-radius: 0}.input-group > .form-control:focus,.input-group > .form-select:focus{z-index: 3}.input-group > .btn{z-index: 2}.table{width: 100%;margin-bottom: var(--space-4);border-collapse: separate;border-spacing: 0;color: var(--text-primary);font-size: var(--text-base);vertical-align: middle}.table > thead{background-color: var(--bg-subtle)}.table > thead th{padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--border-subtle);font-size: var(--text-xs);font-weight: var(--weight-semibold);letter-spacing: .04em;text-transform: uppercase;color: var(--text-muted);white-space: nowrap;vertical-align: middle}.table > tbody > tr > td{padding: var(--space-3) var(--space-4);border-top: 1px solid var(--border-subtle);vertical-align: middle}.table > tbody > tr:first-child > td{border-top: 0}.table > tbody > tr{transition: background-color var(--duration-fast) var(--ease-out)}.table-hover > tbody > tr:hover{background-color: var(--bg-hover)}.table-striped > tbody > tr:nth-of-type(odd){background-color: var(--bg-canvas)}.table-bordered,.table-bordered > thead > tr > th,.table-bordered > tbody > tr > td{border: 1px solid var(--border-subtle)}.table-sm > thead > th,.table-sm > tbody > tr > td{padding: var(--space-2) var(--space-3)}.card > .table,.card-body > .table:only-child{margin-bottom: 0}.table-responsive{overflow-x: auto;-webkit-overflow-scrolling: touch}.sort-link{display: inline-flex;align-items: center;gap: var(--space-1);color: inherit;font: inherit;text-transform: inherit;letter-spacing: inherit;cursor: pointer;transition: color var(--duration-fast) var(--ease-out)}.sort-link:hover{color: var(--text-accent)}.sort-link i{font-size: 10px;opacity: .6}.sort-link.asc i,.sort-link.desc i,.sort-link.active i{opacity: 1;color: var(--accent-500)}.modal-content{border: 1px solid var(--border-subtle);border-radius: var(--radius-xl);background-color: var(--bg-surface);box-shadow: var(--shadow-xl)}.modal-header{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-4) var(--space-5);border-bottom: 1px solid var(--border-subtle);border-radius: var(--radius-xl) var(--radius-xl) 0 0}.modal-title{margin: 0;font-size: var(--text-md);font-weight: var(--weight-semibold);color: var(--text-primary)}.modal-body{padding: var(--space-5)}.modal-footer{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-2);flex-wrap: wrap;padding: var(--space-4) var(--space-5);border-top: 1px solid var(--border-subtle);border-radius: 0 0 var(--radius-xl) var(--radius-xl);background-color: var(--bg-surface)}.modal-backdrop{background-color: var(--neutral-950)}.modal-backdrop.show{opacity: .5}.btn-close{flex: 0 0 auto;width: 30px;height: 30px;margin: 0 0 0 auto;padding: 0;border: 0;border-radius: var(--radius-md);opacity: .55;transition: opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.btn-close:hover{opacity: 1;background-color: var(--bg-hover)}body[data-theme="dark"] .btn-close{filter: invert(1) grayscale(100%) brightness(2)}.dropdown-menu{z-index: var(--z-dropdown);min-width: 200px;padding: var(--space-1);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface-raised);box-shadow: var(--shadow-lg);color: var(--text-primary);font-size: var(--text-base)}.dropdown-item{display: flex;align-items: center;gap: var(--space-2);width: 100%;padding: var(--space-2) var(--space-3);border-radius: var(--radius-sm);color: var(--text-primary);font-weight: var(--weight-normal);white-space: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.dropdown-item:hover,.dropdown-item:focus{background-color: var(--bg-hover);color: var(--text-primary)}.dropdown-item.active,.dropdown-item:active{background-color: var(--accent-50);color: var(--accent-700)}body[data-theme="dark"] .dropdown-item.active,body[data-theme="dark"] .dropdown-item:active{color: var(--accent-200)}.dropdown-item i{width: 16px;text-align: center;opacity: .75}.dropdown-divider{height: 1px;margin: var(--space-1) 0;border: 0;background-color: var(--border-subtle);overflow: hidden}.dropdown-header{padding: var(--space-2) var(--space-3);font-size: var(--text-xs);font-weight: var(--weight-semibold);text-transform: uppercase;letter-spacing: .04em;color: var(--text-muted)}.badge{display: inline-flex;align-items: center;gap: 4px;padding: 3px 8px;border-radius: var(--radius-sm);font-size: var(--text-xs);font-weight: var(--weight-semibold);line-height: 1.4;white-space: nowrap}.badge.rounded-pill,.badge.badge-pill{border-radius: var(--radius-pill);padding-inline: 9px}.badge.bg-primary{background-color: var(--accent-50) !important;color: var(--accent-700) !important}.badge.bg-secondary{background-color: var(--bg-muted) !important;color: var(--text-secondary) !important}.badge.bg-success{background-color: var(--success-50) !important;color: var(--success-700) !important}.badge.bg-danger{background-color: var(--danger-50) !important;color: var(--danger-700) !important}.badge.bg-warning{background-color: var(--warning-50) !important;color: var(--warning-700) !important}.badge.bg-info{background-color: var(--info-50) !important;color: var(--info-700) !important}.badge.bg-light{background-color: var(--bg-subtle) !important;color: var(--text-secondary) !important}.badge.bg-dark{background-color: var(--neutral-800) !important;color: #fff !important}body[data-theme="dark"] .badge.bg-primary{background-color: rgba(55,103,240,.18) !important;color: var(--accent-200) !important}body[data-theme="dark"] .badge.bg-success{background-color: rgba(18,160,92,.18) !important;color: #6ee7a8 !important}body[data-theme="dark"] .badge.bg-danger{background-color: rgba(217,45,45,.18) !important;color: #ffb4b4 !important}body[data-theme="dark"] .badge.bg-warning{background-color: rgba(217,132,7,.18) !important;color: #f7c268 !important}body[data-theme="dark"] .badge.bg-info{background-color: rgba(17,131,214,.18) !important;color: #8ecbf5 !important}.alert{position: relative;display: flex;align-items: flex-start;gap: var(--space-3);padding: var(--space-4);margin-bottom: var(--space-4);border: 1px solid transparent;border-left-width: 3px;border-radius: var(--radius-md);font-size: var(--text-base)}.alert-primary{background-color: var(--accent-50);border-color: var(--accent-100);border-left-color: var(--accent-500);color: var(--accent-900)}.alert-success{background-color: var(--success-50);border-color: var(--success-100);border-left-color: var(--success-500);color: var(--success-700)}.alert-danger{background-color: var(--danger-50);border-color: var(--danger-100);border-left-color: var(--danger-500);color: var(--danger-700)}.alert-warning{background-color: var(--warning-50);border-color: var(--warning-100);border-left-color: var(--warning-500);color: var(--warning-700)}.alert-info{background-color: var(--info-50);border-color: var(--info-100);border-left-color: var(--info-500);color: var(--info-700)}.alert-secondary{background-color: var(--bg-subtle);border-color: var(--border-subtle);border-left-color: var(--border-strong);color: var(--text-secondary)}body[data-theme="dark"] .alert-primary{background-color: rgba(55,103,240,.12);color: #b9ccff}body[data-theme="dark"] .alert-success{background-color: rgba(18,160,92,.12);color: #6ee7a8}body[data-theme="dark"] .alert-danger{background-color: rgba(217,45,45,.12);color: #ffb4b4}body[data-theme="dark"] .alert-warning{background-color: rgba(217,132,7,.12);color: #f7c268}body[data-theme="dark"] .alert-info{background-color: rgba(17,131,214,.12);color: #8ecbf5}.nav-tabs{gap: var(--space-1);border-bottom: 1px solid var(--border-subtle)}.nav-tabs .nav-link{margin-bottom: -1px;padding: var(--space-3) var(--space-4);border: 0;border-bottom: 2px solid transparent;border-radius: 0;background: none;color: var(--text-secondary);font-weight: var(--weight-medium);transition: color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nav-tabs .nav-link:hover{border-bottom-color: var(--border-default);color: var(--text-primary)}.nav-tabs .nav-link.active{border-bottom-color: var(--accent-500);background: none;color: var(--text-accent);font-weight: var(--weight-semibold)}.nav-pills .nav-link{padding: var(--space-2) var(--space-4);border-radius: var(--radius-md);color: var(--text-secondary);font-weight: var(--weight-medium)}.nav-pills .nav-link:hover{background-color: var(--bg-hover);color: var(--text-primary)}.nav-pills .nav-link.active{background-color: var(--accent-500);color: #fff}.pagination{display: flex;gap: var(--space-1);padding: 0;list-style: none}.page-link{display: inline-flex;align-items: center;justify-content: center;min-width: 34px;height: 34px;padding: 0 var(--space-2);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface);color: var(--text-secondary);font-size: var(--text-sm);transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.page-link:hover{background-color: var(--bg-subtle);border-color: var(--border-default);color: var(--text-primary)}.page-item.active .page-link{border-color: var(--accent-500);background-color: var(--accent-500);color: #fff;font-weight: var(--weight-semibold)}.page-item.disabled .page-link{opacity: .5;pointer-events: none}.progress{height: 8px;border-radius: var(--radius-pill);background-color: var(--bg-muted);overflow: hidden}.progress-bar{background-color: var(--accent-500);transition: width var(--duration-slow) var(--ease-out)}.tooltip-inner{padding: 6px 10px;border-radius: var(--radius-sm);background-color: var(--neutral-900);color: #fff;font-size: var(--text-xs)}.popover{border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface-raised);box-shadow: var(--shadow-lg)}.popover-header{border-bottom: 1px solid var(--border-subtle);background-color: transparent;color: var(--text-primary);font-weight: var(--weight-semibold)}.popover-body{color: var(--text-secondary)}.selectgroup{display: inline-flex;flex-wrap: wrap;gap: var(--space-2)}.selectgroup-item{position: relative;display: inline-flex}.selectgroup-input{position: absolute;opacity: 0;width: 0;height: 0}.selectgroup-button{display: inline-flex;align-items: center;justify-content: center;min-width: 38px;padding: 7px 13px;border: 1px solid var(--border-default);border-radius: var(--radius-md);background-color: var(--bg-surface);color: var(--text-secondary);font-size: var(--text-base);cursor: pointer;user-select: none;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.selectgroup-button:hover{border-color: var(--border-strong);background-color: var(--bg-subtle);color: var(--text-primary)}.selectgroup-input:checked + .selectgroup-button{border-color: var(--accent-500);background-color: var(--accent-50);color: var(--accent-700);font-weight: var(--weight-semibold);z-index: 1}.selectgroup-input:focus-visible + .selectgroup-button{box-shadow: var(--shadow-focus)}body[data-theme="dark"] .selectgroup-input:checked + .selectgroup-button{color: var(--accent-200)}*.cshtml). ========================================================================== */ .bg-grey1{background-color: var(--bg-canvas) !important}.bg-grey2,.bg-gray1,.bg-gray2{background-color: var(--bg-subtle) !important}.page-caption{padding-top: var(--space-1);font-size: var(--text-xl);font-weight: var(--weight-semibold);line-height: var(--leading-tight);letter-spacing: -.01em;color: var(--text-primary);text-align: left}.bg-primary{background-color: var(--accent-500) !important;color: #fff}.bg-primary2{background-color: var(--accent-600) !important;color: #fff}.bg-secondary{background-color: var(--neutral-500) !important;color: #fff}.bg-secondary2{background-color: var(--neutral-600) !important;color: #fff}.bg-info{background-color: var(--info-500) !important;color: #fff}.bg-info2{background-color: var(--info-600) !important;color: #fff}.bg-success{background-color: var(--success-500) !important;color: #fff}.bg-success2{background-color: var(--success-600) !important;color: #fff}.bg-warning{background-color: var(--warning-500) !important;color: #fff}.bg-warning2{background-color: var(--warning-600) !important;color: #fff}.bg-danger{background-color: var(--danger-500) !important;color: #fff}.bg-danger2{background-color: var(--danger-600) !important;color: #fff}.bg-dark{background-color: var(--neutral-900) !important;color: #fff}.bg-dark2{background-color: var(--neutral-950) !important;color: #fff}.text-grey{color: var(--text-muted)}.text-bold{font-weight: var(--weight-semibold)}.btn-transparent{background-color: transparent !important}.read-only-field{background-color: var(--bg-subtle);color: var(--text-secondary)}.border-bottom-item{border-bottom: 1px solid var(--border-subtle)}.border-bottom-item:last-child{border-bottom: none}@media screen and (min-width: 992px){.search-label{width: 86px}.search-label-lg{width: 120px}}.search-label,.search-label-lg{display: inline-flex;align-items: center;font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary)}.fill-col{display: inline-block;text-align: left}.index-col,.action-col,.action-col-2,.action-col-3{text-align: center;white-space: nowrap}.action-col{width: 90px}.action-col-2{width: 130px}.action-col-3{width: 170px}.action-col-block{display: inline-flex;align-items: center;gap: var(--space-1)}.logo-small{width: 40px;height: 40px}.circle-small-avatar{width: 50px;height: 50px;border-radius: var(--radius-pill);object-fit: cover;text-align: center}.text-avatar{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: var(--radius-pill);background-color: var(--accent-600);color: #fff;font-weight: var(--weight-semibold);text-align: center}.notify-circle{position: absolute;top: 2px;right: 2px;display: inline-flex;align-items: center;justify-content: center;width: 16px;height: 16px;border-radius: var(--radius-pill);background-color: var(--danger-500);color: #fff;font-size: 8px;line-height: 1}.candidate-status{display: inline-flex;align-items: center;justify-content: center;min-height: 30px;min-width: 100px;margin: auto;padding: var(--space-1) var(--space-3);border: 1px solid var(--border-default);border-radius: var(--radius-pill);font-size: var(--text-sm);font-weight: var(--weight-medium);text-align: center;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.candidate-status-0{color: var(--text-muted)}.candidate-status-1{color: var(--info-600)}.candidate-status-2{color: var(--accent-600)}.candidate-status-3{color: var(--success-600)}.candidate-status-4{color: var(--warning-600)}.candidate-status-5{color: var(--neutral-800)}.candidate-status-99{color: var(--danger-600)}.candidate-total{color: var(--accent-700)}.candidate-status-0.selected{background-color: var(--neutral-500);border-color: var(--neutral-500);color: #fff}.candidate-status-1.selected{background-color: var(--info-500);border-color: var(--info-500);color: #fff}.candidate-status-2.selected{background-color: var(--accent-500);border-color: var(--accent-500);color: #fff}.candidate-status-3.selected{background-color: var(--success-500);border-color: var(--success-500);color: #fff}.candidate-status-4.selected{background-color: var(--warning-500);border-color: var(--warning-500);color: #fff}.candidate-status-5.selected,#candidate-list .candidate-status-5{background-color: var(--neutral-800);border-color: var(--neutral-800);color: #fff}.candidate-status-99.selected{background-color: var(--danger-500);border-color: var(--danger-500);color: #fff}.candidate-total.selected{background-color: var(--accent-700);border-color: var(--accent-700);color: #fff}.candidate-error,.candidate-warning{display: inline-flex;align-items: center;gap: var(--space-2);height: 34px;padding: var(--space-1) var(--space-2);border: 1px solid currentColor;border-radius: var(--radius-md);flex-wrap: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.candidate-error{color: var(--danger-500) !important}.candidate-warning{color: var(--warning-600)}.candidate-error label{margin: 0 !important;white-space: nowrap;color: var(--danger-500) !important}.candidate-warning label{margin: 0 !important;white-space: nowrap;color: var(--warning-600) !important}.candidate-error:hover,.candidate-error.selected{background-color: var(--danger-500);color: #fff !important}.candidate-warning:hover,.candidate-warning.selected{background-color: var(--warning-500);color: #fff !important}.candidate-error:hover label,.candidate-error.selected label,.candidate-warning:hover label,.candidate-warning.selected label{color: #fff !important}.exam-status-0,.item-status-0{color: var(--text-muted)}.exam-status-1,.item-status-1{color: var(--info-600)}.exam-status-2,.item-status-2{color: var(--success-600)}.exam-status-3{color: var(--danger-600)}.card-selected{border-color: var(--accent-500);background-color: var(--accent-50);box-shadow: var(--shadow-focus)}.card-selected label.form-check-label{color: var(--accent-800) !important}body[data-theme="dark"] .card-selected label.form-check-label{color: #fff !important}.card-disabled{opacity: .6;pointer-events: none}.dashboard-box{padding: var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);text-align: center;transition: border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.dashboard-box:hover{border-color: var(--accent-300);box-shadow: var(--shadow-sm)}.dashboard-box h2{margin: 0 0 var(--space-1);font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-muted)}.dashboard-box a{font-size: var(--text-2xl) !important;font-weight: var(--weight-bold);color: var(--text-primary)}.dashboard-box a:hover{color: var(--text-accent)}.box-title{font-size: var(--text-md);font-weight: var(--weight-semibold);color: var(--text-primary)}#student-list{display: flex}.student-box-holder{display: flex;flex-wrap: wrap;gap: var(--space-3);padding-block: var(--space-3)}.student-box{display: block;width: calc(16% - 20px);min-width: 180px;aspect-ratio: 4 / 3;padding: var(--space-2);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);text-align: center;transition: border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.student-box:hover{border-color: var(--accent-300);box-shadow: var(--shadow-sm)}.student-box.card-selected .btn.btn-outline-primary{background-color: var(--bg-surface) !important;color: var(--accent-700) !important}.student-box.card-selected .btn.btn-outline-primary:hover{background-color: var(--bg-subtle) !important}#student-list .student-avatar{font-size: 40px}#student-list .student-name{font-weight: var(--weight-semibold)}#student-list .table .student-avatar{font-size: 30px;text-align: center}#student-list .table .student-avatar img{width: calc(100% - 10px)}#student-list .student-avatar img{display: block;width: 100%;margin: auto;aspect-ratio: 1 / 1;object-fit: cover;border-radius: var(--radius-md)}.btn-view-student.selected{background-color: var(--accent-500) !important;border-color: var(--accent-500) !important;color: #fff !important}@media (max-width: 1200px){.student-box{width: calc(20% - 20px)}}@media (max-width: 991px){.student-box{width: calc(25% - 20px)}}@media (max-width: 860px){.student-box{width: calc(33% - 20px)}}@media (max-width: 540px){.student-box{width: calc(50% - 20px)}}.btn-view-item{display: block;width: 100%;height: 40px;padding-top: 9px;border: 1px solid var(--border-default);border-radius: var(--radius-md);font-weight: var(--weight-semibold);text-align: center;color: var(--text-secondary);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn-view-item:hover{border-color: var(--accent-500);background-color: var(--accent-500);color: #fff}.btn-remove{color: var(--danger-500)}.btn-remove:hover{color: var(--danger-700)}.btn-hover,.btn-hover.btn-primary{display: block;min-width: 100px;padding: var(--space-3);background-color: transparent !important;color: var(--text-primary) !important}.btn-hover .hover-show{display: none}.btn-hover:hover{border: 1px solid var(--border-subtle)}.btn-hover.btn-primary:hover{background-color: var(--accent-500) !important;color: #fff !important}.btn-hover:hover .hover-show{display: inline-block}body[data-theme="dark"] .btn-hover,body[data-theme="dark"] .btn-hover.btn-primary{color: var(--accent-300) !important}.item-header{display: flex;align-items: center;gap: var(--space-3)}.item-title{font-weight: var(--weight-semibold);color: var(--text-primary)}.item-image img{border-radius: var(--radius-md);object-fit: cover}.item-details{color: var(--text-secondary);font-size: var(--text-sm)}.item-quantity,.quantity-input{width: 80px;text-align: center}.post-item .card-body{padding: var(--space-3)}.post-item .card-body ul{margin-bottom: 0}.post-item .card-body p{margin-bottom: 2px}.post-item a{color: var(--text-primary)}.post-item a:hover{color: var(--text-accent)}.post-user{padding-left: var(--space-2);font-weight: var(--weight-semibold);color: var(--text-primary)}.post-time{padding-left: var(--space-2);font-size: var(--text-xs);font-style: italic;color: var(--text-muted)}.post-title{font-size: var(--text-md);font-weight: var(--weight-semibold)}.post-content{font-size: var(--text-sm);color: var(--text-secondary)}.log-item-list{overflow-y: auto;border-left: 1px solid var(--border-subtle)}.log-item{display: flex;gap: var(--space-2);padding: var(--space-2);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface)}.log-item .avatar{width: 46px}.log-item-title{font-weight: var(--weight-semibold);color: var(--text-primary)}.log-item-date{font-size: var(--text-xs);font-style: italic;color: var(--text-muted)}.rate-display{display: flex;align-items: center;gap: var(--space-2)}.stars{position: relative;white-space: nowrap;color: var(--warning-500)}.stars svg{width: 16px}.rate-count{font-size: var(--text-xs);color: var(--text-muted)}.cart-container{display: flex;flex-direction: column;gap: var(--space-4)}.cart-items{display: flex;flex-direction: column;gap: var(--space-2)}.cart-item{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface)}.cart-item-content{flex: 1;min-width: 0}.cart-summary{padding: var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-subtle)}.summary-row{display: flex;justify-content: space-between;gap: var(--space-3);padding-block: var(--space-1)}.summary-content{font-weight: var(--weight-semibold)}.spliter-container,.tool-container{display: flex;min-height: 0}.tool-container{position: relative}.tool-container .tools{opacity: 0;pointer-events: none;transition: opacity var(--duration-fast) var(--ease-out)}.tool-container:hover .tools,.tool-container:focus-within .tools{opacity: 1;pointer-events: auto}@media (hover: none){.tool-container .tools{opacity: 1;pointer-events: auto}}.left-pane,.right-pane{min-width: 0;overflow: auto}.resizer{flex: 0 0 6px;cursor: col-resize;background-color: var(--border-subtle);border-radius: var(--radius-pill);transition: background-color var(--duration-fast) var(--ease-out)}.resizer:hover{background-color: var(--accent-400)}.h-line-side{height: 1px;background-color: var(--border-subtle)}.room-tool > div > *{margin-right: var(--space-2)}.room-tool > div > *:last-child,.room-tool button:last-child{margin-right: 0 !important}.room-tool button{height: 34px;padding: var(--space-1) var(--space-2);border: 1px solid var(--border-default);border-radius: var(--radius-md);background-color: var(--bg-surface);color: var(--text-secondary);transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.room-tool button:hover{background-color: var(--bg-subtle);color: var(--text-primary)}.room-view.selected{background-color: var(--accent-500);color: #fff}.room-view.selected:hover{background-color: var(--accent-400);color: #fff}.cell-video{position: relative;margin: var(--space-1);padding: 2px;border: 1px solid var(--border-default);border-radius: var(--radius-md)}.cell-video button{border: 1px solid transparent;border-radius: var(--radius-sm);background-color: transparent;color: #fff}.cell-video button:hover{border-color: var(--accent-500);background-color: rgba(0,0,0,.5);color: #fff}.cell-avatar{cursor: pointer}.nav-video-item{padding: var(--space-1);border-top: 1px solid var(--border-default)}.nav-video-item:first-child{border-top: none}.nav-video-item a.dropdown-toggle{color: var(--text-primary)}.editor-label{font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary)}.editor-content{background-color: #fff !important;color: #101828 !important;border-radius: var(--radius-md)}.answer-box{border: 1px solid var(--border-subtle);border-radius: var(--radius-md);padding: var(--space-3)}.answer-img-box img{max-width: 100%;border-radius: var(--radius-sm)}.answer-editor-attachment{margin: var(--space-3);padding: var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-subtle);line-height: 2.4}.upload-container{padding: var(--space-5);border: 1.5px dashed var(--border-default);border-radius: var(--radius-lg);background-color: var(--bg-subtle);text-align: center;transition: border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.upload-container:hover{border-color: var(--accent-400);background-color: var(--accent-50)}.upload-label{font-weight: var(--weight-medium);color: var(--text-secondary);cursor: pointer}.upload-input{display: none}.image-item.selected .img-container{background-color: var(--accent-500)}.image-item.selected{color: #fff}.overlay{position: absolute;inset: 0;background-color: var(--bg-overlay)}.table-fixed{margin: 0;table-layout: fixed;border: 1px solid var(--border-default) !important}.table-fixed thead th{position: sticky;top: 0;z-index: 1;padding: var(--space-1);background-color: var(--bg-subtle)}.table-fixed thead th:first-child,.table-fixed thead th.fixed{position: sticky;left: 0;z-index: 2}.table-fixed tbody th{position: sticky;left: 0;z-index: 1;background-color: var(--bg-surface)}.modal-full{max-width: calc(100vw - var(--space-8));width: calc(100vw - var(--space-8))}.modal-full-body{max-height: calc(100vh - 200px);overflow: auto}.select2{flex-grow: 1;overflow-x: auto}.select2-input{position: relative}.select2-input label.error,.select2-input label.success{position: absolute;bottom: -30px}.select2-input .select2{margin-bottom: var(--space-4)}.select2-container--open{z-index: 999999}.select2-container--default .select2-selection--single{height: 40px !important;max-width: 100% !important;padding: 4px var(--space-2);border: 1px solid var(--border-default) !important;border-radius: var(--radius-md) !important;background-color: var(--bg-surface)}.select2-container--default .select2-selection--single .select2-selection__rendered{color: var(--text-primary);line-height: 30px}.select2-container--default .select2-selection--multiple{display: block;width: 100%;height: inherit !important;padding: 6px var(--space-3);border: 1px solid var(--border-default);border-radius: var(--radius-md);background-color: var(--bg-surface);color: var(--text-primary);font-size: var(--text-base);line-height: 1.5;appearance: none;transition: border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color: var(--accent-500);box-shadow: var(--shadow-focus)}.select2-container--default .select2-selection--multiple .select2-selection__choice{margin: 3px 5px 0 0;padding: 1px 6px;border: 1px solid var(--accent-200);border-radius: var(--radius-sm);background-color: var(--accent-50);color: var(--accent-800);cursor: default;float: left}.select2-container--default .select2-search--dropdown .select2-search__field{border: 1px solid var(--border-default) !important;border-radius: var(--radius-sm) !important;background-color: var(--bg-surface);color: var(--text-primary)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color: var(--accent-500);color: #fff}.select2-dropdown{border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface-raised);box-shadow: var(--shadow-lg)}.select2-results__option{color: var(--text-primary)}body[data-theme="dark"] .select2-container--default .select2-selection--multiple,body[data-theme="dark"] .select2-container--default .select2-selection--single{background-color: var(--bg-surface);border-color: var(--border-default);color: var(--text-primary)}body[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color: rgba(55,103,240,.2);border-color: rgba(55,103,240,.4);color: var(--accent-200)}ul.fancytree-container{border: none !important;overflow: auto;background-color: transparent}.fancytree-active td a,span.fancytree-title{color: var(--text-primary)}.fancytree-active span.fancytree-title{border-radius: var(--radius-sm);background-color: var(--accent-500);color: #fff}.bts_dropdown .dropdown-menu{background-color: var(--bg-surface-raised)}.bts_dropdown .dropdown-menu label{overflow-wrap: break-word !important;color: var(--text-primary)}.bts_dropdown .input-group{background-color: var(--bg-surface) !important;color: var(--text-primary)}.bts_dropdown .input-group button{border-color: var(--border-default) !important;background-color: var(--bg-surface);color: var(--text-primary)}.bts_dropdown > ul > li{border-top-color: var(--border-subtle)}.page-form{max-width: 900px}.div-select-class,.course-list-item{border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface)}.course-list-item:hover{border-color: var(--accent-300)}.paginate_button{display: block}.paginate_button .page-link{min-width: 36px;height: 36px;font-size: var(--text-xs)}.exam-toolbar{display: flex;align-items: center;gap: var(--space-4);width: 100%;padding: var(--space-2) var(--space-3)}.exam-toolbar__tools{display: flex;align-items: center;gap: var(--space-1);flex: 0 1 auto;min-width: 0}.exam-toolbar__tools .btn{border-radius: var(--radius-md);color: var(--text-secondary)}.exam-toolbar__tools .btn:hover{background-color: var(--bg-hover);color: var(--text-primary)}.exam-toolbar__tools .btn-pushed{background-color: var(--accent-50);color: var(--accent-700);box-shadow: inset 0 0 0 1px var(--accent-200)}.exam-toolbar__clock{display: flex;flex-direction: column;align-items: center;gap: 2px;flex: 1 1 auto;min-width: 0}.exam-toolbar__submit{flex: 0 0 auto;padding-left: var(--space-4);border-left: 1px solid var(--border-subtle)}.btn-submit-test{min-width: 132px;padding: 10px 20px;font-size: var(--text-md);font-weight: var(--weight-semibold);border-radius: var(--radius-md);box-shadow: var(--shadow-sm)}#timer-countdown{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);min-width: 108px;padding: 4px 14px;border: 1px solid var(--border-subtle);border-radius: var(--radius-pill);background-color: var(--bg-subtle);color: var(--text-primary);font-family: var(--font-mono);font-size: 1.35rem;font-weight: var(--weight-semibold);font-variant-numeric: tabular-nums;line-height: 1.2;letter-spacing: .02em;transition: background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}#timer-countdown::before{content: "\f017";font-family: "Font Awesome 5 Free","Font Awesome 6 Free";font-weight: 900;font-size: .7em;opacity: .6}#timer-countdown[data-urgency="warning"]{border-color: var(--warning-100);background-color: var(--warning-50);color: var(--warning-700)}#timer-countdown[data-urgency="danger"]{border-color: var(--danger-100);background-color: var(--danger-50);color: var(--danger-700)}#timer-countdown[data-urgency="critical"]{border-color: var(--danger-500);background-color: var(--danger-500);color: #fff;animation: exam-timer-pulse 1s var(--ease-in-out) infinite}#timer-countdown[data-urgency="critical"]::before{opacity: 1}#timer-countdown[data-urgency="expired"]{border-color: var(--neutral-800);background-color: var(--neutral-800);color: #fff;font-size: var(--text-base);font-family: var(--font-sans);animation: none}@keyframes exam-timer-pulse{0%,100%{box-shadow: 0 0 0 0 rgba(217,45,45,.55)}50%{box-shadow: 0 0 0 7px rgba(217,45,45,0)}}body[data-theme="dark"] #timer-countdown[data-urgency="warning"]{background-color: rgba(217,132,7,.16);border-color: rgba(217,132,7,.4);color: #f7c268}body[data-theme="dark"] #timer-countdown[data-urgency="danger"]{background-color: rgba(217,45,45,.16);border-color: rgba(217,45,45,.4);color: #ffb4b4}@media (prefers-reduced-motion: reduce){#timer-countdown[data-urgency="critical"]{animation: none}}.exam-save-state{display: inline-flex;align-items: center;gap: 5px;min-height: 16px;font-size: var(--text-xs);line-height: 1;color: var(--text-muted);transition: color var(--duration-base) var(--ease-out)}.exam-save-state::before{content: "";width: 6px;height: 6px;border-radius: var(--radius-pill);background-color: currentColor;flex: 0 0 auto}.exam-save-state[data-state="saving"]{color: var(--text-muted)}.exam-save-state[data-state="saving"]::before{animation: exam-save-blink .9s var(--ease-in-out) infinite}.exam-save-state[data-state="saved"]{color: var(--success-600)}.exam-save-state[data-state="error"]{color: var(--danger-500);font-weight: var(--weight-semibold)}@keyframes exam-save-blink{0%,100%{opacity: 1}50%{opacity: .25}}.q-nav-summary{padding: var(--space-3) var(--space-3) var(--space-2)}.q-nav-summary__count{display: flex;align-items: baseline;gap: 2px;font-variant-numeric: tabular-nums}.q-nav-summary__count strong{font-size: var(--text-2xl);font-weight: var(--weight-bold);line-height: 1;color: var(--text-primary)}.q-nav-summary__count span{font-size: var(--text-md);color: var(--text-muted)}.q-nav-summary__label{margin-top: 2px;font-size: var(--text-xs);color: var(--text-muted)}.q-nav-progress{height: 5px;margin-top: var(--space-2);border-radius: var(--radius-pill);background-color: var(--bg-muted);overflow: hidden}.q-nav-progress__bar{height: 100%;border-radius: var(--radius-pill);background-color: var(--accent-500);transition: width var(--duration-slow) var(--ease-out)}.q-nav-legend{display: flex;flex-wrap: wrap;gap: var(--space-1) var(--space-3);padding: 0 var(--space-3) var(--space-3);border-bottom: 1px solid var(--border-subtle);font-size: var(--text-xs);color: var(--text-secondary)}.q-nav-legend__item{display: inline-flex;align-items: center;gap: 5px}.q-nav-swatch{width: 12px;height: 12px;border: 1px solid var(--border-default);border-radius: var(--radius-xs);background-color: var(--bg-surface);flex: 0 0 auto}.q-nav-swatch.is-filled{border-color: var(--accent-500);background-color: var(--accent-500)}.q-nav-swatch.is-marked{border-color: var(--warning-500);background-color: var(--warning-50);position: relative}.q-nav-swatch.is-marked::after{content: "";position: absolute;top: -2px;right: -2px;width: 6px;height: 6px;border-radius: var(--radius-pill);background-color: var(--warning-500)}.q-nav-list{display: grid;grid-template-columns: repeat(auto-fill,minmax(38px,1fr));gap: 6px;padding: var(--space-3)}.q-nav-item{position: relative;display: flex;align-items: center;justify-content: center;aspect-ratio: 1;border: 1px solid var(--border-default);border-radius: var(--radius-sm);background-color: var(--bg-surface);color: var(--text-secondary);font-size: var(--text-sm);font-weight: var(--weight-medium);font-variant-numeric: tabular-nums;cursor: pointer;user-select: none;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.q-nav-item:hover{border-color: var(--accent-400);transform: translateY(-1px)}.q-nav-item:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.q-nav-item.filled{border-color: var(--accent-500);background-color: var(--accent-500);color: #fff;font-weight: var(--weight-semibold)}.q-nav-item.marked::after{content: "";position: absolute;top: -3px;right: -3px;width: 10px;height: 10px;border: 2px solid var(--bg-surface);border-radius: var(--radius-pill);background-color: var(--warning-500)}.q-nav-item.current,.q-nav-item.active{box-shadow: 0 0 0 2px var(--accent-300);border-color: var(--accent-500)}body[data-theme="dark"] .q-nav-item.marked::after{border-color: var(--bg-surface)}#root-div .main-header{background-color: var(--bg-surface);backdrop-filter: none;-webkit-backdrop-filter: none}#root-div .subject-name{font-weight: var(--weight-semibold);color: var(--text-primary)}.test-code{font-family: var(--font-mono);font-weight: var(--weight-semibold);letter-spacing: .04em;color: var(--text-primary)}#warning-focus-model{display: flex;align-items: center;justify-content: center;padding: var(--space-4)}#warning-focus-model > div,#warning-focus-model .warning-box{width: min(600px,100%);height: auto !important;max-height: calc(100vh - var(--space-8));overflow-y: auto;padding: var(--space-6);border-radius: var(--radius-xl);background-color: var(--bg-surface);box-shadow: var(--shadow-xl)}@media (max-width: 991.98px){.exam-toolbar{gap: var(--space-2);padding: var(--space-1) var(--space-2)}.exam-toolbar__tools{flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none}.exam-toolbar__tools::-webkit-scrollbar{display: none}#timer-countdown{min-width: 88px;padding: 3px 10px;font-size: 1.1rem}.exam-toolbar__submit{padding-left: var(--space-2)}.btn-submit-test{min-width: auto;padding: 8px 14px;font-size: var(--text-base)}.q-nav-list{grid-template-columns: repeat(auto-fill,minmax(34px,1fr))}}.proctor-alert-bar{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-bottom: var(--space-3)}.proctor-alert-bar[hidden]{display: none}.proctor-alert{display: flex;align-items: center;gap: var(--space-3);flex: 1 1 260px;padding: var(--space-3) var(--space-4);border: 1px solid transparent;border-left-width: 4px;border-radius: var(--radius-md)}.proctor-alert[hidden]{display: none}.proctor-alert__icon{font-size: 1.25rem;flex: 0 0 auto}.proctor-alert__text{display: flex;align-items: baseline;gap: 6px;flex: 1;min-width: 0}.proctor-alert__count{font-size: var(--text-xl);font-weight: var(--weight-bold);line-height: 1;font-variant-numeric: tabular-nums}.proctor-alert__action{flex: 0 0 auto;border-radius: var(--radius-md);font-weight: var(--weight-semibold);background-color: var(--bg-surface);border: 1px solid currentColor;color: inherit}.proctor-alert__action:hover{background-color: currentColor}.proctor-alert[data-severity="error"]{border-color: var(--danger-100);border-left-color: var(--danger-500);background-color: var(--danger-50);color: var(--danger-700)}.proctor-alert[data-severity="error"] .proctor-alert__action:hover{background-color: var(--danger-500);color: #fff;border-color: var(--danger-500)}.proctor-alert[data-severity="warning"]{border-color: var(--warning-100);border-left-color: var(--warning-500);background-color: var(--warning-50);color: var(--warning-700)}.proctor-alert[data-severity="warning"] .proctor-alert__action:hover{background-color: var(--warning-500);color: #fff;border-color: var(--warning-500)}.proctor-alert-bar.is-new .proctor-alert{animation: proctor-alert-in var(--duration-slow) var(--ease-out)}@keyframes proctor-alert-in{from{transform: translateY(-4px);opacity: 0}to{transform: translateY(0);opacity: 1}}body[data-theme="dark"] .proctor-alert[data-severity="error"]{background-color: rgba(217,45,45,.14);border-color: rgba(217,45,45,.35);border-left-color: var(--danger-500);color: #ffb4b4}body[data-theme="dark"] .proctor-alert[data-severity="warning"]{background-color: rgba(217,132,7,.14);border-color: rgba(217,132,7,.35);border-left-color: var(--warning-500);color: #f7c268}body[data-theme="dark"] .proctor-alert__action{background-color: transparent}@media (prefers-reduced-motion: reduce){.proctor-alert-bar.is-new .proctor-alert{animation: none}}@media print{.exam-toolbar,#question-nav-list,#warning-focus-model{display: none !important}}.card:has(> .card-header form.row) > .card-body{padding: 0}.card-header:has(form.row){display: block;padding: 0}.card-header:has(form.row) > .d-flex{padding: var(--space-4) var(--space-5)}.card-header:has(form.row) > form.row{padding: var(--space-3) var(--space-5);border-top: 1px solid var(--border-subtle);background-color: var(--bg-subtle)}.card-header > .d-flex{align-items: center;gap: var(--space-3);row-gap: var(--space-2)}.card-header .page-caption{min-width: 0;padding-top: 0;padding-right: var(--space-4);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.card-header > .d-flex > div:last-child{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;flex: 0 0 auto;margin-left: auto}.card-header > .d-flex > div:last-child > .btn{margin-left: 0 !important;padding: 7px 14px;font-size: var(--text-sm);border-radius: var(--radius-md)}.card-header > .d-flex > div:last-child > .btn > i{margin-right: 6px;font-size: .9em}.card-header #btn-create{--btn-bg: var(--accent-500);--btn-fg: #fff;--btn-border: var(--accent-500);--btn-bg-hover: var(--accent-600);box-shadow: var(--shadow-xs)}.card-header #btn-create:hover{border-color: var(--accent-600);color: #fff}.card-header #btn-delete-all:disabled{--btn-fg: var(--text-disabled);--btn-border: var(--border-subtle);opacity: 1}.card-header form.row{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-2);margin: 0 !important}.card-header form.row > [class*="col-"]{flex: 0 0 auto;width: auto;max-width: none;padding: 0 !important}.card-header form.row > [class*="col-"]:first-of-type{flex: 0 1 420px;min-width: 220px}@media (min-width: 768px){.card-header form.row{flex-wrap: nowrap}}.card-header form.row .input-group{flex-wrap: nowrap;width: auto}.card-header .input-group-text.search-label{flex: 0 0 auto;justify-content: flex-start;white-space: nowrap;width: auto !important;padding-right: var(--space-2);border-right: 0;background-color: var(--bg-surface);color: var(--text-muted);font-size: var(--text-xs);font-weight: var(--weight-medium)}.card-header .input-group > .search-label + .form-control,.card-header .input-group > .search-label + .form-select{border-left: 0;padding-left: 0}.card-header .input-group:focus-within{border-radius: var(--radius-md);box-shadow: var(--shadow-focus)}.card-header .input-group:focus-within .form-control,.card-header .input-group:focus-within .form-select,.card-header .input-group:focus-within .search-label{border-color: var(--accent-500);box-shadow: none}.card-header form.row .form-select{width: auto;min-width: 76px;padding-right: 32px}.card-header form.row .input-group > .btn{margin-left: var(--space-2) !important;flex: 0 0 auto}@media (max-width: 767.98px){.card-header form.row > [class*="col-"],.card-header form.row > [class*="col-"]:first-of-type{flex: 1 1 100%;max-width: none}.card-header form.row .input-group{width: 100%}.card-header > .d-flex > div:last-child{width: 100%}.card-header > .d-flex > div:last-child > .btn{flex: 1 1 auto}}.list-toolbar{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.list-toolbar__title{display: flex;align-items: baseline;gap: var(--space-2);flex: 1;min-width: 0}.list-toolbar__count{padding: 2px 8px;border-radius: var(--radius-pill);background-color: var(--bg-subtle);font-size: var(--text-xs);font-weight: var(--weight-semibold);color: var(--text-secondary);font-variant-numeric: tabular-nums}.list-toolbar__actions{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap}.selection-bar{position: fixed;left: 50%;bottom: var(--space-6);z-index: var(--z-toast);display: flex;align-items: center;gap: var(--space-4);width: max-content;max-width: calc(100vw - var(--space-8));padding: var(--space-3) var(--space-3) var(--space-3) var(--space-5);border: 1px solid var(--border-default);border-radius: var(--radius-pill);background-color: var(--neutral-900);color: #fff;box-shadow: var(--shadow-xl);font-size: var(--text-sm);transform: translate(calc(-50% + (var(--sidebar-width) / 2)),0);transition: opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),visibility var(--duration-base)}.selection-bar[hidden]{display: flex;opacity: 0;visibility: hidden;transform: translate(calc(-50% + (var(--sidebar-width) / 2)),12px);pointer-events: none}.wrapper.sidebar_minimize .selection-bar{transform: translate(calc(-50% + (var(--sidebar-width-mini) / 2)),0)}.wrapper.sidebar_minimize .selection-bar[hidden]{transform: translate(calc(-50% + (var(--sidebar-width-mini) / 2)),12px)}.selection-bar__count{font-weight: var(--weight-semibold);font-variant-numeric: tabular-nums;white-space: nowrap}.selection-bar__actions{display: flex;align-items: center;gap: var(--space-2);margin-left: auto}.selection-bar .btn{--btn-bg: rgba(255,255,255,.12);--btn-fg: #fff;--btn-border: transparent;--btn-bg-hover: rgba(255,255,255,.22);--btn-ring: rgba(255,255,255,.35);padding: 6px 14px;border-radius: var(--radius-pill);font-size: var(--text-sm)}.selection-bar .btn-danger{--btn-bg: var(--danger-500);--btn-border: var(--danger-500);--btn-bg-hover: var(--danger-600)}.selection-bar__clear{--btn-bg: transparent;--btn-bg-hover: rgba(255,255,255,.12);color: rgba(255,255,255,.75)}.selection-bar__clear:hover{color: #fff}body[data-theme="dark"] .selection-bar{background-color: var(--neutral-800);border-color: var(--border-default)}@media (max-width: 991.98px){.selection-bar,.wrapper.sidebar_minimize .selection-bar{transform: translate(-50%,0)}.selection-bar[hidden],.wrapper.sidebar_minimize .selection-bar[hidden]{transform: translate(-50%,12px)}}@media (max-width: 575.98px){.selection-bar{left: var(--space-3);right: var(--space-3);width: auto;max-width: none;gap: var(--space-2);padding-left: var(--space-4);border-radius: var(--radius-lg)}.selection-bar,.wrapper.sidebar_minimize .selection-bar{transform: none}.selection-bar[hidden],.wrapper.sidebar_minimize .selection-bar[hidden]{transform: translateY(12px)}}@media (prefers-reduced-motion: reduce){.selection-bar{transition: none}}.wizard-steps{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;margin: 0;padding: var(--space-3) var(--space-5);border-bottom: 1px solid var(--border-subtle);background-color: var(--bg-subtle);list-style: none;counter-reset: none}.wizard-step{display: flex;align-items: center;gap: var(--space-2);padding: 4px var(--space-3) 4px 4px;border-radius: var(--radius-pill);font-size: var(--text-sm);color: var(--text-muted)}.wizard-step:not(:last-child)::after{content: "\f054";font-family: "Font Awesome 5 Free","Font Awesome 6 Free";font-weight: 900;font-size: 9px;margin-left: var(--space-2);color: var(--text-disabled)}.wizard-step__num{display: inline-flex;align-items: center;justify-content: center;width: 24px;height: 24px;flex: 0 0 auto;border-radius: var(--radius-pill);background-color: var(--bg-muted);color: var(--text-secondary);font-size: var(--text-xs);font-weight: var(--weight-semibold);font-variant-numeric: tabular-nums}.wizard-step.is-active{background-color: var(--bg-surface);color: var(--text-primary);font-weight: var(--weight-semibold);box-shadow: var(--shadow-xs)}.wizard-step.is-active .wizard-step__num{background-color: var(--accent-500);color: #fff}.wizard-step.is-done{color: var(--text-secondary)}.wizard-step.is-done .wizard-step__num{background-color: var(--success-500);color: #fff;font-size: 0}.wizard-step.is-done .wizard-step__num::before{content: "\f00c";font-family: "Font Awesome 5 Free","Font Awesome 6 Free";font-weight: 900;font-size: 10px}@media (max-width: 575.98px){.wizard-steps{padding: var(--space-2) var(--space-3)}.wizard-step:not(.is-active) .wizard-step__label{display: none}}.tuition-summary{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));gap: var(--space-3);margin-bottom: var(--space-4)}.stat-tile{display: flex;flex-direction: column;gap: 2px;padding: var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface)}.stat-tile--accent{border-color: var(--accent-200);background-color: var(--accent-50)}body[data-theme="dark"] .stat-tile--accent{background-color: rgba(55,103,240,.12);border-color: rgba(55,103,240,.35)}.stat-tile__label{font-size: var(--text-xs);color: var(--text-muted)}.stat-tile__value{font-size: var(--text-2xl);font-weight: var(--weight-bold);line-height: 1.15;font-variant-numeric: tabular-nums;color: var(--text-primary)}.stat-tile__sub{font-size: var(--text-xs);color: var(--text-muted);min-height: 1em}.cb-reversal > td{background-color: var(--danger-50)}.cb-cancelled > td{color: var(--text-disabled);text-decoration: line-through}.cb-cancelled > td.cell-actions{text-decoration: none}body[data-theme="dark"] .cb-reversal > td{background-color: rgba(217,45,45,.14)}.list-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--space-3);padding: var(--space-12) var(--space-6);text-align: center}.list-empty__icon{display: flex;align-items: center;justify-content: center;width: 56px;height: 56px;border-radius: var(--radius-pill);background-color: var(--bg-subtle);color: var(--text-disabled);font-size: 22px}.list-empty__title{margin: 0;font-size: var(--text-md);font-weight: var(--weight-semibold);color: var(--text-primary)}.list-empty__hint{margin: 0;max-width: 42ch;font-size: var(--text-sm);color: var(--text-muted)}.list-skeleton{padding: var(--space-2) 0}.skeleton-row{display: flex;align-items: center;gap: var(--space-4);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--border-subtle)}.skeleton-bar{height: 12px;border-radius: var(--radius-pill);background: linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-muted) 37%,var(--bg-subtle) 63%);background-size: 400% 100%;animation: skeleton-shimmer 1.3s ease-in-out infinite}.skeleton-bar--sm{width: 40px;flex: 0 0 40px}.skeleton-bar--md{width: 120px;flex: 0 0 120px}.skeleton-bar--grow{flex: 1}@keyframes skeleton-shimmer{0%{background-position: 100% 50%}100%{background-position: 0 50%}}@media (prefers-reduced-motion: reduce){.skeleton-bar{animation: none}}.data-table-wrap{position: relative;overflow-x: auto;-webkit-overflow-scrolling: touch}.data-table{width: 100%;margin: 0;border-collapse: separate;border-spacing: 0;font-size: var(--text-base)}.data-table > thead th{position: sticky;top: 0;z-index: 2;padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--border-default);background-color: var(--bg-subtle);font-size: var(--text-xs);font-weight: var(--weight-semibold);letter-spacing: .04em;text-transform: uppercase;color: var(--text-muted);text-align: left;white-space: nowrap;vertical-align: middle}.data-table > tbody > tr > td{padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--border-subtle);vertical-align: middle}.data-table > tbody > tr{transition: background-color var(--duration-fast) var(--ease-out)}.data-table > tbody > tr:hover{background-color: var(--bg-hover)}.data-table > tbody > tr.is-selected{background-color: var(--accent-50)}body[data-theme="dark"] .data-table > tbody > tr.is-selected{background-color: rgba(55,103,240,.12)}.data-table > tbody > tr:last-child > td{border-bottom: 0}.data-table tbody tr[data-id]{cursor: pointer}.data-table .col-num,.data-table td.text-end{text-align: right;font-variant-numeric: tabular-nums}.data-table th .sort-link,.sort-link{display: inline-flex;align-items: center;gap: 5px;color: inherit;font: inherit;letter-spacing: inherit;text-transform: inherit;cursor: pointer}.data-table th .sort-link::after,.sort-link::after{content: "\f0dc";font-family: "Font Awesome 5 Free","Font Awesome 6 Free";font-weight: 900;font-size: .85em;opacity: .35;transition: opacity var(--duration-fast) var(--ease-out)}.data-table th .sort-link:hover::after,.sort-link:hover::after{opacity: .7}.data-table th .sort-link.asc::after,.sort-link.asc::after{content: "\f0de";opacity: 1;color: var(--accent-500)}.data-table th .sort-link.desc::after,.sort-link.desc::after{content: "\f0dd";opacity: 1;color: var(--accent-500)}.data-table th:has(.sort-link.asc),.data-table th:has(.sort-link.desc){color: var(--text-primary)}.data-table .row-actions{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-1);white-space: nowrap}.data-table .row-actions .btn-circle{opacity: .55;transition: opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.data-table tr:hover .row-actions .btn-circle,.data-table .row-actions .btn-circle:focus-visible{opacity: 1}@media (hover: none){.data-table .row-actions .btn-circle{opacity: 1}}.cell-primary{display: flex;flex-direction: column;gap: 1px;min-width: 0}.cell-primary__title{font-weight: var(--weight-semibold);color: var(--text-primary);overflow: hidden;text-overflow: ellipsis}.cell-primary__meta{font-size: var(--text-xs);color: var(--text-muted)}.cell-media{display: flex;align-items: center;gap: var(--space-3);min-width: 0}.cell-thumb{flex: 0 0 auto;width: 36px;height: 36px;border-radius: var(--radius-md);object-fit: cover;background-color: var(--bg-subtle)}@media (max-width: 767.98px){.data-table-wrap{overflow-x: visible}.data-table,.data-table > tbody,.data-table > tbody > tr,.data-table > tbody > tr > td{display: block;width: 100%}.data-table > thead{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);clip-path: inset(50%);white-space: nowrap}.data-table > tbody > tr{position: relative;margin-bottom: var(--space-3);padding: var(--space-3) var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);box-shadow: var(--shadow-xs)}.data-table > tbody > tr > td,.data-table > thead > tr > th{width: auto !important;min-width: 0 !important;max-width: none !important}.data-table .action-col,.data-table .action-col-2,.data-table .action-col-3{width: auto !important}.data-table > tbody > tr > td{display: flex;align-items: flex-start;justify-content: space-between;gap: var(--space-4);padding: 5px 0;border-bottom: 0;text-align: right}.data-table > tbody > tr > td[data-label]::before{content: attr(data-label);flex: 0 0 40%;font-size: var(--text-xs);font-weight: var(--weight-medium);text-transform: uppercase;letter-spacing: .03em;color: var(--text-muted);text-align: left}.data-table > tbody > tr > td:not([data-label]){padding: 0}.data-table > tbody > tr > td.cell-title{display: block;padding-bottom: var(--space-2);margin-bottom: var(--space-2);border-bottom: 1px solid var(--border-subtle);text-align: left;font-size: var(--text-md);font-weight: var(--weight-semibold)}.data-table > tbody > tr > td.cell-title::before{display: none}.data-table > tbody > tr > td.cell-actions{justify-content: flex-end;padding-top: var(--space-3);margin-top: var(--space-2);border-top: 1px solid var(--border-subtle)}.data-table > tbody > tr > td.cell-actions::before{display: none}.data-table .row-actions .btn-circle{opacity: 1}.data-table > tbody > tr > td.cell-check{position: absolute;top: var(--space-3);right: var(--space-3);width: auto;padding: 0}}.card-list{display: flex;flex-direction: column;border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface)}.card-list > :first-child,.card-list > .list-card:first-child{border-top-left-radius: calc(var(--radius-lg) - 1px);border-top-right-radius: calc(var(--radius-lg) - 1px)}.card-list > :last-child,.card-list > .list-card:last-child{border-bottom-left-radius: calc(var(--radius-lg) - 1px);border-bottom-right-radius: calc(var(--radius-lg) - 1px)}.card-list__head{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-2) var(--space-4);border-bottom: 1px solid var(--border-subtle);background-color: var(--bg-subtle);font-size: var(--text-xs);color: var(--text-muted)}.card-list__head .form-check-label{font-size: var(--text-xs);font-weight: var(--weight-medium);color: var(--text-secondary);cursor: pointer}.card-list__head-count{margin-left: auto;font-variant-numeric: tabular-nums}.list-card{position: relative;display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4);border: 0;border-bottom: 1px solid var(--border-subtle);border-radius: 0;background-color: var(--bg-surface);text-decoration: none;transition: background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.list-card:last-child{border-bottom: 0}.list-card:hover{background-color: var(--bg-hover)}.list-card:focus-within{box-shadow: inset 0 0 0 2px var(--accent-300)}.list-card.is-selected{background-color: var(--accent-50);box-shadow: inset 3px 0 0 var(--accent-500)}body[data-theme="dark"] .list-card.is-selected{background-color: rgba(55,103,240,.12)}.list-card__check{flex: 0 0 auto}.list-card__media{position: relative;flex: 0 0 auto;display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;border: 1px solid var(--border-subtle);border-radius: var(--radius-md);overflow: hidden;background-color: var(--bg-subtle);color: var(--text-disabled)}.list-card__media img{position: absolute;inset: 0;width: 100%;height: 100%;padding: 3px;object-fit: contain;background-color: #fff}.list-card__media img[src*="noimage"],.list-card__media img[src*="no-image"]{display: none}.list-card__media > i{font-size: 15px}.list-card__body{flex: 1;min-width: 0;display: flex;align-items: center;gap: var(--space-4)}.list-card__title{flex: 1 1 40%;min-width: 0}.list-card__meta{flex: 1 1 55%;min-width: 0}@media (max-width: 1199.98px){.list-card__body{display: block}.list-card__title,.list-card__meta{flex: none}}.list-card__title{display: block;margin: 0 0 1px;font-size: var(--text-base);font-weight: var(--weight-semibold);line-height: 1.35;color: var(--text-primary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;cursor: pointer}.list-card:hover .list-card__title{color: var(--text-accent)}.list-card__meta{display: flex;flex-wrap: wrap;gap: 2px var(--space-3);font-size: var(--text-xs);color: var(--text-muted)}.list-card__meta-item{display: inline-flex;align-items: center;gap: 5px;min-width: 0}.list-card__meta-item > i{width: 14px;text-align: center;color: var(--text-disabled);font-size: 12px}.list-card__meta-label{color: var(--text-muted)}.list-card__aside{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-3);flex: 0 0 auto}.list-card__aside > .badge{min-width: 128px;justify-content: flex-start;gap: 7px;padding: 3px 0;background-color: transparent !important;color: var(--text-secondary) !important;font-size: var(--text-xs);font-weight: var(--weight-medium)}.list-card__aside > .badge::before{content: "";flex: 0 0 auto;width: 7px;height: 7px;border-radius: var(--radius-pill);background-color: var(--border-strong)}.list-card__aside > .badge.bg-success::before{background-color: var(--success-500)}.list-card__aside > .badge.bg-danger::before{background-color: var(--danger-500)}.list-card__aside > .badge.bg-warning::before{background-color: var(--warning-500)}.list-card__aside > .badge.bg-primary::before{background-color: var(--accent-500)}body[data-theme="dark"] .list-card__aside > .badge{background-color: transparent !important;color: var(--text-secondary) !important}.list-card__cta{flex: 0 0 auto;position: relative;z-index: 1;display: inline-flex;align-items: center;gap: 6px;padding: 5px 12px;border: 1px solid var(--accent-200);border-radius: var(--radius-md);background-color: var(--accent-50);color: var(--text-accent);font-family: inherit;font-size: var(--text-xs);font-weight: var(--weight-semibold);line-height: 1.5;white-space: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.list-card__cta:hover,.list-card__cta:focus-visible{background-color: var(--accent-500);border-color: var(--accent-500);color: #fff}.list-card__cta > i{font-size: 11px;transition: transform var(--duration-fast) var(--ease-out)}.list-card:hover .list-card__cta > i{transform: translateX(2px)}.list-card__actions{display: flex;align-items: center;gap: var(--space-1)}.list-card__actions > .btn{border-color: transparent;background-color: transparent;color: var(--text-muted);opacity: .6;transition: opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.list-card:hover .list-card__actions > .btn,.list-card__actions > .btn:focus-visible,.list-card__actions > .btn[aria-expanded="true"]{opacity: 1;background-color: var(--bg-hover);color: var(--text-primary)}@media (hover: none){.list-card__actions > .btn{opacity: 1}}.list-card__link::after{content: "";position: absolute;inset: 0;border-radius: inherit}.list-card__check,.list-card__actions{position: relative;z-index: 1}@media (max-width: 767.98px){.list-card{flex-wrap: wrap;gap: var(--space-3);padding: var(--space-3)}.list-card__media{width: 40px;height: 40px}.list-card__body{flex: 1 1 100%;order: 2}.list-card__title{white-space: normal}.list-card__aside{flex: 1 1 100%;order: 3;justify-content: space-between;padding-top: var(--space-2);border-top: 1px solid var(--border-subtle)}}.list-footer{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3);flex-wrap: wrap;padding-top: var(--space-3)}.list-range{font-size: var(--text-sm);color: var(--text-muted);font-variant-numeric: tabular-nums}.dataTables_paginate{display: flex;justify-content: flex-end}.dataTables_paginate .pagination{flex-wrap: wrap;gap: var(--space-1);margin: 0}.paginate_button:not(.page-item) > a{display: inline-flex;align-items: center;justify-content: center;min-width: 34px;height: 34px;color: var(--text-disabled);pointer-events: none}.question-browser{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: var(--space-4);align-items: start}.question-list{display: flex;flex-direction: column;gap: var(--space-2);max-height: calc(100vh - 320px);overflow-y: auto;padding-right: var(--space-1)}.question-row{display: flex;align-items: flex-start;gap: var(--space-3);padding: var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface);cursor: pointer;transition: border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.question-row:hover{border-color: var(--accent-300)}.question-row.is-active{border-color: var(--accent-500);background-color: var(--accent-50)}body[data-theme="dark"] .question-row.is-active{background-color: rgba(55,103,240,.12)}.question-row__body{flex: 1;min-width: 0}.question-row__code{font-family: var(--font-mono);font-size: var(--text-xs);color: var(--text-muted)}.question-row__excerpt{display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin-top: 2px;height: 3em;font-size: var(--text-sm);line-height: 1.5;color: var(--text-primary)}.question-row__excerpt *{display: inline !important;font-size: inherit !important;margin: 0 !important;padding: 0 !important}.question-row__excerpt img,.question-row__excerpt svg,.question-row__excerpt table{display: none !important}.question-row__tags{display: flex;flex-wrap: nowrap;align-items: center;gap: var(--space-1);margin-top: var(--space-2);height: 22px;overflow: hidden}.question-preview{position: sticky;top: calc(var(--header-height) + var(--space-4));border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);max-height: calc(100vh - 320px);overflow-y: auto}.question-preview__header{display: flex;align-items: center;gap: var(--space-2);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--border-subtle);font-weight: var(--weight-semibold)}.question-preview__body{padding: var(--space-4)}.question-preview__empty{padding: var(--space-12) var(--space-4);text-align: center;color: var(--text-muted);font-size: var(--text-sm)}@media (max-width: 991.98px){.question-browser{grid-template-columns: 1fr}.question-list{max-height: none}.question-preview{position: static;max-height: none}}.class-workspace{display: flex;flex-direction: column}.class-hero{display: flex;align-items: center;gap: var(--space-6);flex-wrap: wrap;padding: var(--space-5) var(--space-6);border-bottom: 1px solid var(--border-subtle);background-color: var(--bg-surface)}.class-hero__identity{display: flex;align-items: center;gap: var(--space-4);min-width: 0;flex: 1 1 320px}.class-hero__avatar{position: relative;display: flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 52px;height: 52px;border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);overflow: hidden;background-color: var(--accent-50);color: var(--accent-600);font-size: 20px}.class-hero__avatar img{position: absolute;inset: 0;width: 100%;height: 100%;padding: 4px;object-fit: contain;background-color: #fff}.class-hero__titles{min-width: 0}.class-hero__name{margin: 0 0 var(--space-2);font-size: var(--text-2xl);font-weight: var(--weight-bold);line-height: 1.2;letter-spacing: -.02em;color: var(--text-primary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.class-hero__tags{display: flex;flex-wrap: wrap;gap: var(--space-2)}.class-chip{display: inline-flex;align-items: center;gap: 5px;padding: 3px 9px;border: 1px solid var(--border-subtle);border-radius: var(--radius-pill);background-color: var(--bg-subtle);font-size: var(--text-xs);font-weight: var(--weight-medium);color: var(--text-secondary)}.class-chip > i{font-size: 11px;color: var(--text-disabled)}.class-chip--status::before{content: "";width: 7px;height: 7px;border-radius: var(--radius-pill);background-color: var(--border-strong)}.class-chip--status[data-status="1"]::before{background-color: var(--success-500)}.class-chip--status[data-status="0"]::before{background-color: var(--warning-500)}.class-chip--status[data-status="2"]::before{background-color: var(--text-disabled)}.class-hero__facts{display: flex;align-items: stretch;gap: var(--space-6);margin: 0;padding: 0;flex: 0 1 auto}.class-fact{display: flex;flex-direction: column;gap: 2px;min-width: 0}.class-fact dt{font-size: var(--text-xs);font-weight: var(--weight-normal);color: var(--text-muted);white-space: nowrap}.class-fact dd{margin: 0;font-size: var(--text-xl);font-weight: var(--weight-semibold);line-height: 1.15;color: var(--text-primary);font-variant-numeric: tabular-nums}.class-fact__of{font-size: var(--text-base);font-weight: var(--weight-normal);color: var(--text-muted)}.class-fact dd.class-fact__text{font-size: var(--text-base);font-weight: var(--weight-medium);max-width: 170px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.class-hero__actions{display: flex;align-items: center;gap: var(--space-2);flex: 0 0 auto;margin-left: auto}.class-workspace__body{display: flex;align-items: stretch;flex: 1;min-height: 0}.class-nav{flex: 0 0 232px;width: 232px;padding: var(--space-4) var(--space-3);border-right: 1px solid var(--border-subtle);background-color: var(--bg-surface)}.class-nav .nav{gap: 1px;margin: 0;padding: 0;list-style: none}.class-nav__section{margin: var(--space-4) 0 var(--space-1);padding: 0 var(--space-3);font-size: var(--text-xs);font-weight: var(--weight-semibold);letter-spacing: .06em;text-transform: uppercase;color: var(--text-disabled)}.class-nav__section:first-child{margin-top: 0}.class-nav .nav-link{display: flex;align-items: center;gap: var(--space-3);padding: 7px var(--space-3);border-radius: var(--radius-md);font-size: var(--text-base);font-weight: var(--weight-medium);color: var(--text-secondary);white-space: nowrap;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.class-nav .nav-link > i{flex: 0 0 18px;display: inline-flex;align-items: center;justify-content: center;width: 18px;font-size: 14px;opacity: .8}.class-nav .nav-link:hover{background-color: var(--bg-hover);color: var(--text-primary)}.class-nav .nav-link.active{background-color: var(--accent-50);color: var(--accent-700);font-weight: var(--weight-semibold)}.class-nav .nav-link.active > i{opacity: 1}body[data-theme="dark"] .class-nav .nav-link.active{background-color: rgba(55,103,240,.18);color: #fff}.class-panel{flex: 1;min-width: 0;display: flex;flex-direction: column;min-height: 50vh;padding: var(--space-5) var(--space-6);background-color: var(--bg-canvas)}.sd-stats{display: flex;flex-wrap: wrap;gap: var(--space-6);margin-bottom: var(--space-4)}.sd-stat{display: flex;flex-direction: column;gap: 2px}.sd-stat span{font-size: var(--text-xs);color: var(--text-muted)}.sd-stat strong{font-size: var(--text-xl);font-weight: var(--weight-semibold);line-height: 1.15;color: var(--text-primary);font-variant-numeric: tabular-nums}.sd-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(260px,1fr));gap: var(--space-4)}.sd-card{padding: var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface)}.sd-card h6{margin: 0 0 var(--space-3);font-size: var(--text-xs);font-weight: var(--weight-semibold);letter-spacing: .06em;text-transform: uppercase;color: var(--text-disabled)}.sd-card dl{margin: 0}.sd-row{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);padding: 3px 0}.sd-row dt{flex: 0 0 auto;font-size: var(--text-sm);font-weight: var(--weight-normal);color: var(--text-muted)}.sd-row dd{margin: 0;min-width: 0;text-align: right;overflow-wrap: anywhere;color: var(--text-primary)}.sd-guardian + .sd-guardian{margin-top: var(--space-3);padding-top: var(--space-3);border-top: 1px solid var(--border-subtle)}.sd-guardian__name{margin-bottom: var(--space-1);font-weight: var(--weight-semibold);color: var(--text-primary)}.sd-session{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-2) 0;border-bottom: 1px solid var(--border-subtle)}.sd-session:last-child{border-bottom: 0}.sd-session__when{flex: 0 0 auto;font-size: var(--text-sm);color: var(--text-secondary);font-variant-numeric: tabular-nums}.sd-session__title{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: var(--text-primary)}.sd-mark{flex: 0 0 auto;min-width: 96px;min-height: 32px;padding: 4px var(--space-3);border: 1px solid transparent;border-radius: var(--radius-pill);font: inherit;font-size: var(--text-sm);font-weight: var(--weight-medium);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out)}.sd-mark--on{background-color: var(--success-50);border-color: var(--success-100);color: var(--success-700)}.sd-mark--off{background-color: var(--bg-subtle);border-color: var(--border-subtle);color: var(--text-muted)}.sd-mark:hover:not(:disabled){border-color: var(--accent-400)}.sd-mark:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.sd-mark:disabled{cursor: default;opacity: .6}.bonus-cell{width: 100%;min-height: 32px;padding: 4px var(--space-2);border: 0;border-radius: var(--radius-sm);background: transparent;font: inherit;color: inherit;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out)}.bonus-cell:hover{background-color: var(--accent-50);color: var(--text-accent)}.bonus-cell:focus-visible{outline: 2px solid var(--accent-500);outline-offset: -2px}.bonus-cell:empty::before{content: "+";color: var(--text-disabled)}.class-subnav{display: flex;gap: var(--space-1);margin-bottom: var(--space-4);border-bottom: 1px solid var(--border-subtle)}.class-subnav[hidden]{display: none}.class-subnav__btn{position: relative;padding: 8px var(--space-3);border: 0;background: transparent;font: inherit;font-size: var(--text-base);font-weight: var(--weight-medium);color: var(--text-secondary);white-space: nowrap;cursor: pointer;transition: color var(--duration-fast) var(--ease-out)}.class-subnav__btn::after{content: "";position: absolute;right: var(--space-3);bottom: -1px;left: var(--space-3);height: 2px;border-radius: 2px 2px 0 0;background-color: transparent}.class-subnav__btn:hover{color: var(--text-primary)}.class-subnav__btn.active{color: var(--text-accent);font-weight: var(--weight-semibold)}.class-subnav__btn.active::after{background-color: var(--accent-500)}.class-subnav__btn:focus-visible{outline: 2px solid var(--accent-500);outline-offset: -2px}.class-panel__toolbar:empty{display: none}.class-panel__toolbar{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;margin-bottom: var(--space-4)}.class-panel__toolbar .btn{margin: 0 !important}.class-panel .tab-content{flex: 1;min-width: 0}.class-panel .tab-content > *{max-width: 100%}.att-toolbar{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;width: 100%}.att-toolbar__search{flex: 0 1 300px;min-width: 200px}.att-toolbar .btn{flex: 0 0 auto}#attendance-container{max-height: calc(100vh - 320px);min-height: 260px;overflow: auto;padding: 0}#attendance-list{margin: 0;border-collapse: separate;border-spacing: 0}#attendance-list > thead th{position: sticky;top: 0;z-index: 3;background-color: var(--bg-subtle);border-bottom: 1px solid var(--border-default);vertical-align: middle}.att-sticky{position: sticky;z-index: 2;background-color: var(--bg-surface);background-clip: padding-box}#attendance-list.table-striped > tbody > tr > .att-sticky{--bs-table-accent-bg: transparent;--bs-table-bg-type: transparent}.att-sticky--index{left: 0;width: 44px;min-width: 44px;max-width: 44px}.att-sticky--avatar{left: 44px;width: 64px;min-width: 64px;max-width: 64px}.att-sticky--name{left: 108px;min-width: 200px}.att-sticky--name{border-right: 1px solid var(--border-default);box-shadow: 2px 0 4px -2px rgba(16,24,40,.10)}#attendance-list > thead .att-sticky{z-index: 4;background-color: var(--bg-subtle)}#attendance-list > thead th:has(.dropdown-menu.show){z-index: 6}#attendance-list > thead .dropdown-menu{text-transform: none;letter-spacing: normal;font-size: var(--text-base);font-weight: var(--weight-normal)}#attendance-list > tbody > tr:nth-of-type(odd) .att-sticky{background-color: var(--bg-canvas)}#attendance-list > tbody > tr:hover .att-sticky{background-color: var(--bg-hover)}#attendance-list .full-name{font-weight: var(--weight-medium);color: var(--text-primary);white-space: nowrap}#attendance-list .avatar{width: 34px;height: 34px}#attendance-list .avatar-img{width: 34px;height: 34px;object-fit: cover;border-radius: var(--radius-pill)}#attendance-list > tbody > tr > td{text-align: center;vertical-align: middle;border-bottom: 1px solid var(--border-subtle)}#attendance-list .form-check-input{margin: 0;cursor: pointer}body[data-theme="dark"] .att-sticky--name{box-shadow: 2px 0 4px -2px rgba(0,0,0,.5)}@media (max-width: 767.98px){.att-sticky--avatar{display: none}.att-sticky--name{left: 44px;min-width: 140px}#attendance-container{max-height: calc(100vh - 260px)}}#score-table-container{max-height: calc(100vh - 320px);min-height: 260px;overflow: auto}.score-table{margin: 0;border-collapse: separate;border-spacing: 0;white-space: nowrap}.score-table > thead > tr:first-child > th{position: sticky;top: 0;z-index: 3;height: 38px;background-color: var(--bg-muted);font-size: var(--text-xs);text-transform: uppercase;letter-spacing: .04em;color: var(--text-secondary)}.score-table > thead > tr:nth-child(2) > th{position: sticky;top: 38px;z-index: 3;background-color: var(--bg-subtle);font-size: var(--text-xs);font-weight: var(--weight-semibold);color: var(--text-muted)}.score-table > thead > tr:first-child > th[rowspan]{top: 0;background-color: var(--bg-subtle)}.sc-sticky{position: sticky;z-index: 2;background-color: var(--bg-surface);background-clip: padding-box}.sc-sticky--check{left: 0;width: 44px;min-width: 44px;max-width: 44px}.sc-sticky--index{left: 44px;width: 46px;min-width: 46px;max-width: 46px}.sc-sticky--avatar{left: 90px;width: 60px;min-width: 60px;max-width: 60px}.sc-sticky--name{left: 150px;min-width: 190px}.sc-sticky--name{border-right: 1px solid var(--border-default);box-shadow: 2px 0 4px -2px rgba(16,24,40,.10);font-weight: var(--weight-medium);color: var(--text-primary)}.score-table > thead .sc-sticky{z-index: 4;background-color: var(--bg-subtle)}.score-table.table-striped > tbody > tr > .sc-sticky{--bs-table-accent-bg: transparent;--bs-table-bg-type: transparent}.score-table > tbody > tr:nth-of-type(odd) .sc-sticky{background-color: var(--bg-canvas)}.score-table > tbody > tr:hover .sc-sticky{background-color: var(--bg-hover)}.score-table > tbody > tr > td,.score-table > tbody > tr > th{padding: var(--space-2) var(--space-3)}.score-table .student-avatar{display: flex;align-items: center;justify-content: center;width: 28px;height: 28px;margin: 0 auto;border-radius: var(--radius-pill);overflow: hidden;background-color: var(--bg-subtle);color: var(--text-disabled)}.score-table .student-avatar img{width: 100%;height: 100%;object-fit: cover}.score-table .student-avatar .fa-2x{font-size: 14px}.score-table .cell-dark{background-color: var(--accent-50) !important;font-weight: var(--weight-semibold);color: var(--accent-800)}body[data-theme="dark"] .score-table .cell-dark{background-color: rgba(55,103,240,.16) !important;color: var(--accent-200)}.score-table > tbody > tr > td{text-align: center;vertical-align: middle;font-variant-numeric: tabular-nums}.score-cell{padding: 0 !important;position: relative}.score-input{width: 100%;min-width: 56px;padding: var(--space-2) 4px;border: 1px solid transparent;border-radius: var(--radius-xs);background-color: transparent;color: var(--text-primary);font: inherit;font-variant-numeric: tabular-nums;text-align: center;-moz-appearance: textfield;appearance: textfield;transition: border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button{-webkit-appearance: none;margin: 0}.score-cell:hover .score-input{border-color: var(--border-default);background-color: var(--bg-surface)}.score-input:focus{outline: none;border-color: var(--accent-500);background-color: var(--bg-surface);box-shadow: var(--shadow-focus)}.score-cell.is-saving{background-color: var(--bg-subtle)}.score-cell.is-saved{background-color: var(--success-50)}.score-cell.is-error{background-color: var(--danger-50)}body[data-theme="dark"] .score-cell.is-saved{background-color: rgba(18,160,92,.18)}body[data-theme="dark"] .score-cell.is-error{background-color: rgba(217,45,45,.18)}body[data-theme="dark"] .sc-sticky--name{box-shadow: 2px 0 4px -2px rgba(0,0,0,.5)}@media (max-width: 767.98px){.sc-sticky--avatar{display: none}.sc-sticky--name{left: 90px;min-width: 140px}#score-table-container{max-height: calc(100vh - 260px)}}.mark-nav{position: sticky;top: 0;z-index: 5;display: flex;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-3);margin-bottom: var(--space-2);border: 1px solid var(--border-subtle);border-radius: var(--radius-md);background-color: var(--bg-surface);box-shadow: var(--shadow-xs)}.mark-nav[hidden]{display: none}.mark-nav__position{min-width: 54px;text-align: center;font-size: var(--text-sm);font-weight: var(--weight-semibold);font-variant-numeric: tabular-nums;color: var(--text-secondary)}.mark-nav__hint{font-size: var(--text-xs);color: var(--text-disabled);white-space: nowrap}@media (max-width: 767.98px){.mark-nav__hint{display: none}}@media (max-width: 1199.98px){.class-hero{gap: var(--space-4)}.class-hero__facts{gap: var(--space-5);order: 3;flex: 1 1 100%;padding-top: var(--space-3);border-top: 1px solid var(--border-subtle)}.class-hero__actions{order: 2}}@media (max-width: 991.98px){.class-workspace__body{flex-direction: column}.class-nav{flex: none;width: 100%;padding: var(--space-2) var(--space-3);border-right: 0;border-bottom: 1px solid var(--border-subtle);overflow-x: auto;scrollbar-width: none}.class-nav::-webkit-scrollbar{display: none}.class-nav .nav{flex-direction: row !important;flex-wrap: nowrap;gap: var(--space-1);width: max-content}.class-nav__section{display: flex;align-items: center;margin: 0 var(--space-1);padding: 0}.class-nav__section::after{content: "";width: 1px;height: 18px;background-color: var(--border-subtle)}.class-nav__section{font-size: 0}.class-panel{padding: var(--space-4)}}@media (max-width: 767.98px){.class-hero{padding: var(--space-4)}.class-hero__name{font-size: var(--text-xl)}.class-hero__actions{width: 100%;margin-left: 0}.class-hero__actions .btn{flex: 1 1 auto}.class-hero__facts{gap: var(--space-4);flex-wrap: wrap}.class-panel{padding: var(--space-3)}.class-subnav{overflow-x: auto;scrollbar-width: none}.class-subnav::-webkit-scrollbar{display: none}}.learn{display: flex;flex-direction: column;gap: var(--space-8)}.learn-main{display: flex;flex-direction: column;gap: var(--space-8);min-width: 0}.learn-head__title{margin: 0 0 var(--space-1);font-size: var(--text-2xl);font-weight: var(--weight-bold);letter-spacing: -.02em;color: var(--text-primary);text-wrap: balance}.learn-head__hint{margin: 0;font-size: var(--text-base);color: var(--text-muted)}.learn-head__hint i{margin-right: 4px;color: var(--text-disabled)}.learn-section__head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);margin-bottom: var(--space-3)}.learn-section__head .learn-section__title{margin-bottom: 0}.learn-section__title{display: flex;align-items: center;gap: var(--space-2);margin: 0 0 var(--space-3);font-size: var(--text-md);font-weight: var(--weight-semibold);color: var(--text-primary)}.learn-section__title i{font-size: 13px;color: var(--text-disabled)}.learn-section__link{font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-accent);text-decoration: none;white-space: nowrap}.learn-section__link:hover{text-decoration: underline;color: var(--text-accent)}.learn-section__link i{font-size: 11px;margin-left: 2px}.learn-today__list{display: flex;gap: var(--space-3);margin: 0;padding: 0 0 var(--space-1);list-style: none;overflow-x: auto;scrollbar-width: none}.learn-today__list::-webkit-scrollbar{display: none}.learn-today__item{flex: 0 0 260px;max-width: 80vw}.learn-today__item a{display: flex;flex-direction: column;gap: 2px;padding: var(--space-3) var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);color: var(--text-primary);text-decoration: none;transition: transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.learn-today__item a:hover{transform: translateY(-2px);border-color: var(--border-default);color: var(--text-primary)}.learn-today__item a:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.learn-today__class{font-size: var(--text-xs);color: var(--text-muted)}.learn-today__name{font-weight: var(--weight-semibold);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.learn-today__time{font-size: var(--text-xs);color: var(--warning-600);font-variant-numeric: tabular-nums}.learn-invites__list{display: flex;flex-direction: column;gap: var(--space-2);margin: 0;padding: 0;list-style: none}.learn-invite{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4);border: 1px solid var(--accent-100);border-radius: var(--radius-lg);background-color: var(--accent-50)}.learn-invite__body{flex: 1 1 200px;min-width: 0}.learn-invite__title{font-weight: var(--weight-semibold);color: var(--text-primary)}.learn-invite__note{font-size: var(--text-sm);color: var(--text-secondary)}.learn-invite__actions{display: flex;gap: var(--space-2)}.learn-grid{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-8)}@media (min-width: 1200px){.learn-grid{grid-template-columns: minmax(0,2fr) minmax(280px,1fr);align-items: start}}.learn-two{display: grid;grid-template-columns: repeat(auto-fit,minmax(280px,1fr));gap: var(--space-6)}.learn-classes__bar{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);margin-bottom: var(--space-4)}.learn-seg{display: inline-flex;padding: 3px;border: 1px solid var(--border-subtle);border-radius: var(--radius-pill);background-color: var(--bg-subtle)}.learn-seg__btn{min-height: 32px;padding: 6px 14px;border: 0;border-radius: var(--radius-pill);background: transparent;font: inherit;font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.learn-seg__btn:hover{color: var(--text-primary)}.learn-seg__btn.active{background-color: var(--bg-surface);color: var(--text-primary);box-shadow: var(--shadow-xs)}.learn-seg__btn:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.learn-search{display: flex;align-items: center;gap: var(--space-2);flex: 1 1 200px;max-width: 320px;margin-left: auto;height: 38px;padding: 0 var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-pill);background-color: var(--bg-surface);color: var(--text-disabled)}.learn-search input{width: 100%;border: 0;background: transparent;font-size: 16px;color: var(--text-primary);outline: none}.learn-search:focus-within{border-color: var(--accent-400);box-shadow: var(--shadow-focus)}.learn-classes__grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));gap: var(--space-3)}.learn-class{display: flex;align-items: center;gap: var(--space-3);min-height: 84px;padding: var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);color: var(--text-primary);text-decoration: none;transition: transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.learn-class:hover{transform: translateY(-2px);border-color: var(--accent-300);color: var(--text-primary)}.learn-class:active{transform: translateY(0)}.learn-class:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.learn-class__logo{display: grid;place-items: center;flex: 0 0 56px;width: 56px;height: 56px;border-radius: var(--radius-md);overflow: hidden;background-color: var(--accent-50);color: var(--accent-600);font-size: 20px}.learn-class__logo img{width: 100%;height: 100%;object-fit: cover}.learn-class__body{flex: 1;min-width: 0}.learn-class__name{margin: 0 0 4px;font-size: var(--text-md);font-weight: var(--weight-semibold);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.learn-class__meta{display: flex;flex-wrap: wrap;gap: var(--space-1) var(--space-3);font-size: var(--text-xs);color: var(--text-muted)}.learn-class__meta span{display: inline-flex;align-items: center;gap: 4px;min-width: 0}.learn-class__go{color: var(--text-disabled);transition: transform var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.learn-class:hover .learn-class__go{transform: translateX(3px);color: var(--accent-600)}.learn-list{display: flex;flex-direction: column;gap: var(--space-2);margin: 0;padding: 0;list-style: none}.learn-row{display: flex;align-items: center;gap: var(--space-3);min-height: 56px;padding: var(--space-2) var(--space-3);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface);color: var(--text-primary);text-decoration: none;transition: transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.learn-row:hover{transform: translateY(-2px);border-color: var(--accent-300);color: var(--text-primary)}.learn-row:focus-visible{outline: 2px solid var(--accent-500);outline-offset: 2px}.learn-row__icon{display: grid;place-items: center;flex: 0 0 36px;width: 36px;height: 36px;border-radius: var(--radius-md);background-color: var(--bg-subtle);color: var(--text-secondary)}.learn-row__body{flex: 1;min-width: 0}.learn-row__name{font-weight: var(--weight-semibold);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.learn-row__meta{font-size: var(--text-xs);color: var(--text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.learn-row__go{color: var(--text-disabled)}.learn-empty{grid-column: 1 / -1;display: flex;flex-direction: column;align-items: center;gap: var(--space-2);padding: var(--space-10) var(--space-4);border: 1px dashed var(--border-default);border-radius: var(--radius-lg);text-align: center;color: var(--text-secondary)}.learn-empty i{font-size: 28px;color: var(--accent-400)}.learn-empty strong{color: var(--text-primary)}.learn-empty--compact{padding: var(--space-6) var(--space-4)}.learn-skeleton{height: 84px;border-radius: var(--radius-lg);background: linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-muted) 37%,var(--bg-subtle) 63%);background-size: 400% 100%;animation: learn-shimmer 1.2s var(--ease-in-out) infinite}.learn-skeleton--row{height: 56px}@keyframes learn-shimmer{from{background-position: 100% 0}to{background-position: 0 0}}.learn-progress{display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-4);border: 1px solid var(--border-subtle);border-radius: var(--radius-lg);background-color: var(--bg-surface)}.learn-progress .learn-section__title{margin-bottom: 0}.learn-stat__row{display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-2);font-size: var(--text-sm);color: var(--text-secondary)}.learn-stat__value{font-size: var(--text-lg);font-weight: var(--weight-semibold);color: var(--text-primary);font-variant-numeric: tabular-nums}.learn-stat__value small{font-size: var(--text-sm);font-weight: var(--weight-normal);color: var(--text-muted)}.learn-bar{height: 6px;margin-top: 6px;border-radius: var(--radius-pill);background-color: var(--bg-muted);overflow: hidden}.learn-bar > span{display: block;width: 0;height: 100%;border-radius: inherit;background-color: var(--accent-500);transition: width var(--duration-slow) var(--ease-out)}.learn-chart h3{margin: 0 0 var(--space-2);font-size: var(--text-sm);font-weight: var(--weight-medium);color: var(--text-secondary)}@media (prefers-reduced-motion: reduce){.learn-skeleton{animation: none}.learn-class,.learn-row,.learn-today__item a,.learn-bar > span,.learn-class__go{transition: none}}