@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-brand: "Outfit", sans-serif;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--bg-app: #F5F7FB;--surface: #ffffff;--safe-area-bg: var(--surface);--surface-alt: var(--slate-100);--surface-elevated: #ffffff;--sidebar-bg: #1B2B44;--sidebar-fg: #ffffff;--border: #E6EAF1;--border-strong: var(--slate-300);--text-primary: var(--slate-900);--text-secondary: var(--slate-600);--text-tertiary: var(--slate-400);--text-on-primary: #ffffff;--primary: #1B2B44;--primary-ink: var(--text-primary);--primary-soft: #EAEFF6;--on-primary-soft: #1B2B44;--success: #16A34A;--success-soft: #ECFDF3;--warning: #D97706;--warning-soft: #FFFAEB;--danger: #DC2626;--danger-soft: #FEF2F2;--info: #2563EB;--info-soft: #EFF6FF;--overlay: rgba(11, 19, 34, .55);--skeleton-base: #E8ECF3;--skeleton-highlight: #F6F8FB;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-xxl: 24px;--radius-full: 999px;--shadow-low: 0px 1px 2px rgba(11, 19, 34, .04), 0px 2px 8px rgba(11, 19, 34, .06);--shadow-medium: 0px 6px 16px rgba(11, 19, 34, .08), 0px 2px 4px rgba(11, 19, 34, .04);--shadow-high: 0px 16px 32px rgba(11, 19, 34, .12), 0px 4px 8px rgba(11, 19, 34, .06);--bp-xs: 0px;--bp-sm: 361px;--bp-md: 681px;--bp-lg: 981px;--bp-xl: 1281px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--container-max: 1200px}[data-theme=dark]{--bg-app: #0A101C;--surface: #111A2B;--safe-area-bg: var(--sidebar-bg);--surface-alt: #162135;--surface-elevated: #1A2639;--sidebar-bg: #0D1524;--sidebar-fg: #ffffff;--border: #223148;--border-strong: #33465F;--text-primary: #EDF1F7;--text-secondary: #9DACC3;--text-tertiary: #64748B;--text-on-primary: #ffffff;--primary: #0284C7;--primary-soft: #1D2C44;--primary-ink: var(--text-primary);--on-primary-soft: #BACFE8;--success: #4ADE80;--success-soft: #0E2A1B;--warning: #FBBF24;--warning-soft: #2A2110;--danger: #F87171;--danger-soft: #2E1414;--info: #60A5FA;--info-soft: #13233E;--overlay: rgba(5, 10, 20, .7);--skeleton-base: #1B2740;--skeleton-highlight: #25334F;--shadow-low: 0px 1px 2px rgba(0, 0, 0, .2), 0px 2px 8px rgba(0, 0, 0, .15);--shadow-medium: 0px 6px 16px rgba(0, 0, 0, .25), 0px 2px 4px rgba(0, 0, 0, .15);--shadow-high: 0px 16px 32px rgba(0, 0, 0, .35), 0px 4px 8px rgba(0, 0, 0, .2)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--safe-area-bg)}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh;background-color:var(--safe-area-bg)}img,svg,video{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-display{font-size:38px;font-weight:700;line-height:1.15;letter-spacing:-.5px;color:var(--text-primary)}.text-headline{font-size:26px;font-weight:700;line-height:1.25;color:var(--text-primary)}.text-title{font-size:19px;font-weight:600;line-height:1.3;color:var(--text-primary)}.text-body{font-size:15px;font-weight:400;line-height:1.5;color:var(--text-primary)}.text-label{font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.1px;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}button{width:auto;height:40px;min-height:40px;vertical-align:middle;border:0;border-radius:var(--radius-md);padding:10px 16px;color:#fff;background:var(--primary);font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease,filter .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-low);box-sizing:border-box;text-align:center;white-space:nowrap}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-medium);filter:brightness(1.05)}button:active:not(:disabled){transform:translateY(0);filter:brightness(.98)}button:focus-visible{outline:none;box-shadow:var(--shadow-low),0 0 0 4px color-mix(in srgb,var(--primary),transparent 85%)}button:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.builder>button,.button-row>button,.btn-block{width:100%}.secondary-button{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-primary);font-weight:600;box-shadow:none}.secondary-button:hover:not(:disabled){background:var(--surface-alt);border-color:color-mix(in srgb,var(--primary),var(--border-strong) 55%);box-shadow:var(--shadow-low);filter:none}.secondary-button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary),transparent 88%)}.compact-action-button{flex-shrink:0;font-size:13px;font-weight:700;height:40px;min-height:40px;padding:8px 14px;width:auto;white-space:nowrap}.danger-outline-button{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger),transparent 50%);color:var(--danger);box-shadow:none;width:auto}.danger-outline-button:hover:not(:disabled){background:color-mix(in srgb,var(--danger-soft),var(--danger) 8%);filter:none}.icon-danger-button{background:var(--surface);border:1px solid color-mix(in srgb,var(--danger),transparent 50%);box-shadow:none;color:var(--danger);font-size:0;font-weight:700;justify-self:start;width:40px;min-width:40px;flex:0 0 40px;height:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.icon-danger-button svg{display:block!important;flex:0 0 15px;width:15px;height:15px;color:currentColor;stroke:currentColor;opacity:1;margin:0!important;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.icon-danger-button{position:relative;line-height:0}.class-list-actions{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:8px;justify-content:flex-end;margin-left:auto;width:auto}.class-list-actions .icon-danger-button{margin-left:0}.icon-danger-button:hover:not(:disabled){background:var(--danger-soft);filter:none}.topbar-role-switcher button{background:transparent;border:0;box-shadow:none;font-size:12px;font-weight:800;min-height:36px;padding:9px 8px;transform:none;width:auto}.topbar-role-switcher button:hover{box-shadow:none;filter:none;transform:none}.status-toggle{border-radius:var(--radius-full);box-shadow:none;font-size:12px;height:32px;font-weight:700;min-height:32px;padding:6px 12px;width:auto}.status-toggle.paid{background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success),transparent 65%);color:var(--success)}.status-toggle.waiting{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning),transparent 60%);color:var(--warning)}.table-sort-button{align-items:center;background:transparent;border:0;box-shadow:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;height:auto;min-height:0;padding:0;text-align:left;white-space:normal;width:auto}.table-sort-button:hover:not(:disabled){box-shadow:none;filter:none;transform:none}.tab-item{box-shadow:none;height:auto;min-height:0;transform:none;white-space:nowrap;width:auto}.tab-item:hover:not(:disabled){filter:none}.week-toolbar button,.program-actions-row button{width:auto}.builder{display:grid;gap:16px;width:100%}label{display:grid;gap:6px;color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.1px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:14px 16px;color:var(--text-primary);background-color:var(--surface);font-family:inherit;font-size:15px;font-weight:500;outline:none;transition:all .2s ease;min-height:48px;box-sizing:border-box}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;padding:0;border:2px solid var(--border-strong);border-radius:6px;background:var(--surface);accent-color:var(--text-primary);cursor:pointer;flex-shrink:0;display:inline-grid;place-content:center;vertical-align:middle;box-shadow:none;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}input[type=checkbox]:before{content:"";width:12px;height:12px;transform:scale(0);transition:transform .12s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}input[type=checkbox]:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary),var(--border-strong) 40%)}input[type=checkbox]:checked{background:var(--primary);border-color:var(--text-primary)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary),transparent 85%)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox].checkbox-success:checked{background:var(--success);border-color:var(--success)}input[type=checkbox].checkbox-success:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--success),transparent 80%)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:100%;text-overflow:ellipsis;color-scheme:light;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}select:hover{border-color:color-mix(in srgb,var(--primary),var(--border-strong) 55%)}select option{padding:10px 12px;background:var(--surface);color:var(--text-primary)}.web-select{position:relative;width:100%;min-width:0}.web-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:-1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important}.web-select-trigger{align-items:center;background:var(--surface);border:1px solid var(--border-strong);display:flex;justify-content:space-between;gap:12px;min-height:48px;overflow:hidden;padding:14px 16px;text-align:left;white-space:nowrap;color:var(--text-primary);width:100%}.web-select-trigger:hover:not(:disabled),.web-select-trigger:focus-visible{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary);filter:none;transform:none}.web-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.web-select-trigger>span.web-select-label-viewport{flex:1 1 auto;max-width:calc(100% - 21px);overflow:hidden;text-overflow:clip;white-space:nowrap}.web-select-label-viewport>span.web-select-label-marquee{display:inline-block;min-width:max-content;text-overflow:clip;animation:web-select-label-marquee 3.8s ease-in-out .7s infinite alternate;will-change:transform}.web-select-trigger>svg{flex:0 0 17px;position:relative;z-index:2;background:var(--surface)}@keyframes web-select-label-marquee{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--web-select-marquee-distance)))}}@media (prefers-reduced-motion: reduce){.web-select-label-viewport>span.web-select-label-marquee{animation:none}}.web-select-placeholder{color:var(--text-secondary)}.web-select-menu{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-high);display:grid;gap:3px;left:0;max-height:min(240px,34vh);overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.web-select-menu button{align-items:center;background:transparent;border:0;border-radius:8px;box-shadow:none;color:var(--text-primary);display:flex;font:inherit;justify-content:flex-start;min-height:42px;overflow:hidden;padding:9px 10px;text-align:left;text-overflow:ellipsis;transform:none;white-space:nowrap;width:100%}.web-select-menu button:hover,.web-select-menu button.selected{background:color-mix(in srgb,var(--primary),transparent 88%);color:var(--text-primary);filter:none;transform:none}.web-select-menu button:disabled{color:var(--danger);cursor:not-allowed;opacity:1}.duration-field{display:grid;gap:6px;color:var(--text-primary);font-size:14px;font-weight:600}.schedule-duration-office-row{align-items:end}.schedule-duration-office-row>.duration-field,.schedule-duration-office-row>label{min-width:0}.duration-field>span{line-height:1.2}.duration-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.duration-input label{gap:5px;font-size:11px;font-weight:700;color:var(--text-secondary)}.duration-input .web-select-trigger{gap:4px;min-height:40px;height:40px;padding:10px 8px}.duration-input .web-select-trigger>span.web-select-label-viewport{flex:1 1 auto;overflow:hidden;text-overflow:clip}.duration-input .web-select-trigger>svg{flex:0 0 17px}.duration-input .web-select-menu{height:140px;max-height:140px}.web-select-menu.open-up{bottom:calc(100% + 6px);max-height:min(220px,40dvh);top:auto}.global-select-menu{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-high);display:grid;gap:3px;overflow-y:auto;padding:6px;z-index:6000;overscroll-behavior:contain;touch-action:pan-y}.global-select-menu button{align-items:center;background:transparent;border:0;border-radius:8px;box-shadow:none;color:var(--text-primary);display:flex;font:inherit;justify-content:space-between;min-height:42px;padding:9px 10px;text-align:left;width:100%}.global-select-menu button:hover:not(:disabled),.global-select-menu button.selected{background:color-mix(in srgb,var(--primary),transparent 88%);color:var(--text-primary)}.global-select-menu button:disabled{cursor:not-allowed;opacity:.5}.global-select-check{color:var(--primary);font-weight:800;margin-left:16px}.app-select-sheet-overlay{align-items:end;background:#0f172a85;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px 12px max(12px,env(safe-area-inset-bottom,0px));position:fixed;z-index:5000}.app-select-interaction-blocker{background:transparent;top:0;right:0;bottom:0;left:0;position:fixed;z-index:5001}.app-select-sheet{background:var(--surface-elevated);border-radius:20px;box-shadow:var(--shadow-high);display:grid;gap:12px;max-height:min(76dvh,640px);overflow:hidden;padding:16px;width:min(100%,560px)}.app-select-sheet.has-search{grid-template-rows:auto auto minmax(0,1fr)}.app-select-sheet header{align-items:center;display:flex;justify-content:space-between;min-width:0}.app-select-sheet header>div{display:grid;gap:2px;min-width:0}.app-select-sheet header span{color:var(--text-secondary);font-size:12px;font-weight:700}.app-select-sheet header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select-sheet-close{align-items:center;background:var(--surface-alt);border:0;border-radius:50%;color:var(--text-primary);display:inline-flex;flex:0 0 auto;height:38px;justify-content:center;padding:0;width:38px}.app-select-sheet-search{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;display:block;padding:0;position:relative}.app-select-sheet-search svg{color:var(--text-secondary);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.app-select-sheet-search .app-select-sheet-search-input{background:transparent;border:0;box-sizing:border-box;display:block;box-shadow:none;min-width:0;padding:11px 12px 11px 52px!important;width:100%}.app-select-sheet-search-trigger{align-items:center;align-self:start;background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);display:inline-flex;font:inherit;font-weight:700;gap:8px;justify-content:center;min-height:40px;padding:10px 14px}.app-select-sheet-options{display:grid;gap:4px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-select-sheet-options button{align-items:center;background:transparent;border:0;border-radius:12px;color:var(--text-primary);display:flex;font:inherit;justify-content:space-between;min-height:50px;padding:12px;text-align:left;width:100%}.app-select-sheet-options button.selected{background:color-mix(in srgb,var(--primary),transparent 89%);color:var(--primary);font-weight:800}.app-select-sheet-options p{color:var(--text-secondary);padding:18px 12px;text-align:center}[data-theme=dark] select{color-scheme:dark}.schedule-time-picker{display:flex;align-items:center;gap:8px;min-height:48px;padding:5px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.schedule-time-picker>.web-select{flex:0 1 72px;min-width:72px}.schedule-time-picker>.web-select .web-select-trigger{min-width:72px;gap:5px;justify-content:center;padding:10px 8px}.schedule-time-picker .schedule-time-select .web-select-trigger>span{flex:0 0 auto;overflow:visible;text-overflow:clip}.schedule-time-picker:focus-within{border-color:var(--text-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary),transparent 85%)}.schedule-time-wheel{position:relative;display:grid;flex:1 1 0;min-width:0;height:120px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;touch-action:pan-y;scrollbar-width:none;border-radius:10px;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none}.schedule-time-display{flex:1 1 0;min-width:0;min-height:40px;padding:8px 6px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font:inherit;font-size:17px;font-variant-numeric:tabular-nums;font-weight:800;text-align:center}.schedule-time-display:hover,.schedule-time-display:focus-visible{background:color-mix(in srgb,var(--primary),transparent 92%)}.schedule-time-display:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.schedule-time-wheel::-webkit-scrollbar{display:none}.schedule-time-wheel:after{content:"";position:absolute;top:40px;right:0;bottom:40px;left:0;z-index:0;border-top:1px solid color-mix(in srgb,var(--primary),transparent 55%);border-bottom:1px solid color-mix(in srgb,var(--primary),transparent 55%);background:color-mix(in srgb,var(--primary),transparent 92%);pointer-events:none}.schedule-time-wheel-spacer{height:40px}.schedule-time-wheel button{position:relative;z-index:1;flex:0 0 40px;min-height:40px;padding:0;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:16px;font-variant-numeric:tabular-nums;scroll-snap-align:center;touch-action:pan-y}.schedule-time-wheel button.is-selected{color:var(--text-primary);font-size:18px;font-weight:800}.schedule-time-wheel button.is-disabled,.schedule-time-native-select option:disabled{color:var(--danger);cursor:not-allowed;opacity:1}.schedule-time-wheel button:hover,.schedule-time-wheel button:focus-visible{color:var(--text-primary)}.schedule-time-wheel button.is-disabled:hover,.schedule-time-wheel button.is-disabled:focus-visible{color:var(--danger)}.schedule-time-wheel:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.schedule-time-picker select{flex:1 1 0;min-width:0;min-height:36px;width:100%;padding:7px 28px 7px 10px;border:0;background-color:transparent;font-size:16px;font-variant-numeric:tabular-nums;text-align:center}.schedule-time-picker select:focus{box-shadow:none}.schedule-time-separator{color:var(--text-secondary);font-size:18px;font-weight:800}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--text-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary),transparent 90%)}.filter-select{width:auto;min-width:210px;padding:11px 42px 11px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--border-strong),transparent 15%);background-color:color-mix(in srgb,var(--surface),var(--bg-app) 8%);font-size:13px;font-weight:700;color:var(--text-primary);box-shadow:var(--shadow-low)}.filter-select:hover{border-color:color-mix(in srgb,var(--primary),var(--border-strong) 55%);box-shadow:var(--shadow-medium)}@media (max-width: 680px){input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:52px;font-size:16px;padding:14px 16px}.filter-select{min-width:0;width:100%}.calendar-picker-input{min-height:52px}.schedule-time-picker{width:100%;box-sizing:border-box;gap:5px;padding:6px 8px}.schedule-time-picker select{min-height:40px;padding:8px 28px 8px 8px}.schedule-time-wheel{height:132px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;z-index:1000;animation:fadeIn .2s ease;scrollbar-width:none}.modal-overlay::-webkit-scrollbar{display:none;width:0;height:0}.app-confirm-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:5000!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-content{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-xxl);padding:32px;width:90%;max-width:500px;max-height:min(90vh,760px);overflow-y:auto;position:relative;box-shadow:var(--shadow-high);animation:scaleUp .3s cubic-bezier(.16,1,.3,1);scrollbar-width:none}.modal-content::-webkit-scrollbar,.modal-content *::-webkit-scrollbar{display:none;width:0;height:0}.modal-content *{scrollbar-width:none}.modal-content>h3:first-of-type{color:var(--text-primary);font-size:18px;font-weight:800;line-height:1.25;margin-bottom:8px;padding-right:52px}.modal-content>button:first-child,.modal-close-button{align-items:center!important;background:var(--surface-alt)!important;border:1px solid var(--border)!important;border-radius:var(--radius-full)!important;box-shadow:var(--shadow-low)!important;color:var(--text-secondary)!important;cursor:pointer!important;display:inline-grid!important;height:40px!important;justify-content:center!important;padding:0!important;position:absolute!important;right:16px!important;top:16px!important;transform:none!important;width:40px!important;z-index:20!important}.modal-content>button:first-child:hover,.modal-close-button:hover{background:var(--surface)!important;box-shadow:var(--shadow-medium)!important;color:var(--text-primary)!important;filter:none!important;transform:none!important}.wide-modal{max-height:90vh;max-width:920px;overflow-y:auto}.modal-close-button{line-height:0}.modal-help-text{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:-6px 0 16px}.app-confirm{display:grid;gap:12px;justify-items:center;box-sizing:border-box;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;text-align:center}.app-confirm h3{color:var(--text-primary);font-size:19px;font-weight:800;margin:0;padding:0!important;text-align:center;width:100%}.app-confirm p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.app-confirm-icon{border-radius:var(--radius-full);color:var(--warning);display:grid;height:48px;justify-self:center;place-items:center;width:48px;background:var(--warning-soft)}.app-confirm-error{background:var(--danger-soft);color:var(--danger)}.app-confirm-success{background:var(--success-soft);color:var(--success)}.app-confirm-info{background:var(--info-soft);color:var(--info)}.app-confirm-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:8px;width:100%}@media (max-width: 680px){.modal-overlay{align-items:end;padding:12px 12px max(24px,calc(env(safe-area-inset-bottom) + 24px));place-items:end center}.modal-content{border-radius:20px 20px 0 0;max-height:calc(100dvh - 76px);overflow-y:auto;padding:22px 18px;width:min(100%,560px);animation:slideUp .24s cubic-bezier(.16,1,.3,1)}.modal-content>h3:first-of-type{padding-right:48px}.modal-content>.modal-close-button,.modal-content>button:first-child{height:40px!important;margin:0!important;position:absolute!important;right:14px!important;top:14px!important;width:40px!important;z-index:30!important}.app-confirm{border-radius:20px 20px 0 0;max-width:none}.app-confirm-actions{grid-template-columns:1fr}}.chat-notification{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);right:16px;width:min(400px,calc(100vw - 32px));display:flex;align-items:flex-start;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-high);z-index:1400}.chat-notification button{background:transparent;color:inherit;border:0;box-shadow:none;height:auto;min-height:44px}.chat-notification .chat-notification-open{display:flex;gap:12px;flex:1;min-width:0;padding:16px;text-align:left}.chat-notification-open>svg{flex-shrink:0;color:var(--primary)}.chat-notification-open>span{min-width:0;display:grid;gap:4px}.chat-notification-open span span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:var(--text-secondary)}.chat-notification-open small{color:var(--primary)}.chat-notification .chat-notification-close{width:44px;flex-shrink:0;padding:12px}.app-toast-stack{bottom:22px;display:grid;gap:10px;max-width:min(420px,calc(100vw - 32px));pointer-events:none;position:fixed;right:22px;z-index:1400}.app-toast{align-items:flex-start;background:var(--surface-elevated);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius-md);box-shadow:var(--shadow-high);color:var(--text-primary);display:grid;gap:10px;grid-template-columns:auto 1fr auto;min-width:300px;padding:13px 12px;pointer-events:auto;animation:slideUp .22s ease}.app-toast-success{border-left-color:var(--success)}.app-toast-error{border-left-color:var(--danger)}.app-toast-warning{border-left-color:var(--warning)}.app-toast-icon{color:var(--info);display:grid;margin-top:1px;place-items:center}.app-toast-success .app-toast-icon{color:var(--success)}.app-toast-error .app-toast-icon{color:var(--danger)}.app-toast-warning .app-toast-icon{color:var(--warning)}.app-toast strong,.app-toast span{display:block}.app-toast strong{font-size:13px;font-weight:800;margin-bottom:2px}.app-toast span{color:var(--text-secondary);font-size:13px;line-height:1.4}.app-toast button{background:transparent;border:0;box-shadow:none;color:var(--text-secondary);height:26px;padding:0;width:26px}.app-toast button:hover{box-shadow:none;filter:none;transform:none}.crud-debug-badge{background:var(--surface-elevated);border:1px solid var(--info);border-radius:var(--radius-md);bottom:22px;box-shadow:var(--shadow-low);color:var(--text-primary);display:grid;font-size:12px;gap:3px;max-width:min(360px,calc(100vw - 32px));padding:9px 12px;position:fixed;left:22px;z-index:1450}.crud-debug-badge strong,.crud-debug-badge span,.crud-debug-badge small{display:block}.crud-debug-badge strong{font-weight:800}.crud-debug-badge span{color:var(--text-secondary);font-weight:700}.crud-debug-badge small{color:var(--text-muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}@media (max-width: 680px){.app-toast-stack{bottom:calc(12px + env(safe-area-inset-bottom));left:12px;max-width:none;right:12px}body:has(.institution-panel-wrapper .bottom-nav.mobile-only:not(.bottom-nav-hidden)) .app-toast-stack{bottom:calc(76px + env(safe-area-inset-bottom))}body:has(.institution-panel-wrapper .bottom-nav.mobile-only.bottom-nav-labeled:not(.bottom-nav-hidden)) .app-toast-stack{bottom:calc(82px + env(safe-area-inset-bottom))}body:has(.institution-panel-wrapper .modal-overlay) .app-toast-stack{bottom:calc(12px + env(safe-area-inset-bottom))}.app-toast{min-width:0;width:100%}}.exam-builder-page{display:grid;gap:16px;min-width:0}.exam-builder-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.exam-builder-header h1{margin:5px 0;font-size:24px}.exam-builder-header p,.exam-archive p{color:var(--text-secondary);margin:4px 0}.exam-builder-header .eyebrow{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.08em}.exam-editor{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.exam-editor-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border);min-height:52px;box-sizing:border-box}.exam-bar-left{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.exam-bar-label{display:inline-flex!important;align-items:center;font-size:13px!important;font-weight:600!important;color:var(--text-secondary)!important;white-space:nowrap!important;margin:0!important;padding:0!important;flex-shrink:0!important}.exam-title-input{flex:1 1 320px!important;min-width:180px!important;max-width:480px!important;width:auto!important;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:13px!important;font-weight:600!important;border-radius:8px!important;border:1px solid var(--border-strong)!important;background:var(--surface)!important;color:var(--text-primary)!important;box-shadow:none!important;box-sizing:border-box!important}.exam-title-input:focus{border-color:var(--primary)!important;outline:2px solid var(--primary-soft)!important}.exam-layout-select{flex:0 0 auto!important;width:120px!important;min-width:110px!important;max-width:140px!important;height:38px!important;min-height:38px!important;padding:0 24px 0 10px!important;font-size:13px!important;font-weight:600!important;border-radius:8px!important;border:1px solid var(--border-strong)!important;background-color:var(--surface)!important;color:var(--text-primary)!important;box-shadow:none!important;box-sizing:border-box!important;cursor:pointer}.exam-bar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.exam-save-status{font-size:12px;color:var(--text-secondary);white-space:nowrap;cursor:help}.exam-publish-btn{height:38px!important;min-height:38px!important;padding:0 18px!important;font-size:13px!important;font-weight:700!important;border-radius:8px!important;white-space:nowrap!important}.exam-studio{--source-width:220px;--question-width:310px;display:grid;grid-template-columns:var(--source-width) minmax(260px,1fr) var(--question-width);gap:0;padding:0;margin:0;border:0;border-top:1px solid var(--border);min-width:0;height:max(760px,calc(100dvh - 120px));max-height:none}.exam-studio.sources-collapsed{--source-width:46px}.exam-studio.questions-wide{--question-width:410px}.exam-studio:disabled{pointer-events:none;opacity:.7}.exam-sources,.exam-questions{padding:10px;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.exam-sources{border-right:1px solid var(--border)}.exam-sources>button{width:100%}.exam-sidebar-collapse-btn{width:100%;height:30px;min-height:30px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid var(--border);background:var(--surface-alt, #f8fafc);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:none}.exam-sidebar-collapse-btn:hover{background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.exam-drafts-sidebar-card{background:var(--surface-alt, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.exam-drafts-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.exam-drafts-sidebar-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-primary)}.exam-drafts-sidebar-badge{background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7);font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;border:1px solid rgba(2,132,199,.2)}.exam-drafts-add-btn{display:inline-flex;align-items:center;gap:3px;height:24px;min-height:24px;padding:0 8px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid var(--primary, #0284c7);background:var(--primary, #0284c7);color:#fff!important;cursor:pointer;box-shadow:none}.exam-drafts-add-btn:hover{opacity:.92}.exam-drafts-items-list{display:flex;flex-direction:column;gap:5px;max-height:160px;overflow-y:auto;padding-right:2px}.exam-draft-sidebar-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;border-radius:7px;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.exam-draft-sidebar-item:hover{border-color:var(--border-strong, #cbd5e1);background:#fff}.exam-draft-sidebar-item.is-active{border-color:var(--primary, #0284c7);background:var(--primary-soft, #f0f9ff);box-shadow:inset 2.5px 0 0 var(--primary, #0284c7)}.exam-draft-sidebar-item-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.exam-draft-item-title-text{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-draft-item-sub{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary)}.exam-draft-active-pill{background:var(--primary, #0284c7);color:#fff;font-size:9px;font-weight:700;padding:0 5px;border-radius:3px;letter-spacing:.02em}.exam-draft-sidebar-del-btn{width:22px;height:22px;min-height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:.6;transition:all .15s}.exam-draft-sidebar-del-btn:hover{opacity:1;color:#ef4444!important;background:#fef2f2}.exam-sources-sidebar-section{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.exam-sources-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.exam-sources-sidebar-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-primary)}.exam-file-button-compact{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--primary);color:#fff!important;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.exam-file-button-compact:hover{opacity:.92}.exam-sources-empty-note{font-size:11px;color:var(--text-secondary);background:var(--surface-alt, #f8fafc);padding:10px;border-radius:6px;border:1px dashed var(--border);line-height:1.4;margin:0}.exam-draft-quick-select-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.exam-draft-quick-select-wrap .exam-bar-label{display:inline-flex;align-items:center;gap:4px}.exam-draft-quick-select{height:34px!important;min-height:34px!important;font-size:12px!important;font-weight:600!important;max-width:170px!important;padding:0 8px!important;border-radius:7px!important;border:1px solid var(--border, #cbd5e1)!important;background:var(--surface-alt, #f8fafc)!important;color:var(--text-primary)!important;cursor:pointer}.exam-draft-quick-select:focus{border-color:var(--primary)!important;outline:none!important}.exam-source-list{overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px}.exam-source-card-item{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:8px;background:var(--surface, #ffffff);border:1px solid var(--border, #cbd5e1);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000008}.exam-source-card-item:hover{border-color:var(--border-strong, #94a3b8);background:#fff}.exam-source-card-item.is-active{border-color:var(--primary, #0284c7);background:var(--primary-soft, #f0f9ff);box-shadow:inset 2.5px 0 0 var(--primary, #0284c7)}.exam-source-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.exam-source-tag{font-size:10px;font-weight:700;color:var(--text-secondary);background:var(--surface-alt, #f1f5f9);padding:1px 6px;border-radius:4px}.exam-source-delete-btn{width:22px;height:22px;min-height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:.6;transition:all .15s;box-shadow:none}.exam-source-delete-btn:hover{opacity:1;color:#ef4444!important;background:#fef2f2}.exam-source-name{font-size:12px;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere;line-height:1.35}.exam-source-meta{font-size:10px;color:var(--text-secondary)}[data-theme=dark] .exam-source-card-item{background:var(--surface-elevated, #131d2e);border-color:var(--border, #1e293b)}[data-theme=dark] .exam-source-card-item.is-active{background:var(--primary-soft);border-color:var(--primary)}[data-theme=dark] .exam-source-tag{background:var(--surface, #0f172a)}.exam-source-list>button{display:grid;height:auto;min-height:88px;white-space:normal;justify-content:stretch;flex-shrink:0;gap:6px;text-align:left;padding:12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.exam-source-list strong{overflow-wrap:anywhere;font-size:12px}.exam-source-list small{font-size:10px;color:var(--text-secondary)}.exam-source-list button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.exam-file-button{display:block;text-align:center;cursor:pointer;padding:12px 8px;background:var(--primary);color:#fff;border-radius:8px;font-size:12px;font-weight:600}.exam-viewer-column{min-width:0;min-height:0;display:flex;flex-direction:column}.exam-center-tabs{padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface-alt);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px}.center-tabs-left,.center-tabs-sub{display:flex;align-items:center;gap:6px}.center-tabs-sub button{font-size:11px;height:28px;min-height:28px;padding:0 8px}.exam-source-host:not([hidden]),.exam-center-preview{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.exam-source-host[hidden]{display:none}.exam-solution-space{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);font-size:12px}.exam-solution-space>span{display:flex;justify-content:space-between;align-items:center;gap:8px}.exam-builder-page .exam-solution-space input[type=range]{width:100%;height:24px;min-height:24px;padding:0;border:0;background:transparent;accent-color:var(--on-primary-soft);cursor:pointer;box-shadow:none}.exam-builder-page .exam-live-preview{display:flex;flex-direction:column}.exam-builder-page .exam-live-preview iframe{flex:1;min-height:0}.exam-open-preview{flex-shrink:0;margin:8px;font-size:12px}.pdf-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.pdf-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pdf-tools button{min-height:32px;padding:6px 9px;font-size:11px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px}.pdf-tools button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.pdf-tools label{display:flex;gap:4px;align-items:center;font-size:11px}.pdf-tools label{white-space:nowrap}.pdf-toolbar{gap:10px;align-content:center}.pdf-control-group{display:flex;align-items:center;gap:5px;flex-shrink:0}.pdf-control-group:not(:last-child){padding-right:10px;border-right:1px solid var(--border)}.exam-builder-page .pdf-toolbar button{height:34px;min-height:34px;box-shadow:none}.exam-builder-page .pdf-toolbar input:not([type=checkbox]):not([type=radio]){width:52px;text-align:center;border-radius:6px}.exam-builder-page .pdf-toolbar label span{min-width:22px;color:var(--text-secondary)}.exam-editor button:hover:not(:disabled){transform:none}.exam-source-list>button{box-shadow:none}.exam-source-list strong{font-size:13px;line-height:1.4}.exam-source-list small{font-size:11px}.exam-local-note,.pdf-status{font-size:12px}.exam-questions>small,.exam-question>small{font-size:12px}.exam-question .pdf-tools strong{font-size:13px}.exam-question .pdf-tools button{font-size:12px;box-shadow:none}.exam-question .pdf-tools label{font-size:12px;gap:6px}.exam-question .pdf-tools:has(>label){justify-content:space-between}.exam-thumbnail{box-shadow:none}.exam-builder-page .pdf-tools input:not([type=checkbox]):not([type=radio]){width:60px;padding:5px;min-height:32px;height:32px;font-size:12px}.exam-builder-page .pdf-tools select{width:auto;min-width:60px;padding:5px;min-height:32px;height:32px;font-size:12px;background-image:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.pdf-workspace>.pdf-tools{padding:10px;border-bottom:1px solid var(--border)}.pdf-viewport{position:relative;overflow:auto;flex:1;min-height:0;background:var(--exam-canvas-surround,#d4d9dd);overscroll-behavior:contain;padding:16px}.pdf-stage{position:relative;flex:none;background:#fff;box-shadow:0 2px 12px #0002;touch-action:none;overflow:hidden}.pdf-stage canvas{display:block;width:100%;height:100%}.pdf-stage.crop{cursor:crosshair}.pdf-stage.pan{cursor:grab}.pdf-stage.pan:active{cursor:grabbing}.pdf-crop{position:absolute;border:2px solid #087fba;background:#38bdf80b;box-shadow:0 0 0 10000px #0f172a35;cursor:move;overflow:visible;z-index:30}.crop-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #087fba;z-index:32}.crop-handle.n{top:-6px;left:calc(50% - 5px);cursor:n-resize}.crop-handle.s{bottom:-6px;left:calc(50% - 5px);cursor:s-resize}.crop-handle.w{left:-6px;top:calc(50% - 5px);cursor:w-resize}.crop-handle.e{right:-6px;top:calc(50% - 5px);cursor:e-resize}.crop-handle.nw{left:-6px;top:-6px;cursor:nw-resize}.crop-handle.ne{right:-6px;top:-6px;cursor:ne-resize}.crop-handle.sw{left:-6px;bottom:-6px;cursor:sw-resize}.crop-handle.se{right:-6px;bottom:-6px;cursor:se-resize}.crop-floating-bar{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0f172a;color:#f8fafc;padding:5px 8px;border-radius:8px;box-shadow:0 4px 18px #0006,0 0 0 1px #ffffff26;z-index:50;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:auto;cursor:default;animation:cropFloatingFadeIn .12s ease-out}.crop-floating-bar.is-bottom{top:calc(100% + 8px)}.crop-floating-bar.is-top{bottom:calc(100% + 8px)}@keyframes cropFloatingFadeIn{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.crop-floating-choices{display:flex;align-items:center;gap:4px}.crop-choice-btn{width:26px;height:26px;min-width:26px;min-height:26px;padding:0;border-radius:5px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.crop-choice-btn:hover{background:#334155;color:#fff;border-color:#64748b}.crop-choice-btn.is-selected,.crop-choice-btn.active{background:#0284c7;border-color:#38bdf8;color:#fff;box-shadow:0 0 10px #38bdf873}.crop-choice-btn.clear{width:20px;height:20px;min-width:20px;min-height:20px;font-size:11px;color:#94a3b8;background:transparent;border:none}.crop-choice-btn.clear:hover{color:#f87171;background:#ef444426}.crop-floating-actions{display:flex;align-items:center;gap:6px;border-left:1px solid #334155;padding-left:8px}.crop-btn-add{height:28px;min-height:28px;padding:0 12px;border-radius:6px;border:none;background:#0284c7;color:#fff;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 6px #0284c759;transition:all .12s ease}.crop-btn-add:hover{background:#0369a1;transform:translateY(-1px)}.crop-btn-cancel{height:28px;min-height:28px;padding:0 8px;border-radius:6px;border:1px solid #475569;background:transparent;color:#94a3b8;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s ease}.crop-btn-cancel:hover{background:#1e293b;color:#f8fafc;border-color:#64748b}.pdf-status{padding:10px;font-size:11px;color:var(--text-secondary);min-height:36px}.pdf-status>div{margin-top:8px}.pdf-empty{padding:26px 14px;text-align:center;color:var(--text-secondary);line-height:1.6}.exam-questions{border-left:1px solid var(--border)}.exam-questions h2{font-size:15px;margin:0}.exam-question-list{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:16px;padding:4px 6px 20px 2px;position:relative}.exam-question{border:1.5px solid var(--border-strong, #cbd5e1);border-radius:12px;padding:14px;display:grid;gap:10px;background:var(--surface);cursor:pointer;box-shadow:0 1px 4px #0000000a;transition:border-color .15s ease,box-shadow .15s ease}.exam-question:hover{border-color:var(--primary, #0284c7)}.exam-question>small{color:var(--text-secondary);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-card-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:2px}.exam-card-header strong{font-size:13px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:4px}.exam-card-order-btns{display:flex;align-items:center;gap:5px}.exam-card-order-btns button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:var(--surface-alt, #f8fafc);color:var(--text-primary);font-size:13px;font-weight:700;cursor:pointer;padding:0;transition:all .15s ease}.exam-card-order-btns button:hover:not(:disabled){background:var(--primary-soft, #e0f2fe);border-color:var(--primary);color:var(--primary)}.exam-card-order-btns button:disabled{opacity:.35;cursor:not-allowed}.exam-question .pdf-tools strong{flex:1;font-size:12px}.exam-thumbnail{background:#fff;border:1px solid #e5e7eb;border-radius:5px;padding:6px;height:auto;width:100%;cursor:zoom-in}.exam-thumbnail img{max-height:240px;width:100%;object-fit:contain;display:block}.exam-live-preview{flex:1;min-height:0;background:var(--exam-canvas-surround,#d4d9dd)}.exam-live-preview iframe{width:100%;height:100%;border:0}.exam-edit-notice{padding:8px;background:var(--primary-soft);font-size:11px}.exam-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;z-index:1800;display:grid;place-items:center;padding:24px}.exam-image-modal>div{max-width:850px;max-height:90dvh;overflow:auto;padding:16px;background:var(--surface);border-radius:12px}.exam-image-modal img{display:block;max-width:100%;margin-top:12px}.exam-image-editor-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2100;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .15s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.editor-modal-container{background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);border-radius:14px;box-shadow:0 24px 48px -12px #0000008c;border:1px solid var(--border-strong, #cbd5e1);width:95vw;max-width:1080px;height:90vh;max-height:860px;display:flex;flex-direction:column;overflow:hidden}.editor-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-alt, #f8fafc);flex-shrink:0}.editor-header-title{display:flex;align-items:center;gap:12px}.editor-header-title h3{font-size:15px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.editor-badge{font-size:11px;font-weight:700;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;padding:3px 10px;border-radius:20px}[data-theme=dark] .editor-badge{color:#38bdf8;background:#0284c733;border-color:#38bdf866}.editor-header-actions{display:flex;align-items:center;gap:8px}.editor-btn-secondary{height:32px;padding:0 14px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.editor-btn-secondary:hover{background:var(--surface-alt, #f1f5f9);border-color:var(--primary, #0284c7);color:var(--primary, #0284c7)}[data-theme=dark] .editor-btn-secondary{background:#162135;color:#edf1f7;border-color:#33465f}[data-theme=dark] .editor-btn-secondary:hover{background:#1e293b;border-color:#38bdf8;color:#38bdf8}.editor-btn-primary{height:32px;padding:0 16px;font-size:12px;font-weight:700;border-radius:6px;border:1px solid #0284c7;background:#0284c7;color:#fff!important;cursor:pointer;box-shadow:0 2px 6px #0284c759;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.editor-btn-primary:hover{background:#0369a1;border-color:#0369a1}.editor-close-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .15s ease}[data-theme=dark] .editor-close-btn{border-color:#33465f;color:#9dacc3}.editor-close-btn:hover{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}.editor-modal-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 18px;background:var(--surface, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}[data-theme=dark] .editor-modal-toolbar{background:#111a2b;border-bottom-color:#223148}.editor-tool-group{display:flex;align-items:center;gap:6px;position:relative}.editor-watermark-subgroup{display:flex;align-items:center;gap:6px}.seg-btn-mode{height:32px;padding:0 10px;border:0;background:transparent;color:var(--text-primary, #0f172a);font-size:11px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.seg-btn-mode:hover{background:#64748b26}.seg-btn-mode.active{background:#fff;color:#0284c7;font-weight:700;box-shadow:0 1px 3px #0000001a}[data-theme=dark] .seg-btn-mode{color:#edf1f7}[data-theme=dark] .seg-btn-mode.active{background:#1e293b;color:#38bdf8}.dot-preview.dot-watermark{background:#2563eb}[data-theme=dark] .dot-preview.dot-watermark{background:#38bdf8}.size-dot-btn.active .dot-preview.dot-watermark{background:#2563eb!important}[data-theme=dark] .size-dot-btn.active .dot-preview.dot-watermark{background:#38bdf8!important}.tool-settings-btn{width:34px;height:34px;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}[data-theme=dark] .tool-settings-btn{background:#162135;color:#edf1f7;border-color:#33465f}.tool-settings-btn:hover,.tool-settings-btn.active{background:#0284c722!important;border-color:var(--primary, #0284c7)!important;color:var(--primary, #0284c7)!important}.tool-toggle-btn{height:34px;padding:0 14px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}[data-theme=dark] .tool-toggle-btn{background:#162135;color:#edf1f7;border-color:#33465f}.tool-toggle-btn:hover:not(.active){border-color:var(--primary, #0284c7);color:var(--primary, #0284c7)}.tool-toggle-btn.active{background:#e0f2fe;border:1.5px solid #0284c7;color:#0369a1;font-weight:700;box-shadow:0 0 0 2px #0284c733}[data-theme=dark] .tool-toggle-btn.active{background:#0284c740;border-color:#38bdf8;color:#38bdf8;box-shadow:0 0 0 2px #38bdf840}.eraser-sizes{display:flex;align-items:center;gap:3px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border-strong, #cbd5e1);padding:2px 4px;border-radius:8px;height:34px;box-sizing:border-box}[data-theme=dark] .eraser-sizes{background:#162135;border-color:#33465f}.size-dot-btn{width:26px;height:26px;border-radius:5px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.size-dot-btn:hover:not(.active){background:#64748b26}.size-dot-btn.active{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #0000001f}[data-theme=dark] .size-dot-btn.active{background:#1e293b;border-color:#38bdf8;box-shadow:0 1px 3px #0006}.dot-preview{border-radius:50%;background:#64748b;display:inline-block;transition:background .15s ease}[data-theme=dark] .dot-preview{background:#94a3b8}.size-dot-btn.active .dot-preview{background:#0284c7!important}[data-theme=dark] .size-dot-btn.active .dot-preview{background:#38bdf8!important}.editor-text-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.text-punto-stepper{display:flex;align-items:center;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border-strong, #cbd5e1);border-radius:8px;height:34px;box-sizing:border-box;overflow:hidden}[data-theme=dark] .text-punto-stepper{background:#162135;border-color:#33465f}.punto-btn{width:26px;height:32px;border:none;background:transparent;color:var(--text-primary, #0f172a);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}[data-theme=dark] .punto-btn{color:#edf1f7}.punto-btn:hover{background:#64748b33}.punto-input{width:38px;height:32px;border:none;background:transparent;text-align:center;font-size:12px;font-weight:700;color:var(--text-primary, #0f172a);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;padding:0}.punto-input::-webkit-outer-spin-button,.punto-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[data-theme=dark] .punto-input{color:#edf1f7}.punto-unit{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);padding-right:6px;-webkit-user-select:none;user-select:none}[data-theme=dark] .punto-unit{color:#9dacc3}.text-style-group{border-radius:8px}.text-style-btn.active{background:#e0f2fe;color:#0369a1;font-weight:800}[data-theme=dark] .text-style-btn.active{background:#0284c74d;color:#38bdf8}.text-white-bg-btn{font-size:11px}.text-color-palette{display:flex;align-items:center;gap:6px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border-strong, #cbd5e1);padding:2px 8px;border-radius:8px;height:34px;box-sizing:border-box}[data-theme=dark] .text-color-palette{background:#162135;border-color:#33465f}.color-chip-btn{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;border-radius:50%!important;aspect-ratio:1 / 1!important;flex-shrink:0!important;border:2px solid #ffffff!important;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;padding:0!important;margin:0!important;line-height:0!important;box-sizing:border-box!important;transition:transform .15s ease,box-shadow .15s ease}[data-theme=dark] .color-chip-btn{border-color:#1e293b!important;box-shadow:0 0 0 1px #475569}.color-chip-btn:hover{transform:scale(1.15)}.color-chip-btn.active{transform:scale(1.18);box-shadow:0 0 0 2px #0284c7!important}[data-theme=dark] .color-chip-btn.active{box-shadow:0 0 0 2px #38bdf8!important}.custom-color-picker-label{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;flex-shrink:0!important;margin:0!important;padding:0!important}.custom-color-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.custom-color-swatch{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;border-radius:50%!important;aspect-ratio:1 / 1!important;display:flex;align-items:center;justify-content:center;font-size:11px;border:2px solid #ffffff!important;box-shadow:0 0 0 1px #cbd5e1;box-sizing:border-box!important;padding:0!important;margin:0!important;transition:transform .15s ease}[data-theme=dark] .custom-color-swatch{border-color:#1e293b!important;box-shadow:0 0 0 1px #475569}.custom-color-swatch:hover{transform:scale(1.15)}.editor-btn-pill{height:34px;padding:0 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}[data-theme=dark] .editor-btn-pill{background:#162135;color:#edf1f7;border-color:#33465f}.editor-btn-pill:hover:not(:disabled){background:var(--surface-alt, #f1f5f9);border-color:var(--primary, #0284c7);color:var(--primary, #0284c7)}[data-theme=dark] .editor-btn-pill:hover:not(:disabled){background:#1e293b;border-color:#38bdf8;color:#38bdf8}.editor-btn-pill:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border, #e2e8f0)}[data-theme=dark] .editor-btn-pill:disabled{opacity:.35;background:#111a2b;border-color:#223148;color:#64748b}.editor-segmented-group{display:flex;align-items:center;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border-strong, #cbd5e1);border-radius:8px;height:34px;box-sizing:border-box;overflow:hidden}[data-theme=dark] .editor-segmented-group{background:#162135;border-color:#33465f}.seg-btn{width:30px;height:32px;border:0;background:transparent;color:var(--text-primary, #0f172a);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}[data-theme=dark] .seg-btn{color:#edf1f7}.seg-btn:hover{background:#64748b26}.seg-text{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}[data-theme=dark] .seg-text{color:#edf1f7}.seg-btn-action{height:32px;padding:0 10px;border:0;border-left:1px solid var(--border-strong, #cbd5e1);background:transparent;color:var(--text-primary, #0f172a);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s ease}[data-theme=dark] .seg-btn-action{border-left-color:#33465f;color:#edf1f7}.seg-btn-action:hover{background:#64748b26}.watermark-settings-popover{position:absolute;top:100%;left:0;margin-top:8px;background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);border:1px solid var(--border-strong, #cbd5e1);box-shadow:0 14px 32px #00000038;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:10px;z-index:100;min-width:250px}[data-theme=dark] .watermark-settings-popover{background:#162135;color:#edf1f7;border-color:#33465f;box-shadow:0 16px 36px #0000008c}.settings-field{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b)}[data-theme=dark] .settings-field{color:#9dacc3}.settings-field select{height:30px;font-size:11px;border-radius:6px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);padding:0 8px}[data-theme=dark] .settings-field select{background:#111a2b;color:#edf1f7;border-color:#33465f}.settings-field input[type=range]{accent-color:var(--primary, #0284c7)}.editor-canvas-viewport{flex:1;overflow:auto;min-height:0;padding:24px;background:#0f172a;display:flex;justify-content:safe center;align-items:flex-start;position:relative;-webkit-user-select:none;user-select:none}.editor-canvas-viewport.is-space-held,.editor-canvas-viewport.is-space-held *{cursor:grab!important}.editor-canvas-viewport.is-panning,.editor-canvas-viewport.is-panning *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.editor-canvas-outer{position:relative;margin:auto;flex-shrink:0}.editor-canvas-wrapper{flex-shrink:0;margin:auto;box-shadow:0 12px 40px #0009;border-radius:4px;background:#fff;line-height:0}.editor-canvas{display:block;background:#fff;border-radius:4px;touch-action:none}.editor-canvas.eraser-cursor{cursor:crosshair}.editor-canvas.text-cursor{cursor:text}.editor-canvas.magic-brush-cursor{cursor:crosshair}.editor-canvas.magic-rect-cursor{cursor:cell}.canvas-watermark-selection-rect{position:absolute;border:2px dashed #0284c7;background:#0284c726;pointer-events:none;z-index:90;box-sizing:border-box;border-radius:2px}[data-theme=dark] .canvas-watermark-selection-rect{border-color:#38bdf8;background:#38bdf833}.canvas-active-text-box{position:absolute;display:inline-flex;flex-direction:column;align-items:flex-start;z-index:100;background:transparent!important;padding:0;margin:0;-webkit-user-select:none;user-select:none}.active-text-floating-bar{position:absolute;bottom:calc(100% + 4px);left:0;display:inline-flex;align-items:center;gap:3px;background:#0f172a;padding:2px 5px;border-radius:6px;box-shadow:0 4px 12px #0006;white-space:nowrap;z-index:101;border:1px solid #334155;animation:floatingBarFadeIn .12s ease-out}@keyframes floatingBarFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.active-text-drag-bar{cursor:grab;color:#cbd5e1;font-size:10px;font-weight:700;padding:2px 6px;display:flex;align-items:center;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;background:#ffffff1f;transition:all .15s ease}.active-text-drag-bar:hover{background:#fff3;color:#fff}.active-text-drag-bar:active{cursor:grabbing;color:#38bdf8;background:#38bdf840}.active-text-input{background:transparent;border:none!important;outline:1.5px dashed rgba(2,132,199,.7)!important;outline-offset:1px!important;padding:0 2px!important;margin:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif!important;box-shadow:none!important;box-sizing:border-box!important;border-radius:2px!important;display:block!important}.active-text-input:focus{outline-color:#0284c7!important}[data-theme=dark] .active-text-input{outline-color:#38bdf8b3!important}[data-theme=dark] .active-text-input:focus{outline-color:#38bdf8!important}.text-action-confirm,.text-action-cancel{width:20px;height:20px;border-radius:4px;border:none;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .15s ease}.text-action-confirm{background:#10b981;color:#fff}.text-action-confirm:hover{background:#059669;transform:scale(1.08)}.text-action-cancel{background:#ef4444;color:#fff}.text-action-cancel:hover{background:#dc2626;transform:scale(1.08)}.eraser-ring-cursor{position:fixed;pointer-events:none;border:1.5px solid #0284c7;border-radius:50%;transform:translate(-50%,-50%);z-index:3000;background:#0284c72e;box-sizing:border-box}.watermark-ring-cursor{border-color:#2563eb!important;background:#2563eb2e!important;box-shadow:0 0 8px #2563eb59}.editor-modal-footer{padding:9px 18px;background:var(--surface-alt, #f8fafc);border-top:1px solid var(--border, #e2e8f0);font-size:11px;color:var(--text-secondary, #64748b);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}[data-theme=dark] .editor-modal-footer{background:#162135;border-top-color:#223148;color:#9dacc3}.editor-footer-nav-hint{font-size:11px;color:var(--text-tertiary, #94a3b8);white-space:nowrap;margin-left:14px}[data-theme=dark] .editor-footer-nav-hint{color:#64748b}.exam-archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px}.exam-archive-grid article{border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}.exam-archive-grid h3{overflow-wrap:anywhere;margin:0 0 8px}.exam-archive-grid .pdf-tools{margin-top:14px}.exam-archive-grid small{color:var(--primary)}@media (max-width:1300px){.exam-studio{--source-width:190px;--question-width:280px}.exam-studio.questions-wide{--question-width:340px}}@media (max-width:1099px){.exam-builder-header{align-items:start;flex-direction:column}.exam-builder-header h1{font-size:22px}.exam-archive-grid{grid-template-columns:1fr}.exam-archive-grid .pdf-tools button{min-height:44px;flex:1;font-size:13px}}.exam-builder-page{color:var(--text-primary)}.exam-builder-page .eyebrow{color:var(--primary-ink)}.exam-builder-page .pdf-tools button[aria-pressed=true]{color:var(--on-primary-soft,var(--primary-ink));border-color:var(--border-strong);background:var(--primary-soft);box-shadow:inset 0 -2px 0 var(--on-primary-soft,var(--primary-ink))}.exam-builder-page .exam-source-list button[aria-pressed=true]{border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--on-primary-soft,var(--primary-ink))}.exam-builder-page .exam-archive-grid small{color:var(--on-primary-soft,var(--primary-ink))}.exam-builder-page .exam-local-note,.exam-builder-page .pdf-status,.exam-builder-page .exam-question>small,.exam-builder-page .exam-questions>small{font-size:12px}[data-theme=dark] .exam-builder-page{--exam-canvas-surround:#080f1b;color-scheme:dark}[data-theme=dark] .exam-builder-page .exam-source-list>button{background:var(--surface-elevated)}[data-theme=dark] .exam-builder-page .exam-source-list>button[aria-pressed=true]{background:var(--primary-soft)}[data-theme=dark] .exam-builder-page .exam-question{background:var(--surface-elevated)}[data-theme=dark] .exam-builder-page .exam-thumbnail{border-color:var(--border-strong);color-scheme:light;background:#fff}[data-theme=dark] .exam-builder-page .pdf-stage{color-scheme:light;box-shadow:0 4px 18px #0008}[data-theme=dark] .exam-builder-page .pdf-tools button:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--text-secondary)}[data-theme=dark] .exam-builder-page .pdf-tools button[aria-pressed=true]:hover{background:var(--primary-soft)}[data-theme=dark] .exam-builder-page input:focus-visible,[data-theme=dark] .exam-builder-page select:focus-visible,[data-theme=dark] .exam-builder-page button:focus-visible{outline:2px solid var(--info);outline-offset:2px}[data-theme=dark] .exam-drafts-sidebar-card,[data-theme=dark] .exam-sources-sidebar-section{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .exam-drafts-sidebar-badge{background:#38bdf82e!important;color:#38bdf8!important;border:1px solid rgba(56,189,248,.45)!important;font-weight:700}[data-theme=dark] .exam-drafts-add-btn,[data-theme=dark] .exam-file-button-compact{background:#0284c7!important;border-color:#0284c7!important;color:#fff!important}[data-theme=dark] .exam-draft-sidebar-item{background:var(--surface);border-color:var(--border)}[data-theme=dark] .exam-draft-sidebar-item.is-active{background:var(--primary-soft);border-color:#38bdf8}[data-theme=dark] .exam-draft-active-pill{background:#0284c7!important;color:#fff!important}[data-theme=dark] .exam-sidebar-collapse-btn{background:var(--surface-elevated);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .exam-sidebar-collapse-btn:hover{background:var(--surface);color:var(--text-primary)}[data-theme=dark] .exam-draft-quick-select{background:var(--surface-elevated)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .exam-sources-empty-note{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.exam-center-preview{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.exam-preview-notice{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text-primary);padding:24px;text-align:center;z-index:2}.exam-interactive-preview{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.preview-top-bar{padding:4px 10px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-shrink:0;min-height:44px}.preview-nav-group,.preview-zoom-group,.preview-balance-group{display:flex;align-items:center;gap:5px}.preview-nav-group button,.preview-zoom-group button{height:28px;min-height:28px;padding:0 8px;font-size:12px;color:var(--text-primary)!important;background:var(--surface);border:1px solid var(--border);box-shadow:none}.preview-nav-group button:hover:not(:disabled),.preview-zoom-group button:hover:not(:disabled){background:var(--surface-alt);color:var(--primary)!important;border-color:var(--primary);transform:none}.page-indicator,.zoom-value{font-size:12px;font-weight:600;color:var(--text-primary);min-width:32px;text-align:center}.balance-btn{background:var(--primary-soft)!important;color:var(--on-primary-soft,var(--primary-ink))!important;border-color:var(--border-strong)!important;font-weight:600!important;cursor:pointer;height:28px;min-height:28px;padding:0 10px;font-size:11px!important;box-shadow:none}.balance-btn:hover{background:var(--primary)!important;color:#fff!important;transform:none}.preview-selected-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;background:var(--surface-alt, #f8fafc);border-bottom:2px solid var(--primary);font-size:12px;flex-shrink:0;min-height:36px;box-shadow:0 1px 3px #0000000d;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.strip-info{display:flex;align-items:center;gap:6px;flex-shrink:0}.strip-info strong{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}.source-tag{font-size:11px;background:var(--surface);padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}.strip-controls .control-label{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.preview-selected-strip button{box-shadow:none;font-family:inherit;flex-shrink:0}.preview-selected-strip .step-btn{width:24px;height:24px;min-height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;border-radius:4px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a)!important;cursor:pointer;transition:all .15s ease;flex-shrink:0}.preview-selected-strip .step-btn:hover{background:var(--primary-soft, #e0f2fe);border-color:var(--primary);color:var(--primary)!important;transform:none}.preview-selected-strip input[type=range]{width:60px;height:18px;min-height:18px;padding:0;border:0;background:transparent;accent-color:var(--primary);cursor:pointer;box-shadow:none;flex-shrink:0}.scale-display{font-size:11.5px;font-weight:800;min-width:34px;color:var(--text-primary);text-align:center;white-space:nowrap}.preview-selected-strip .fullwidth-btn{height:26px;min-height:26px;padding:0 8px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a)!important;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.preview-selected-strip .fullwidth-btn:hover:not(.active){border-color:var(--primary);background:var(--primary-soft, #e0f2fe);color:var(--primary)!important;transform:none}.preview-selected-strip .fullwidth-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.preview-selected-strip .edit-crop-btn{height:26px;min-height:26px;padding:0 8px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a)!important;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.preview-selected-strip .edit-crop-btn:hover{border-color:var(--primary);background:var(--primary-soft, #e0f2fe);color:var(--primary)!important;transform:none}.preview-selected-strip .delete-q-btn{height:26px;min-height:26px;padding:0 8px;font-size:11px;font-weight:700;border-radius:5px;border:1px solid #ef4444;color:#ef4444!important;background:#ef444414;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.preview-selected-strip .delete-q-btn:hover{background:#ef4444!important;color:#fff!important;transform:none}.preview-selected-strip .deselect-btn{width:24px;height:24px;min-height:24px;border-radius:50%;border:1px solid var(--border-strong, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-secondary, #64748b)!important;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease;flex-shrink:0}.preview-selected-strip .deselect-btn:hover{background:var(--surface-alt, #f1f5f9);color:var(--text-primary, #0f172a)!important;border-color:var(--text-secondary);transform:none}.preview-viewport{position:relative;flex:1;overflow:auto;min-height:0;padding:24px 16px;background:var(--exam-canvas-surround, #d4d9dd);overscroll-behavior:contain!important;overscroll-behavior-y:contain!important;overscroll-behavior-x:contain!important;display:flex;justify-content:safe center;align-items:flex-start}.preview-viewport.is-space-active,.preview-viewport.is-space-active *{cursor:grab!important}.preview-viewport.is-panning,.preview-viewport.is-panning *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.preview-status-bar{border-top:1px solid var(--border);background:var(--surface);padding:8px 12px;font-size:11px;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.preview-status-extra{color:var(--primary);font-weight:600;margin-left:6px}.a4-sheet-wrapper{position:relative;flex-shrink:0;margin:auto}.a4-sheet{background:#fff;color:#192321;position:relative;box-shadow:0 4px 20px #00000026;border-radius:2px;box-sizing:border-box;overflow:hidden;-webkit-user-select:none;user-select:none;font-family:Noto Sans,system-ui,sans-serif;flex-shrink:0}.sheet-header{position:absolute;top:0;left:0;right:0;padding:12px 16px 0;text-align:center;pointer-events:none}.sheet-top-line{height:2px;background:#282828;margin-bottom:6px}.sheet-institution{font-size:10px;color:#333}.sheet-title{font-size:15px;font-weight:800;color:#192321;margin:2px 0}.sheet-meta{font-size:9px;color:#5a6662}.sheet-student-info{font-size:9px;color:#333;margin-top:6px;text-align:left;white-space:pre-wrap!important;font-family:inherit;word-break:break-word}.sheet-divider-line{height:2px;background:#282828;margin-top:6px}.sheet-footer{position:absolute;bottom:8px;right:16px;font-size:9px;color:#666;pointer-events:none}.sheet-column-divider{position:absolute;width:1px;background:#e2e8f0;pointer-events:none;transform:translate(-50%)}.sheet-page-number-circle{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:#0f234b;color:#fff;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:10.5px;font-weight:700;line-height:1;box-shadow:0 1px 3px #00000040;pointer-events:none;z-index:5;-webkit-user-select:none;user-select:none}.sheet-page-number-svg{display:block;width:22px;height:22px;pointer-events:none}.sheet-question-box{position:absolute;box-sizing:border-box;cursor:pointer;transition:outline .15s ease,box-shadow .15s ease;border-radius:4px;padding:2px}.sheet-question-box:hover{outline:2px dashed #0284c7;background:#0284c708}.sheet-question-box.is-selected{outline:2.5px solid var(--primary);background:#0284c70d;z-index:10}.sheet-question-box.is-fullwidth{outline-color:#059669}.question-floating-toolbar{display:none;position:absolute;top:-28px;right:0;background:#0f172a;color:#fff;border-radius:6px;padding:2px 6px;font-size:11px;align-items:center;gap:4px;box-shadow:0 2px 8px #00000040;z-index:20;white-space:nowrap}.sheet-question-box:hover .question-floating-toolbar,.sheet-question-box.is-selected .question-floating-toolbar{display:flex}.q-badge{font-weight:700;font-size:10px;margin-right:2px}.pill-scale-btns{display:flex;align-items:center;gap:2px;background:#1e293b;border-radius:4px;padding:1px 3px}.pill-btn{border:0;background:transparent;color:#fff;font-size:12px;font-weight:700;cursor:pointer;padding:0 3px;border-radius:2px;line-height:1}.pill-btn:hover{background:#334155}.pill-full-btn.active{color:#34d399}.pill-scale-text{font-size:10px;font-weight:600;min-width:28px;text-align:center}.sheet-question-content{display:flex;align-items:flex-start;width:100%;height:100%;gap:4px}.sheet-question-number{font-size:11px;font-weight:700;color:#192321;line-height:1.2;flex-shrink:0;min-width:14px}.sheet-question-body{flex:1;min-width:0;height:100%;display:flex;flex-direction:column}.sheet-question-image{width:100%;height:auto;max-width:100%;display:block}.sheet-classic-lines{border-top:1px dashed #bec7c4;background:repeating-linear-gradient(to bottom,transparent,transparent 19px,#bec7c4 20px);width:100%;margin-top:4px}.sheet-resize-handle{position:absolute;right:-4px;bottom:-4px;width:12px;height:12px;background:var(--primary);border:2px solid #fff;border-radius:2px;cursor:se-resize;box-shadow:0 1px 4px #0004;z-index:15}.sheet-resize-handle:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.sheet-solution-handle{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);cursor:ns-resize;z-index:16;-webkit-user-select:none;user-select:none}.sheet-solution-handle:before{content:"";position:absolute;top:-6px;right:-12px;bottom:-6px;left:-12px}.solution-handle-pill{display:inline-flex;align-items:center;gap:3px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;padding:1px 8px;border-radius:10px;box-shadow:0 2px 6px #00000040;border:1.5px solid #ffffff;pointer-events:none;white-space:nowrap;transition:background .15s ease,transform .15s ease}.sheet-solution-handle:hover .solution-handle-pill{background:#0284c7;transform:scale(1.05)}.exam-questions-heading{display:flex;flex-direction:column;gap:4px}.exam-questions-meta{display:flex;justify-content:space-between;align-items:center;gap:6px}.auto-balance-compact-btn{font-size:11px!important;padding:4px 8px!important;min-height:26px!important;background:var(--primary-soft)!important;color:var(--on-primary-soft,var(--primary-ink))!important;border-color:var(--border-strong)!important;font-weight:600!important;cursor:pointer}.exam-fullwidth-toggle{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.exam-fullwidth-toggle.active{background:var(--primary);color:#fff;border-color:var(--primary)}.exam-question.is-selected{border-color:var(--primary)!important;box-shadow:0 0 0 2px var(--primary),0 8px 18px -4px #00000026!important;background:var(--surface)!important;position:relative;transition:all .2s ease}.exam-question.is-selected:before{content:"SEÇİLİ SORU";position:absolute;top:8px;right:8px;font-size:9px;font-weight:800;letter-spacing:.04em;background:var(--primary);color:#fff;padding:2px 7px;border-radius:4px;pointer-events:none;z-index:2;box-shadow:0 2px 4px #0003}[data-theme=dark] .preview-selected-strip{background:var(--surface-alt);border-bottom-color:var(--primary)}[data-theme=dark] .preview-selected-strip .step-btn,[data-theme=dark] .preview-selected-strip .fullwidth-btn:not(.active),[data-theme=dark] .preview-selected-strip .edit-crop-btn,[data-theme=dark] .preview-selected-strip .deselect-btn{background:var(--surface-elevated);border-color:var(--border);color:var(--text-primary)!important}[data-theme=dark] .preview-selected-strip .delete-q-btn{background:var(--surface-elevated);border-color:#ef4444;color:#ef4444!important}.exam-header-settings-btn{height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:12px!important;font-weight:600!important;border-radius:8px!important;border:1px solid var(--border-strong)!important;background-color:var(--surface)!important;color:var(--text-primary)!important;cursor:pointer;white-space:nowrap!important;flex-shrink:0!important;display:inline-flex;align-items:center;gap:6px;box-shadow:none!important;transition:all .15s ease}.exam-header-settings-btn:hover{background-color:var(--surface-alt)!important;border-color:var(--primary)!important;color:var(--primary)!important}.header-config-btn{height:28px!important;min-height:28px!important;padding:0 10px!important;font-size:11px!important;font-weight:600!important;border-radius:6px!important;border:1px solid var(--border-strong)!important;background-color:var(--surface)!important;color:var(--text-primary)!important;cursor:pointer;white-space:nowrap!important;box-shadow:none!important;transition:all .15s ease}.header-config-btn:hover{background-color:var(--primary-soft)!important;color:var(--primary)!important;border-color:var(--primary)!important}.sheet-header.is-interactive{pointer-events:auto!important;cursor:pointer;transition:background .15s ease,outline .15s ease;border-radius:4px}.sheet-header.is-interactive:hover{background:#0ea5e90a;outline:1.5px dashed var(--primary)}.sheet-header-edit-pill{position:absolute;top:6px;right:12px;background:#0f172a!important;color:#fff!important;font-size:10px!important;font-weight:700!important;padding:2px 8px!important;border-radius:12px!important;border:0!important;cursor:pointer;opacity:0;transition:opacity .15s ease,transform .15s ease;box-shadow:0 2px 6px #00000040;pointer-events:auto}.sheet-header.is-interactive:hover .sheet-header-edit-pill{opacity:1;transform:translateY(2px)}.exam-header-modal-content{max-width:680px;width:100%;max-height:90dvh;overflow-y:auto;padding:20px 24px;background:var(--surface);border-radius:14px;box-shadow:0 20px 25px -5px #0003,0 8px 10px -6px #0003;border:1px solid var(--border);display:flex;flex-direction:column;gap:16px;color:var(--text-primary)}.header-modal-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border)}.header-modal-top h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.header-modal-sub{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.header-modal-top .close-btn{background:transparent;border:0;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px}.header-modal-top .close-btn:hover{background:var(--surface-alt);color:var(--text-primary)}.header-modal-body{display:flex;flex-direction:column;gap:16px}.header-modal-section{display:flex;flex-direction:column;gap:8px}.section-title{font-size:13px!important;font-weight:700!important;color:var(--text-primary)!important}.section-title-with-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.preset-quick-actions{display:flex;gap:8px}.link-btn{background:transparent!important;border:0!important;color:var(--primary)!important;font-size:11px!important;font-weight:600!important;cursor:pointer;padding:2px 6px!important;border-radius:4px}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:#ef4444!important}.header-mode-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.header-mode-options.four-cols{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.header-mode-options.three-cols,.header-mode-options.four-cols,.header-mode-options{grid-template-columns:1fr}}.mode-option-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:8px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-primary);cursor:pointer;box-shadow:none!important;transition:all .15s ease}.mode-option-btn strong{font-size:13px}.mode-option-btn small{font-size:10px;color:var(--text-secondary);margin-top:2px}.mode-option-btn:hover{border-color:var(--primary);background:var(--surface-alt)}.mode-option-btn.active{border-color:var(--primary)!important;background:var(--primary-soft)!important;box-shadow:0 0 0 1px var(--primary)!important}.custom-page-picker{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--surface-alt);font-size:12px}.custom-page-picker input{width:60px!important;height:32px!important;min-height:32px!important;padding:0 8px!important;font-size:13px!important;text-align:center}.header-form-row{display:flex;gap:12px}@media (max-width: 600px){.header-form-row{flex-direction:column}}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.flex-1{flex:1}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary)}.form-group input{height:36px!important;min-height:36px!important;padding:0 10px!important;font-size:13px!important;border-radius:6px!important}.field-hint{font-size:11px;color:var(--text-secondary)}.student-info-textarea{width:100%;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-size:12px;font-family:inherit;padding:8px 10px;resize:vertical;min-height:52px;box-sizing:border-box}.quick-chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.chip-label{font-size:11px;font-weight:600;color:var(--text-secondary)}.chip-btn{height:24px!important;min-height:24px!important;padding:0 8px!important;font-size:11px!important;font-weight:600!important;border-radius:4px!important;border:1px solid var(--border-strong)!important;background:var(--surface-alt)!important;color:var(--text-primary)!important;cursor:pointer;box-shadow:none!important;transition:all .15s ease}.chip-btn:hover{background:var(--primary-soft)!important;color:var(--primary)!important;border-color:var(--primary)!important}.header-preview-box{background:#fff;color:#192321;border:1px solid var(--border-strong);border-radius:8px;padding:14px 18px;box-shadow:inset 0 1px 3px #0000000d}.preview-empty-note{font-size:12px;color:#64748b;text-align:center;padding:12px}.header-preview-sheet{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;font-family:Noto Sans,system-ui,sans-serif;width:100%}.preview-sheet-header-content{position:relative;width:100%;display:flex;justify-content:center;align-items:center;min-height:48px;padding:4px 0}.preview-sheet-logo-wrap{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:flex-start}.preview-sheet-logo{height:38px;max-width:54px;object-fit:contain;display:block}.preview-sheet-titles{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.preview-top-line{width:100%;height:2px;background:#282828;margin-bottom:4px}.preview-institution{font-size:10px;color:#475569}.preview-title{font-size:14px;font-weight:800;color:#0f172a}.preview-meta{font-size:10px;color:#64748b}.preview-student-info{font-size:10px;color:#334155;margin-top:6px;width:100%;text-align:left;white-space:pre-wrap!important;font-family:inherit;word-break:break-word}.preview-no-info{font-size:10px;color:#94a3b8;margin-top:4px;font-style:italic}.preview-divider-line{width:100%;height:2px;background:#282828;margin-top:6px}.sheet-compact-header{position:absolute;top:0;left:0;right:0;padding:8px 16px 0;pointer-events:auto!important;cursor:pointer;transition:background .15s ease,outline .15s ease;border-radius:4px;box-sizing:border-box}.sheet-compact-header:hover{background:#0ea5e90a;outline:1.5px dashed var(--primary)}.sheet-compact-header:hover .sheet-header-edit-pill{opacity:1;transform:translateY(2px)}.compact-header-top-line{width:100%;height:1.5px;background:#282828;margin-bottom:3px}.compact-header-content{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:14px}.compact-left{display:flex;align-items:center;gap:6px}.compact-logo-img{height:13px;max-width:24px;object-fit:contain;display:block;flex-shrink:0}.sheet-header-content-row{position:relative;width:100%;display:flex;justify-content:center;align-items:center;min-height:34px;padding:2px 0}.sheet-header-logo-container{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center}.sheet-header-logo-img{height:28px;max-width:40px;object-fit:contain;display:block}.sheet-header-titles{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px}.compact-institution-name{font-size:8.5px;font-weight:700;color:#1e293b}.compact-right{font-size:8px;color:#64748b}.compact-header-divider-line{width:100%;height:1.5px;background:#282828;margin-top:3px}.header-mode-options.three-cols{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.header-mode-options.three-cols{grid-template-columns:1fr}}.preview-header-tabs{display:flex;justify-content:space-between;align-items:center;gap:8px}.preview-tab-buttons{display:flex;gap:4px}.tab-btn{height:26px!important;min-height:26px!important;padding:0 8px!important;font-size:11px!important;font-weight:600!important;border-radius:4px!important;border:1px solid var(--border-strong)!important;background:var(--surface)!important;color:var(--text-secondary)!important;cursor:pointer;box-shadow:none!important}.tab-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.header-preview-compact{display:flex;flex-direction:column;justify-content:center;width:100%;font-family:Noto Sans,system-ui,sans-serif;margin:0;padding:0}.compact-preview-top-line{width:100%;height:1.5px;background:#282828;margin:0 0 6px}.compact-preview-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 0;min-height:22px}.compact-preview-left{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1;color:#1e293b}.compact-preview-logo{height:18px;max-width:36px;object-fit:contain;display:block;flex-shrink:0}.compact-preview-left strong{display:inline-flex;align-items:center;line-height:1;font-weight:700}.compact-preview-right{display:flex;align-items:center;font-size:10px;line-height:1;color:#64748b}.compact-preview-divider-line{width:100%;height:1.5px;background:#282828;margin:6px 0 0}.space-chip{background:var(--primary-soft)!important;color:var(--primary)!important;border-color:var(--primary)!important;font-weight:700!important}.exam-header-modal-content{max-width:860px!important;width:92vw!important;padding:24px 28px!important;border-radius:16px!important;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);box-shadow:0 25px 50px -12px #00000040}.header-modal-section{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border)}.header-modal-section:last-child{border-bottom:none;padding-bottom:0}.segmented-control{display:flex;background:var(--surface-alt);padding:4px;border-radius:10px;border:1px solid var(--border);gap:4px;width:100%;box-sizing:border-box}@media (max-width: 640px){.segmented-control{flex-direction:column}}.segmented-item{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:7px;border:none!important;background:transparent!important;color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center;box-shadow:none!important}.segmented-item:hover{color:var(--text-primary);background:#0000000a!important}.segmented-item.active{background:var(--surface)!important;color:var(--primary)!important;font-weight:700;box-shadow:0 1px 4px #00000014!important}.segmented-icon{font-size:15px;line-height:1}.segmented-text{font-size:12.5px}.segmented-caption{margin:4px 0 0 2px;font-size:12px;color:var(--text-secondary);line-height:1.45}.custom-header-panel{margin-top:10px;padding:16px 18px;border-radius:12px;background:var(--surface-alt);border:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.uploader-row{display:flex;flex-direction:column}.upload-dropzone-btn{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1.5px dashed var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all .15s ease;text-align:left}.upload-dropzone-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.upload-icon{font-size:24px;line-height:1;flex-shrink:0}.upload-texts strong{font-size:13px;display:block;color:var(--text-primary)}.upload-texts small{font-size:11px;color:var(--text-secondary);display:block;margin-top:2px}.custom-banner-preview-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.banner-thumb{max-height:48px;max-width:180px;object-fit:contain;border-radius:4px;border:1px solid var(--border)}.banner-details{display:flex;flex-direction:column;gap:2px;flex:1}.banner-ready-tag{font-size:12px;font-weight:700;color:#10b981}.banner-meta-hint{font-size:11px;color:var(--text-secondary)}.banner-actions{display:flex;align-items:center;gap:10px}.action-link-btn{background:none!important;border:none!important;padding:4px 8px!important;font-size:12px;color:var(--primary);cursor:pointer;text-decoration:underline}.action-link-btn.danger{color:#ef4444!important}.dimension-badge-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:2px 0}.dimension-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-primary)}.dim-icon{font-size:15px}.dim-label{color:var(--text-secondary);font-size:11.5px}.dim-value{font-weight:700;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:6px;font-size:12px}.dim-dpi{font-size:11px;font-weight:600;color:var(--text-secondary)}.dim-fast{font-size:11px;color:var(--text-secondary)}.dim-hint{font-size:11px;color:var(--text-secondary);font-style:italic}.panel-controls-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}@media (max-width: 768px){.panel-controls-grid{grid-template-columns:1fr;gap:14px}}.panel-control-col{display:flex;flex-direction:column;gap:8px}.control-header-row{display:flex;justify-content:space-between;align-items:baseline}.control-name{font-size:12px;font-weight:600;color:var(--text-primary)}.control-sub{font-size:11px;color:var(--text-secondary)}.slider-row{display:flex;align-items:center;gap:10px}.slider-row input[type=range]{flex:1}.height-number-input{width:48px!important;height:28px!important;min-height:28px!important;padding:0 4px!important;font-size:12px!important;font-weight:700!important;text-align:center!important;border-radius:6px!important}.unit-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.soft-preset-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.soft-pill{padding:3px 10px!important;height:24px!important;min-height:24px!important;border-radius:12px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text-secondary)!important;font-size:11px!important;font-weight:600!important;cursor:pointer;transition:all .12s ease;box-shadow:none!important}.soft-pill:hover{border-color:var(--primary)!important;color:var(--primary)!important}.soft-pill.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;font-weight:700!important}.segmented-switch{display:flex;background:var(--surface);padding:3px;border-radius:8px;border:1px solid var(--border);gap:3px;width:100%;box-sizing:border-box}.segmented-switch-btn{flex:1;padding:7px 10px;border-radius:6px;border:none!important;background:transparent!important;color:var(--text-secondary);font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center;box-shadow:none!important}.segmented-switch-btn:hover{color:var(--text-primary);background:var(--surface-alt)!important}.segmented-switch-btn.active{background:var(--primary)!important;color:#fff!important;font-weight:700;box-shadow:0 1px 3px #0000001a!important}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer}.checkbox-label input{width:16px;height:16px;accent-color:var(--primary)}.image-source-choice{display:flex;gap:16px;padding:2px 0}.choice-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer}.header-preview-custom-image{display:flex;flex-direction:column;align-items:center;width:100%}.preview-banner-img{width:100%;object-fit:cover;border-radius:4px}.sheet-custom-header{position:absolute;overflow:hidden}.sheet-custom-header .custom-header-banner-img{width:100%;height:100%;object-fit:cover;display:block}.sheet-banner-student-info{background:#fffffff2}.header-modal-footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border)}.finish-btn{height:38px!important;min-height:38px!important;padding:0 20px!important;font-size:13px!important;font-weight:700!important;border-radius:8px!important;cursor:pointer}[data-theme=dark] .exam-header-modal-content{background:var(--surface);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .segmented-control{background:var(--surface-alt);border-color:var(--border)}[data-theme=dark] .segmented-item{color:#94a3b8!important}[data-theme=dark] .segmented-item:hover{background:#ffffff0f!important;color:#f8fafc!important}[data-theme=dark] .segmented-item.active{background:#1e293b!important;color:#38bdf8!important;font-weight:700;box-shadow:0 1px 4px #0006!important;border:1px solid rgba(56,189,248,.4)!important}[data-theme=dark] .link-btn{color:#38bdf8!important}[data-theme=dark] .link-btn:hover{color:#7dd3fc!important;text-decoration:underline}[data-theme=dark] .link-btn.danger{color:#f87171!important}[data-theme=dark] .link-btn.danger:hover{color:#fca5a5!important}[data-theme=dark] .action-link-btn{color:#38bdf8!important}[data-theme=dark] .action-link-btn:hover{color:#7dd3fc!important;text-decoration:underline}[data-theme=dark] .action-link-btn.danger{color:#f87171!important}[data-theme=dark] .space-chip{background:#38bdf826!important;color:#38bdf8!important;border-color:#38bdf873!important;font-weight:700!important}[data-theme=dark] .space-chip:hover{background:#38bdf840!important;color:#7dd3fc!important}[data-theme=dark] .dim-value{color:#38bdf8!important;background:#38bdf826!important}[data-theme=dark] .custom-header-panel{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .upload-dropzone-btn{background:var(--surface-elevated);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=dark] .upload-dropzone-btn:hover{background:#38bdf81a;border-color:#38bdf8;color:#38bdf8}[data-theme=dark] .custom-banner-preview-card{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .segmented-switch{background:var(--surface-alt);border-color:var(--border)}[data-theme=dark] .segmented-switch-btn{color:var(--text-secondary)!important}[data-theme=dark] .segmented-switch-btn:hover{color:var(--text-primary)!important;background:var(--surface-elevated)!important}[data-theme=dark] .segmented-switch-btn.active{background:#0284c7!important;color:#fff!important}[data-theme=dark] .soft-pill{background:var(--surface-elevated)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}[data-theme=dark] .soft-pill:hover{border-color:#38bdf8!important;color:#38bdf8!important}[data-theme=dark] .soft-pill.active{background:#0284c7!important;color:#fff!important;border-color:#0284c7!important}[data-theme=dark] .custom-page-picker{background:var(--surface-elevated)}[data-theme=dark] .student-info-textarea{background:var(--surface-elevated);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .chip-btn{background:var(--surface-elevated)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .chip-btn:hover{border-color:#38bdf8!important;color:#38bdf8!important;background:#38bdf814!important}[data-theme=dark] .sheet-banner-student-info{background:#0f172af2;color:#f8fafc}[data-theme=dark] .preview-tab-buttons .tab-btn{background:var(--surface-alt)!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important}[data-theme=dark] .preview-tab-buttons .tab-btn:hover:not(.active){background:var(--surface-elevated)!important;color:var(--text-primary)!important}[data-theme=dark] .preview-tab-buttons .tab-btn.active{background:#0284c7!important;color:#fff!important;border-color:#0284c7!important}[data-theme=dark] .header-modal-footer .finish-btn{background:#0284c7!important;color:#fff!important}[data-theme=dark] .header-modal-footer .finish-btn:hover{background:#0369a1!important}[data-theme=dark] .header-form-row input[type=date],[data-theme=dark] .header-form-row input[type=text],[data-theme=dark] .slider-row .height-number-input{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-primary);color-scheme:dark}[data-theme=dark] .field-hint strong{color:#38bdf8}.panel-content.panel-content-exam-builder,.panel-content:has(.exam-builder-page),.panel-content-exam-builder{padding-bottom:0!important}.panel-content-exam-builder .tab-contents-wrapper,.panel-content:has(.exam-builder-page) .tab-contents-wrapper,.panel-content-exam-builder .exam-builder-page,.panel-content:has(.exam-builder-page) .exam-builder-page{margin-bottom:0!important;padding-bottom:0!important}.panel-content-exam-builder .exam-editor,.panel-content:has(.exam-builder-page) .exam-editor{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;margin-bottom:0!important}.panel-content-exam-builder .exam-studio,.panel-content:has(.exam-builder-page) .exam-studio{border-bottom:none!important}.panel-content-exam-builder .exam-archive,.panel-content:has(.exam-builder-page) .exam-archive{padding-bottom:32px}.exam-archive-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding-bottom:36px}.exam-archive-hero{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-lg, 14px);padding:22px 26px;box-shadow:0 2px 8px -2px #0f172a0d;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.exam-archive-hero-text{flex:1;min-width:260px}.exam-archive-title-row{display:flex;align-items:center;gap:12px}.exam-archive-title-row h2{font-size:20px;font-weight:700;color:var(--text-primary, #0f172a);margin:0;letter-spacing:-.01em}.exam-archive-count-badge{background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7);font-size:12px;font-weight:700;padding:3px 10px;border-radius:9999px;border:1px solid var(--border-strong, rgba(2, 132, 199, .25))}.exam-archive-hero-desc{font-size:13px;color:var(--text-secondary, #64748b);margin:6px 0 0;line-height:1.5}.exam-archive-hero-desc strong{color:var(--text-primary, #0f172a)}.exam-archive-hero-actions{display:flex;align-items:center;gap:10px}.exam-archive-refresh-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid var(--border, #cbd5e1);background:var(--surface, #ffffff);color:var(--text-primary, #0f172a)!important;cursor:pointer;transition:all .15s ease;box-shadow:none}.exam-archive-refresh-btn:hover:not(:disabled){background:var(--surface-alt, #f8fafc);border-color:var(--border-strong, #94a3b8);transform:none}.exam-archive-new-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid var(--primary, #0284c7);background:var(--primary, #0284c7);color:#fff!important;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #0284c740}.exam-archive-new-btn:hover{opacity:.94;transform:translateY(-1px)}.exam-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.exam-archive-search-box{position:relative;display:flex;align-items:center;width:100%;max-width:360px}.exam-archive-search-box input{width:100%!important;height:38px!important;min-height:38px!important;padding:0 32px 0 36px!important;font-size:13px!important;border-radius:8px!important;border:1px solid var(--border, #cbd5e1)!important;background:var(--surface, #ffffff)!important;color:var(--text-primary, #0f172a)!important;box-shadow:0 1px 2px #00000008!important}.exam-archive-search-box input:focus{border-color:var(--primary, #0284c7)!important;outline:none!important;box-shadow:0 0 0 3px #0284c726!important}.exam-search-icon{position:absolute;left:12px;color:var(--text-secondary, #94a3b8);pointer-events:none}.exam-search-clear{position:absolute;right:10px;background:transparent;border:none;padding:4px;color:var(--text-secondary, #94a3b8);cursor:pointer;display:flex;align-items:center;justify-content:center}.exam-search-clear:hover{color:var(--text-primary, #0f172a)}.exam-archive-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.exam-doc-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-lg, 14px);padding:20px;box-shadow:0 2px 6px -1px #0f172a0a;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.exam-doc-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -4px #0f172a14;border-color:var(--border-strong, #cbd5e1)}.exam-doc-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exam-doc-card-info{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.exam-doc-icon-badge{width:40px;height:40px;border-radius:10px;background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7);display:flex;align-items:center;justify-content:center;flex-shrink:0}.exam-doc-card-title-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.exam-doc-card-title-wrap h3{font-size:15px;font-weight:700;color:var(--text-primary, #0f172a);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.exam-doc-course-tag{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--surface-alt, #f1f5f9);padding:1px 7px;border-radius:4px;display:inline-block;width:fit-content}.exam-time-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.exam-time-pill.is-normal{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.exam-time-pill.is-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.exam-time-pill.is-urgent{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.exam-doc-meta-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--border-subtle, #f1f5f9);border-bottom:1px solid var(--border-subtle, #f1f5f9)}.exam-doc-meta-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.exam-doc-actions{display:flex;align-items:center;gap:8px;margin-top:auto}.exam-action-btn{height:34px;border-radius:8px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;cursor:pointer;transition:all .15s ease;box-shadow:none}.exam-action-btn.is-primary{background:var(--primary, #0284c7);color:#fff!important;border:1px solid var(--primary, #0284c7);flex:1}.exam-action-btn.is-primary:hover:not(:disabled){opacity:.93;transform:translateY(-1px)}.exam-action-btn.is-secondary{background:var(--surface, #ffffff);color:var(--text-primary, #0f172a)!important;border:1px solid var(--border, #cbd5e1);padding:0 14px}.exam-action-btn.is-secondary:hover:not(:disabled){background:var(--surface-alt, #f8fafc);border-color:var(--border-strong, #94a3b8)}.exam-action-btn.is-danger{width:34px;padding:0;background:var(--surface, #ffffff);color:var(--text-secondary, #94a3b8)!important;border:1px solid var(--border, #cbd5e1)}.exam-action-btn.is-danger:hover:not(:disabled){color:#ef4444!important;border-color:#fca5a5;background:#fef2f2}.exam-archive-loading{padding:56px 24px;text-align:center;background:var(--surface, #ffffff);border:1px dashed var(--border, #cbd5e1);border-radius:var(--radius-lg, 14px);color:var(--text-secondary, #64748b);display:flex;flex-direction:column;align-items:center;gap:12px}.exam-archive-spinner{color:var(--primary, #0284c7)}.exam-archive-empty-card{padding:60px 24px;text-align:center;background:var(--surface, #ffffff);border:1px dashed var(--border-strong, #cbd5e1);border-radius:var(--radius-lg, 14px);display:flex;flex-direction:column;align-items:center;gap:12px}.exam-empty-icon-wrap{width:76px;height:76px;border-radius:50%;background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.exam-archive-empty-card h3{font-size:18px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.exam-archive-empty-card p{font-size:13px;color:var(--text-secondary, #64748b);max-width:480px;margin:0;line-height:1.5}.exam-empty-cta-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 22px;font-size:14px;font-weight:700;border-radius:10px;background:var(--primary, #0284c7);color:#fff!important;border:none;cursor:pointer;margin-top:10px;box-shadow:0 2px 8px #0284c74d;transition:all .15s ease}.exam-empty-cta-btn:hover{opacity:.94;transform:translateY(-1px)}.exam-archive-empty-search{padding:48px 24px;text-align:center;background:var(--surface, #ffffff);border:1px dashed var(--border, #cbd5e1);border-radius:var(--radius-lg, 14px);color:var(--text-secondary, #64748b);display:flex;flex-direction:column;align-items:center;gap:12px}.exam-search-clear-btn{font-size:13px;font-weight:600;color:var(--primary, #0284c7);background:transparent;border:1px solid var(--primary, #0284c7);border-radius:6px;padding:6px 14px;cursor:pointer;transition:all .15s}.exam-search-clear-btn:hover{background:var(--primary-soft, #e0f2fe)}.exam-archive-error-card{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;flex-wrap:wrap}.exam-error-icon{color:#ef4444;flex-shrink:0}.exam-error-content{flex:1;min-width:220px}.exam-error-content h4{font-size:14px;font-weight:700;margin:0 0 2px;color:#991b1b}.exam-error-content p{font-size:13px;margin:0;color:#b91c1c}.exam-error-retry-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid #f87171;background:#fff;color:#991b1b!important;cursor:pointer;transition:all .15s}.exam-error-retry-btn:hover{background:#fef2f2}[data-theme=dark] .exam-archive-hero,[data-theme=dark] .exam-doc-card,[data-theme=dark] .exam-archive-loading,[data-theme=dark] .exam-archive-empty-card,[data-theme=dark] .exam-archive-empty-search{background:var(--surface-elevated, #131d2e);border-color:var(--border, #1e293b)}[data-theme=dark] .exam-doc-course-tag{background:var(--surface, #0f172a)}[data-theme=dark] .exam-doc-meta-row{border-color:var(--border, #1e293b)}[data-theme=dark] .exam-action-btn.is-secondary,[data-theme=dark] .exam-action-btn.is-danger,[data-theme=dark] .exam-archive-refresh-btn{background:var(--surface, #0f172a);border-color:var(--border, #334155)}[data-theme=dark] .exam-time-pill.is-normal{background:#16653433;color:#86efac;border-color:#22c55e4d}[data-theme=dark] .exam-time-pill.is-warning{background:#b4530933;color:#fde047;border-color:#eab3084d}[data-theme=dark] .exam-time-pill.is-urgent{background:#b91c1c33;color:#fca5a5;border-color:#ef44444d}[data-theme=dark] .exam-archive-error-card{background:#991b1b33;border-color:#ef444466;color:#fca5a5}[data-theme=dark] .exam-error-content h4{color:#fecaca}[data-theme=dark] .exam-error-content p{color:#fca5a5}[data-theme=dark] .exam-error-retry-btn{background:var(--surface-elevated, #131d2e);color:#fca5a5!important;border-color:#ef444480}html,body,#root{margin:0;padding:0;width:100%;height:100%;min-height:100%;overflow:hidden;font-family:var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);background-color:#f8fafc;color:#0f172a;-webkit-font-smoothing:antialiased}.app-root.exam-builder-standalone{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden}.exam-builder-standalone .exam-desktop-editor{height:100vh!important;max-height:100vh!important;width:100vw!important}.modal-backdrop,.exam-header-modal-backdrop,.exam-image-editor-modal-backdrop{z-index:1000!important}
