:root{--paper-3:#e1ded7;--accent-bg:#2563eb14;--accent-border:#2563eb33;--success:#16a34a;--success-bg:#22c55e1a;--warning:#d97706;--warning-bg:#f59e0b1a;--error:#dc2626;--error-bg:#ef44441a;--font-base:"Inter",system-ui,-apple-system,sans-serif;--text-hero:clamp(52px,7.5vw,96px);--text-display:clamp(40px,5vw,64px);--text-h1:clamp(32px,4vw,48px);--text-h2:28px;--text-h3:20px;--text-base:15px;--text-sm:14px;--text-xs:13px;--text-label:12px;--text-tag:11px;--text-micro:10px;--border:1px solid var(--ink-4);--border-strong:1px solid var(--ink-3);--border-accent:1px solid var(--accent);--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-30:120px;--nav-height:60px;--breadcrumb-height:36px;--toolbar-height:52px;--shell-offset:calc(var(--nav-height) + var(--breadcrumb-height));--sidebar-width:220px;--content-max:1280px;--panel-gap:1px;--shadow-window:0 2px 0 var(--ink-4),0 32px 80px #0000001a;--shadow-modal:0 8px 40px #00000026;--transition-fast:0.10s ease;--transition-base:0.15s ease;--transition-slow:0.25s ease}@media (max-width:640px){.hide-mobile{display:none!important}}@media (min-width:641px) and (max-width:1024px){.hide-tablet{display:none!important}}@media (min-width:1025px){.hide-desktop{display:none!important}}@media (max-width:640px){.stack-mobile{flex-direction:column!important}.full-mobile{width:100%!important}}

/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--font-main);font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.bottom-12{bottom:3rem}.right-2{right:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.me-1{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.ms-3{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.h-64{height:16rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.flex-1{flex:1 1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:var(--radius)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-4{padding-left:1rem}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-primary{outline-color:var(--primary-color)}.outline-secondary{outline-color:var(--secondary-color)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--color-primary:#4f46e5;--color-primary-light:#818cf8;--color-primary-dark:#3730a3;--color-primary-10:#4f46e51a;--color-primary-20:#4f46e533;--color-success:#10b981;--color-success-bg:#d1fae5;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-info:#3b82f6;--color-info-bg:#dbeafe;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-focus:var(--color-primary);--color-surface:#fff;--color-surface-hover:#f8fafc;--color-bg-page:#f1f5f9;--status-draft:#94a3b8;--status-in-progress:#3b82f6;--status-review:#f59e0b;--status-approved:#10b981;--status-published:#8b5cf6;--status-failed:#ef4444;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Courier New",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000f,0 2px 4px #0000000a;--shadow-lg:0 10px 24px #00000014,0 4px 8px #0000000a;--shadow-xl:0 20px 40px #0000001a,0 8px 16px #0000000d;--shadow-primary:0 4px 14px #4f46e54d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--paper);color:var(--ink);font-family:var(--font-base);font-size:var(--text-base);line-height:1.6}code{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-family:var(--font-mono)}#root{min-height:100vh}:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--paper-2)}::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:block{display:block}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-boundary-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:3rem;text-align:center;width:100%}.error-icon{animation:pulse 2s infinite;margin-bottom:1.5rem}.error-boundary h1{color:#111827;font-size:2rem;font-weight:700;margin-bottom:1rem}.error-message{color:#374151;font-size:1.125rem;line-height:1.75;margin-bottom:2rem}.error-details{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;margin:2rem 0;padding:1rem;text-align:left}.error-details summary{color:#374151;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:#111827}.error-stack{font-size:.875rem;margin-top:1rem}.error-stack p{color:#dc2626;margin-bottom:.5rem}.error-stack pre{background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;font-family:Courier New,monospace;font-size:.75rem;max-height:300px;overflow-x:auto;overflow-y:auto;padding:1rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.error-actions .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.error-actions .btn-primary{background:#2563eb;color:#fff}.error-actions .btn-primary:hover{background:#1e40af;box-shadow:0 4px 12px #2563eb4d}.error-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.error-actions .btn-secondary:hover{background:#e5e7eb;box-shadow:0 4px 12px #0000001a}.error-help{color:#6b7280;font-size:.875rem;margin-top:1rem}.error-help a{color:#2563eb;font-weight:600;text-decoration:none}.error-help a:hover{text-decoration:underline}@media (max-width:640px){.error-boundary{padding:1rem}.error-boundary-content{padding:2rem 1.5rem}.error-boundary h1{font-size:1.5rem}.error-message{font-size:1rem}.error-icon{font-size:3rem}.error-actions{flex-direction:column}.error-actions .btn{width:100%}}.paper-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f2efe9e0;border-bottom:var(--border);height:var(--nav-height);justify-content:space-between;left:0;padding:0 var(--space-12);position:fixed;right:0;top:0;z-index:100}.paper-nav,.paper-nav__logo{align-items:center;display:flex}.paper-nav__logo{color:var(--ink);flex-shrink:0;gap:var(--space-2);text-decoration:none}.paper-nav__logo-mark{align-items:center;background:var(--ink);border-radius:var(--radius-sm);display:flex;height:22px;justify-content:center;width:22px}.paper-nav__logo-mark svg{fill:var(--paper);height:12px;width:12px}.paper-nav__logo-name{color:var(--ink);font-size:var(--text-base);font-weight:600;letter-spacing:-.3px}.paper-nav__institution-name{border-left:1px solid var(--ink-4);color:var(--ink-3);font-size:var(--text-xs);margin-left:var(--space-2);padding-left:var(--space-2)}.paper-nav__links{align-items:center;display:flex;gap:var(--space-8);list-style:none;margin:0;padding:0}.paper-nav__link{color:var(--ink-2);font-size:var(--text-sm);font-weight:400;text-decoration:none;transition:color var(--transition-base)}.paper-nav__link.active,.paper-nav__link:hover{color:var(--ink)}.paper-nav__link.active{font-weight:500}.paper-nav__right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-6)}.paper-nav__user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-btn-text,.paper-nav__user-name{color:var(--ink-2);font-size:var(--text-sm)}.paper-btn-text{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;font-family:var(--font-base);font-weight:400;padding:0;text-decoration:none;transition:color var(--transition-base)}.paper-btn-text:hover{color:var(--ink)}.paper-btn-black{background:var(--ink);border:none;border-radius:var(--radius-md);color:var(--paper);cursor:pointer;font-family:var(--font-base);font-size:var(--text-sm);font-weight:500;letter-spacing:-.2px;padding:10px var(--space-5);transition:background var(--transition-base),transform var(--transition-base);white-space:nowrap}.paper-btn-black:hover{background:var(--ink-2)}.paper-nav-spacer{flex-shrink:0;height:var(--nav-height)}@media (max-width:768px){.paper-nav{padding:0 var(--space-6)}.paper-nav__links{display:none}}.paper-lang-switcher{background:#0000;border:1px solid var(--ink-4);border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;font-family:var(--font-base);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:4px 10px;transition:background var(--transition-base),color var(--transition-base)}.paper-lang-switcher:hover{background:var(--paper-2);color:var(--ink)}.breadcrumb-nav{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#f2efe9f2;border-bottom:1px solid var(--ink-4);display:flex;height:var(--breadcrumb-height);padding:0 var(--space-12);position:-webkit-sticky;position:sticky;top:var(--nav-height);z-index:90}.breadcrumb-list{flex-wrap:nowrap;gap:0;list-style:none;overflow:hidden}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex;margin:0;padding:0}.breadcrumb-item{color:var(--ink-2);font-size:var(--text-xs);font-weight:400}.breadcrumb-item.breadcrumb-current{color:var(--ink);font-weight:600}.breadcrumb-text{color:inherit}.breadcrumb-link,.breadcrumb-text{align-items:center;display:flex;gap:4px}.breadcrumb-link{border-radius:3px;color:var(--ink-2);padding:2px 4px;text-decoration:none;transition:color var(--transition-base)}.breadcrumb-link:hover{color:var(--ink);text-decoration:none}.breadcrumb-link:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.breadcrumb-icon{font-size:var(--text-xs);line-height:1}.breadcrumb-label{white-space:nowrap}.breadcrumb-separator{color:var(--ink-4);font-size:.75rem;line-height:1;margin:0 6px;-webkit-user-select:none;user-select:none}.breadcrumb-middle{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1280px){.breadcrumb-nav{padding:0 var(--space-6)}.breadcrumb-middle{max-width:80px}}@media (max-width:768px){.breadcrumb-nav{padding:0 var(--space-4)}.breadcrumb-item{font-size:11px}.breadcrumb-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.breadcrumb-middle{display:none}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.toast{animation:slideIn .3s ease-out;border-radius:4px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;max-width:500px;min-width:300px;padding:12px 16px;position:fixed;right:20px;top:20px;z-index:9999}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-content{align-items:center;display:flex;gap:12px;justify-content:space-between}.toast-message{flex:1 1;font-size:14px;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:background-color .2s ease;width:24px}.toast-close:hover{background-color:#0000001a}.toast-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.toast-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.toast-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.toast-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}@media (max-width:768px){.toast{left:10px;margin:0 auto;max-width:90vw;min-width:250px;right:10px}}.ai-job-progress{background:#f5f5f5;background:var(--color-surface,#f5f5f5);border-left:3px solid #ec5b13;border-left:3px solid var(--primary-color,#ec5b13);border-radius:6px;border-radius:var(--radius,6px);margin:8px 0;padding:8px 12px}.ai-job-progress__label{align-items:center;color:#333;color:var(--color-text-primary,#333);display:flex;font-size:13px;gap:8px;margin-bottom:6px}.ai-job-progress__spinner{animation:spin 1s linear infinite;display:inline-block}.ai-job-progress__eta{color:#777;color:var(--color-text-secondary,#777);font-size:11px;margin-left:auto}.ai-job-progress__bar-track{background:#e0e0e0;background:var(--color-border,#e0e0e0);border-radius:2px;height:4px;overflow:hidden}.ai-job-progress__bar{background:#ec5b13;background:var(--primary-color,#ec5b13);border-radius:2px;height:100%;transition:width .3s ease}.ai-job-progress__bar--indeterminate{animation:indeterminate 1.5s ease-in-out infinite;width:40%}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.job-tracker-tray{bottom:24px;display:flex;flex-direction:column;gap:8px;max-width:320px;position:fixed;right:24px;z-index:1000}.job-tracker-tray__item{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1px solid #e0e0e0;border-left:4px solid #ec5b13;border:1px solid var(--color-border,#e0e0e0);border-left:4px solid var(--primary-color,#ec5b13);border-radius:6px;border-radius:var(--radius,6px);box-shadow:0 2px 8px #0000001a;display:flex;font-size:13px;gap:8px;padding:10px 14px}.job-tracker-tray__spinner{animation:spin 1s linear infinite;flex-shrink:0}.job-tracker-tray__label{color:#333;color:var(--color-text-primary,#333);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-tracker-tray__eta{font-size:11px}.job-tracker-tray__cancel,.job-tracker-tray__eta{color:#777;color:var(--color-text-secondary,#777);flex-shrink:0}.job-tracker-tray__cancel{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px}.job-tracker-tray__cancel:hover{color:#e53935;color:var(--color-error,#e53935)}.credit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.credit-modal-box{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:420px;padding:24px 28px;width:90%}.credit-modal-box h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 16px}.credit-modal-box p{color:#444;line-height:1.5;margin:0 0 12px}.credit-modal-detail{background:#f5f5f5;border-radius:6px;font-size:14px;padding:12px 16px}.credit-modal-detail strong{color:#c62828}.credit-modal-hint{color:#666;font-size:13px}.credit-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.credit-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s}.credit-modal-btn--primary{background:#007bff;color:#fff}.credit-modal-btn--primary:hover{background:#0056b3}.credit-modal-btn--ghost{background:#0000;border:1px solid #ddd;color:#666}.credit-modal-btn--ghost:hover{background:#f5f5f5;border-color:#ccc}.network-status-banner{align-items:center;animation:banner-slide-down .25s ease-out;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;text-align:center;width:100%;z-index:9999}@keyframes banner-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.network-status-banner--offline{background-color:#fef3c7;border-bottom:1px solid #f59e0b;color:#92400e}.network-status-banner--reconnected{background-color:#d1fae5;border-bottom:1px solid #34d399;color:#065f46}.network-status-banner__icon{font-size:16px;line-height:1}.spinner{display:inline-block;position:relative}.spinner-circle{animation:spin 1s ease-in-out infinite;border:2px solid #0000001a;border-radius:50%;border-top-color:#667eea}.spinner-small{height:16px;width:16px}.spinner-small .spinner-circle{border-width:2px;height:16px;width:16px}.spinner-medium{height:24px;width:24px}.spinner-medium .spinner-circle{border-width:3px;height:24px;width:24px}.spinner-large{height:40px;width:40px}.spinner-large .spinner-circle{border-width:4px;height:40px;width:40px}.spinner-xlarge{height:60px;width:60px}.spinner-xlarge .spinner-circle{border-width:6px;height:60px;width:60px}.protected-route-loading{align-items:center;background:#f8f9fa;display:flex;justify-content:center;min-height:100vh}.loading-container{padding:2rem;text-align:center}.loading-container p{color:#666;font-size:.9rem;margin-top:1rem}@media (prefers-reduced-motion:reduce){.spinner-circle{animation:none;border-top-color:#667eea}.spinner-circle:after{color:#667eea;content:"Loading...";font-size:.7rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}}@media (prefers-contrast:high){.spinner-circle{border-color:#667eea #000 #000}}@media (prefers-color-scheme:dark){.protected-route-loading{background:#1f2937}.loading-container p{color:#d1d5db}.spinner-circle{border-color:#667eea #ffffff1a #ffffff1a}@media (prefers-reduced-motion:reduce){.spinner-circle:after{color:#667eea}}}.undo-redo-bar{background:#f9f9f9;background:var(--color-surface,#f9f9f9);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border,#e0e0e0);font-size:13px;height:36px;padding:4px 12px}.undo-redo-bar,.undo-redo-bar__btn{align-items:center;display:flex;gap:4px}.undo-redo-bar__btn{background:#fff;border:1px solid #ddd;border:1px solid var(--color-border,#ddd);border-radius:4px;color:#333;color:var(--color-text-primary,#333);cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s}.undo-redo-bar__btn:hover:not(:disabled){background:#ec5b13;background:var(--color-primary,#ec5b13);border-color:#ec5b13;border-color:var(--color-primary,#ec5b13);color:#fff}.undo-redo-bar__btn:disabled{cursor:not-allowed;opacity:.4}.undo-redo-bar__counter{font-feature-settings:"tnum";color:#999;color:var(--color-text-secondary,#999);font-size:11px;font-variant-numeric:tabular-nums;margin-left:4px}.undo-redo-bar__last-action{color:#777;color:var(--color-text-secondary,#777);font-size:11px;margin-left:8px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-root{align-items:center;background:var(--paper);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-graph-paper{background-image:linear-gradient(#0000000f 1px,#0000 0),linear-gradient(90deg,#0000000f 1px,#0000 0);background-size:32px 32px;height:100vh;mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);-webkit-mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);pointer-events:none;position:fixed;right:0;top:0;transform:rotate(-8deg) scale(1.4) translateX(20%);transform-origin:top right;width:55%;z-index:0}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-6);position:relative;z-index:1}.login-card{background:var(--paper);border:var(--border);border-radius:var(--radius-lg);max-width:400px;padding:var(--space-12);text-align:center;width:100%}.login-header h1{font-size:var(--text-h1);font-weight:700}.login-header h1,.login-header h2{color:var(--ink);margin-bottom:var(--space-2)}.login-header h2{font-size:var(--text-h2);font-weight:600}.login-header p{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--space-8)}.login-form{text-align:left}.login-divider{align-items:center;color:var(--ink-3);display:flex;font-size:var(--text-xs);margin:var(--space-6) 0}.login-divider:after,.login-divider:before{border-top:var(--border);content:"";flex:1 1}.login-divider span{padding:0 var(--space-3)}.btn-sso{align-items:center;background:var(--paper);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--accent);cursor:pointer;display:flex;font-family:var(--font-base);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;padding:12px 20px;text-decoration:none;transition:background var(--transition-base),color var(--transition-base)}.btn-sso:hover{background:var(--accent);color:var(--paper)}.sso-section{margin-bottom:var(--space-2);text-align:center}.sso-hint{color:var(--ink-3);font-size:var(--text-xs);margin:var(--space-1) 0 0}.login-footer{border-top:var(--border);margin-top:var(--space-8);padding-top:var(--space-6)}.login-footer p{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--space-2)}@media (max-width:480px){.login-container{padding:var(--space-4)}.login-graph-paper{width:100%}.login-card{padding:var(--space-8)}.login-header h1{font-size:var(--text-h2)}.login-header h2{font-size:var(--text-h3)}}@media (prefers-contrast:high){.login-card{border:2px solid var(--ink)}.form-control{border-width:2px}.btn-primary{border:2px solid var(--ink)}}.register-root{align-items:center;background:var(--paper);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.register-graph-paper{background-image:linear-gradient(#0000000f 1px,#0000 0),linear-gradient(90deg,#0000000f 1px,#0000 0);background-size:32px 32px;height:100vh;mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);-webkit-mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);pointer-events:none;position:fixed;right:0;top:0;transform:rotate(-8deg) scale(1.4) translateX(20%);transform-origin:top right;width:55%;z-index:0}.register-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-6);position:relative;z-index:1}.register-card{background:var(--paper);border:var(--border);border-radius:var(--radius-lg);max-width:450px;padding:var(--space-12);text-align:center;width:100%}.register-header h1{font-size:var(--text-h1);font-weight:700}.register-header h1,.register-header h2{color:var(--ink);margin-bottom:var(--space-2)}.register-header h2{font-size:var(--text-h2);font-weight:600}.register-header p{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--space-8)}.register-form{text-align:left}.form-row{grid-gap:var(--space-4);gap:var(--space-4)}.form-group{margin-bottom:var(--space-6);text-align:left}.form-group label{color:var(--ink);font-size:var(--text-sm);margin-bottom:var(--space-2)}.form-required-mark{color:var(--error);font-weight:700;margin-left:2px}.form-optional-mark{color:var(--ink-3);font-size:.75em;font-weight:400;letter-spacing:0;margin-left:4px;text-transform:none}.form-control{background-color:var(--paper);border:var(--border);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-base);font-size:var(--text-base);padding:12px 16px;transition:border-color var(--transition-base);width:100%}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.form-control.is-invalid{border-color:var(--error)}.form-control.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.form-control.is-valid{border-color:var(--success)}.form-control.is-valid:focus{border-color:var(--success);box-shadow:0 0 0 3px var(--success-bg)}.form-control:disabled{background-color:var(--paper-2);cursor:not-allowed;opacity:.7}.error-message{color:var(--error)}.error-message,.success-message{animation:fadeIn .3s ease-in;display:block;font-size:var(--text-xs);margin-top:var(--space-2)}.success-message{color:var(--success)}.warning-message{animation:fadeIn .3s ease-in;color:var(--warning);display:block;font-size:var(--text-xs);margin-top:var(--space-2)}.field-valid{color:var(--success);font-size:var(--text-sm);margin-left:var(--space-1)}.password-requirements{margin-top:var(--space-1)}.password-requirements small{color:var(--ink-2);font-size:var(--text-xs)}.password-input-container{align-items:center;display:flex;position:relative}.password-toggle{color:var(--ink-2);font-size:var(--text-base);padding:var(--space-1);right:12px;transition:color var(--transition-base)}.password-toggle:hover{color:var(--ink)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.form-actions{margin-bottom:var(--space-6)}.btn{border-radius:var(--radius-md);font-family:var(--font-base);font-size:var(--text-sm);min-height:48px;padding:12px 24px;transition:all var(--transition-base)}.btn:disabled{opacity:.7}.btn-full{width:100%}.spinner{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;margin-right:8px;width:16px}.alert{font-size:var(--text-sm);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4)}.alert-error{background-color:var(--error-bg)}.alert-error,.alert-success{animation:slideDown .3s ease-out}.alert-success{background-color:var(--success-bg)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.register-footer{border-top:var(--border);margin-top:var(--space-8);padding-top:var(--space-6)}.register-footer p{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--space-2)}.link{color:var(--accent);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.success-message{padding:var(--space-8) 0;text-align:center}.success-icon{align-items:center;background:var(--success);border-radius:50%;color:var(--paper);display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto var(--space-6);width:60px}.success-message h3{color:var(--ink);font-size:var(--text-h3);font-weight:600;margin-bottom:var(--space-4)}.success-message p{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--space-2)}@media (max-width:480px){.register-container{padding:var(--space-4)}.register-graph-paper{width:100%}.register-card{padding:var(--space-8)}.register-header h1{font-size:var(--text-h2)}.register-header h2{font-size:var(--text-h3)}.form-row{gap:0;grid-template-columns:1fr}}@media (max-width:768px){.register-card{max-width:400px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.btn-primary:hover:not(:disabled){box-shadow:none;transform:none}}@media (prefers-contrast:high){.register-card{border:2px solid var(--ink)}.form-control{border-width:2px}.btn-primary{border:2px solid var(--ink)}}.auth-page{align-items:center;background:var(--paper);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.auth-container{max-width:480px;width:100%}.auth-card{animation:slideUp .4s ease-out;background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);box-shadow:none;padding:2.5rem}.auth-header{margin-bottom:2rem;text-align:center}.auth-logo{color:var(--ink);display:inline-block;font-size:1.5rem;font-weight:700;text-decoration:none}.auth-logo:hover{opacity:.8}.auth-title{color:var(--ink);font-size:1.75rem;font-weight:700;margin-bottom:.75rem;text-align:center}.auth-description{color:var(--ink-2);font-size:1rem;line-height:1.6;margin-bottom:2rem;text-align:center}.auth-note{color:var(--ink-3);font-size:.875rem;margin-top:1rem;text-align:center}.auth-error-icon,.auth-loading-icon,.auth-success-icon{font-size:4rem;margin-bottom:1.5rem;text-align:center}.auth-loading-icon{display:flex;justify-content:center}.spinner-large{animation:spin .8s linear infinite;border:4px solid var(--ink-4);border-radius:50%;border-top-color:var(--accent);height:48px;width:48px}.alert{border-radius:var(--radius-md);padding:.875rem}.alert-error{border:1px solid var(--error)}.alert-success{border:1px solid var(--success)}.auth-form{margin-bottom:1.5rem}.form-label{color:var(--ink-2)}.form-input{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-sm);color:var(--ink);font-size:1rem;padding:.75rem 1rem;transition:all var(--transition-base);width:100%}.form-input:focus{background:var(--paper);border-color:var(--accent);box-shadow:none;outline:none}.form-input:disabled{background:var(--paper-2);cursor:not-allowed;opacity:.6}.form-input::placeholder{color:var(--ink-3)}.password-toggle{line-height:1}.password-toggle:focus{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:2px}.strength-fill{transition:width var(--transition-slow),background-color var(--transition-slow)}.btn-block{justify-content:center;width:100%}.btn-primary{background:var(--ink);border-radius:var(--radius-md);display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){background:var(--ink-2)}.btn-secondary{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;text-decoration:none;transition:all var(--transition-base)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.auth-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.auth-footer{border-top:1px solid var(--ink-4);margin-top:1.5rem;padding-top:1.5rem;text-align:center}.auth-footer-text{color:var(--ink-2);font-size:.9375rem}.auth-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.auth-info-box{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-md);margin:1.5rem 0;padding:1.25rem}.auth-info-box h3{color:var(--ink);font-size:1rem;font-weight:600;margin-bottom:.75rem}.auth-info-box ul{color:var(--ink-2);margin:0;padding-left:1.25rem}.auth-info-box li{line-height:1.5;margin-bottom:.5rem}@media (max-width:640px){.auth-page{padding:1rem .75rem}.auth-card{padding:2rem 1.5rem}.auth-title{font-size:1.5rem}.auth-description{font-size:.9375rem}.auth-error-icon,.auth-success-icon{font-size:3rem}}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}.btn-primary:hover,.btn-secondary:hover{transform:none}.spinner-large,.spinner-small{animation:none;border-color:var(--accent-border)}.strength-fill{transition:none}}.btn-primary:focus,.btn-secondary:focus{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:focus:not(:focus-visible),.btn-secondary:focus:not(:focus-visible){outline:none}:root{--paper:#f2efe9;--paper-2:#eae7e0;--ink:#111110;--ink-2:#7a7873;--ink-3:#b5b2ac;--ink-4:#d8d5cf;--accent:#2563eb;--accent-2:#1d4ed8;--grid-line:#0000000f;--dot-red:#ff5f57;--dot-yel:#ffbd2e;--dot-grn:#28ca41;--badge-done-bg:#22c55e1a;--badge-done-color:#16a34a;--badge-gen-bg:#2563eb1a;--badge-queue-bg:#0000000d;--mockup-shadow:0 2px 0 var(--ink-4),0 32px 80px #0000001f,0 8px 24px #0000000f}.lp-root{background:#f2efe9;background:var(--paper);color:#111110;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;inset:0;line-height:1.6;overflow-x:hidden;overflow-y:auto;position:fixed;scroll-behavior:smooth;z-index:50}.lp-root::-webkit-scrollbar{width:6px}.lp-root::-webkit-scrollbar-track{background:#eae7e0;background:var(--paper-2)}.lp-root::-webkit-scrollbar-thumb{background:#b5b2ac;background:var(--ink-3);border-radius:3px}.lp-root::-webkit-scrollbar-thumb:hover{background:#7a7873;background:var(--ink-2)}.lp-graph-paper{background-image:linear-gradient(#0000000f 1px,#0000 0),linear-gradient(90deg,#0000000f 1px,#0000 0);background-image:linear-gradient(var(--grid-line) 1px,#0000 1px),linear-gradient(90deg,var(--grid-line) 1px,#0000 1px);background-size:32px 32px;height:100vh;mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);-webkit-mask-image:linear-gradient(135deg,#0000,#0009 40%,#0000004d);pointer-events:none;position:fixed;right:0;top:0;transform:rotate(-8deg) scale(1.4) translateX(20%);transform-origin:top right;width:55%;z-index:0}.lp-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f2efe9e0;border-bottom:1px solid #d8d5cf;border-bottom:1px solid var(--ink-4);height:60px;justify-content:space-between;padding:0 48px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.lp-nav,.lp-nav-logo{align-items:center;display:flex}.lp-nav-logo{color:#111110;color:var(--ink);gap:8px;text-decoration:none}.lp-nav-logo-mark{align-items:center;background:#111110;background:var(--ink);border-radius:5px;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.lp-nav-logo-mark svg{fill:#f2efe9;fill:var(--paper);height:12px;width:12px}.lp-nav-logo-name{font-size:15px;font-weight:600;letter-spacing:-.3px}.lp-nav-links{align-items:center;display:flex;gap:32px;list-style:none;margin:0;padding:0}.lp-nav-links a{color:#7a7873;color:var(--ink-2);font-size:14px;text-decoration:none;transition:color .15s}.lp-nav-links a:hover{color:#111110;color:var(--ink)}.lp-nav-right{align-items:center;display:flex;gap:24px}.lp-btn-nav-signin{background:none;border:none;color:#7a7873;color:var(--ink-2);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:400;padding:0;transition:color .15s}.lp-btn-nav-signin:hover{color:#111110;color:var(--ink)}.lp-btn-black{background:#111110;background:var(--ink);border:none;border-radius:8px;color:#f2efe9;color:var(--paper);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:-.2px;padding:11px 22px;transition:background .15s,transform .15s;white-space:nowrap}.lp-btn-black:hover{background:#7a7873;background:var(--ink-2);transform:translateY(-1px)}.lp-btn-text-link{background:none;border:none;color:#7a7873;color:var(--ink-2);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:15px;font-weight:400;padding:0;transition:color .15s}.lp-btn-text-link:hover,.lp-btn-white{color:#111110;color:var(--ink)}.lp-btn-white{background:#f2efe9;background:var(--paper);border:none;border-radius:8px;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:15px;font-weight:600;padding:13px 28px;transition:background .15s;white-space:nowrap}.lp-btn-white:hover{background:#eae7e0;background:var(--paper-2)}.lp-btn-ghost-dark{background:#0000;border:none;color:#f2efe98c;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:400;padding:0;text-align:center;transition:color .15s}.lp-btn-ghost-dark:hover,.lp-btn-small-black{color:#f2efe9;color:var(--paper)}.lp-btn-small-black{background:#111110;background:var(--ink);border:none;border-radius:6px;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;margin-top:10px;padding:7px 14px;transition:background .15s;width:100%}.lp-btn-small-black:hover{background:#7a7873;background:var(--ink-2)}.lp-hero{margin:0 auto;max-width:1280px;padding:120px 48px 80px;position:relative;z-index:1}.lp-hero-eyebrow{align-items:center;color:#7a7873;color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:500;gap:8px;letter-spacing:.01em;margin-bottom:28px}.lp-eyebrow-dot{background:#b5b2ac;background:var(--ink-3);border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.lp-hero-h1{color:#111110;color:var(--ink);margin:0}.lp-hero-h1,.lp-hero-h2{font-size:clamp(52px,7.5vw,96px);font-weight:800;letter-spacing:-3px;line-height:.97;max-width:780px}.lp-hero-h2{color:#b5b2ac;color:var(--ink-3);margin:0 0 32px}.lp-hero-desc{color:#7a7873;color:var(--ink-2);font-size:16px;line-height:1.65;margin:0 0 40px;max-width:440px}.lp-hero-actions{align-items:center;display:flex;gap:28px}.lp-hero-mockup{margin:72px auto 0;max-width:1200px;padding:0 48px;position:relative;z-index:1}.lp-mockup-window{border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:12px 12px 0 0;box-shadow:0 2px 0 #d8d5cf,0 32px 80px #0000001f,0 8px 24px #0000000f;box-shadow:var(--mockup-shadow);overflow:hidden}.lp-mockup-window,.lp-window-chrome{background:#eae7e0;background:var(--paper-2)}.lp-window-chrome{align-items:center;border-bottom:1px solid #d8d5cf;border-bottom:1px solid var(--ink-4);display:flex;gap:8px;height:44px;padding:0 16px;position:relative}.lp-window-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.lp-wd-red{background:#ff5f57;background:var(--dot-red)}.lp-wd-yel{background:#ffbd2e;background:var(--dot-yel)}.lp-wd-grn{background:#28ca41;background:var(--dot-grn)}.lp-window-title{align-items:center;color:#7a7873;color:var(--ink-2);display:flex;font-size:12px;font-weight:500;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}.lp-window-title-mark{align-items:center;background:#7a7873;background:var(--ink-2);border-radius:3px;display:flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.lp-window-title-mark svg{fill:#f2efe9;fill:var(--paper);height:8px;width:8px}.lp-window-body{background:#f2efe9;background:var(--paper);display:grid;grid-template-columns:220px 1fr 260px;min-height:460px}.lp-panel-left{background:#eae7e0;background:var(--paper-2);border-right:1px solid #d8d5cf;border-right:1px solid var(--ink-4)}.lp-panel-section{padding:16px 14px 8px}.lp-panel-section-bordered{border-top:1px solid #d8d5cf;border-top:1px solid var(--ink-4);padding-top:12px}.lp-panel-section-label{color:#b5b2ac;color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:6px;padding:0 6px;text-transform:uppercase}.lp-tree-item{align-items:center;border-radius:5px;color:#7a7873;color:var(--ink-2);cursor:default;display:flex;font-size:12px;gap:6px;padding:5px 8px;transition:background .1s}.lp-tree-active,.lp-tree-item:hover{background:#0000000d;color:#111110;color:var(--ink)}.lp-arrow{color:#b5b2ac;color:var(--ink-3);flex-shrink:0;font-size:9px;width:10px}.lp-file-icon{align-items:center;background:#f2efe9;background:var(--paper);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:3px;display:flex;flex-shrink:0;font-size:8px;height:14px;justify-content:center;width:14px}.lp-file-icon-accent{background:#2563eb1a;border-color:#2563eb33;color:#2563eb;color:var(--accent)}.lp-tree-indent{padding-left:22px}.lp-tree-indent2{padding-left:36px}.lp-panel-center{background:#eae7e0;background:var(--paper-2);display:flex;flex-direction:column;overflow:hidden}.lp-canvas-toolbar{align-items:center;background:#f2efe9;background:var(--paper);border-bottom:1px solid #d8d5cf;border-bottom:1px solid var(--ink-4);display:flex;gap:6px;height:40px;padding:0 16px}.lp-toolbar-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:#7a7873;color:var(--ink-2);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:background .1s;width:28px}.lp-toolbar-active,.lp-toolbar-btn:hover{background:#00000012}.lp-toolbar-btn-ai{color:#2563eb;color:var(--accent);font-size:11px;font-weight:600;padding:0 10px;width:auto}.lp-toolbar-sep{background:#d8d5cf;background:var(--ink-4);flex-shrink:0;height:18px;margin:0 4px;width:1px}.lp-canvas-area{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:32px}.lp-course-header-block{background:#f2efe9;background:var(--paper);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:8px;padding:20px 24px}.lp-course-tag{background:#2563eb14;border-radius:4px;color:#2563eb;color:var(--accent);display:inline-block;font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:10px;padding:3px 8px;text-transform:uppercase}.lp-course-title{color:#111110;color:var(--ink);font-size:18px;font-weight:700;letter-spacing:-.4px;margin-bottom:6px}.lp-course-meta{color:#b5b2ac;color:var(--ink-3);display:flex;flex-wrap:wrap;font-size:12px;gap:16px}.lp-sections-list{display:flex;flex-direction:column;gap:8px}.lp-section-row{align-items:center;background:#f2efe9;background:var(--paper);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:6px;cursor:default;display:flex;gap:12px;padding:12px 16px;transition:border-color .15s}.lp-section-generating{background:#2563eb08;border-color:#2563eb40}.lp-section-num{font-feature-settings:"tnum";color:#b5b2ac;color:var(--ink-3);flex-shrink:0;font-size:10px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.05em;width:20px}.lp-section-name{color:#111110;color:var(--ink);flex:1 1;font-size:13px;font-weight:500}.lp-progress-mini{background:#d8d5cf;background:var(--ink-4);border-radius:2px;flex-shrink:0;height:3px;overflow:hidden;width:60px}.lp-progress-mini-fill{background:#7a7873;background:var(--ink-2);border-radius:2px;height:100%}.lp-fill-green{background:#16a34a;background:var(--badge-done-color)}.lp-fill-blue{background:#2563eb;background:var(--accent)}@keyframes lp-gen-progress{0%{width:20%}to{width:90%}}.lp-fill-anim{animation:lp-gen-progress 3s ease-in-out infinite alternate}.lp-section-badge{border-radius:4px;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 8px}.lp-badge-done{background:#22c55e1a;background:var(--badge-done-bg);color:#16a34a;color:var(--badge-done-color)}.lp-badge-generating{background:#2563eb1a;background:var(--badge-gen-bg);color:#2563eb;color:var(--accent)}.lp-badge-queued{background:#0000000d;background:var(--badge-queue-bg);color:#b5b2ac;color:var(--ink-3)}.lp-canvas-statusbar{align-items:center;background:#f2efe9;background:var(--paper);border-top:1px solid #d8d5cf;border-top:1px solid var(--ink-4);color:#b5b2ac;color:var(--ink-3);display:flex;font-size:11px;gap:16px;height:28px;padding:0 16px}.lp-status-dot-live{background:#16a34a;background:var(--badge-done-color);border-radius:50%;display:inline-block;flex-shrink:0;height:6px;margin-right:5px;width:6px}.lp-panel-right{background:#f2efe9;background:var(--paper);border-left:1px solid #d8d5cf;border-left:1px solid var(--ink-4)}.lp-inspector-header{align-items:center;border-bottom:1px solid #d8d5cf;border-bottom:1px solid var(--ink-4);color:#111110;color:var(--ink);display:flex;font-size:12px;font-weight:600;height:40px;justify-content:space-between;padding:0 16px}.lp-inspector-header-pct{color:#b5b2ac;color:var(--ink-3);font-weight:400}.lp-inspector-body{padding:16px}.lp-inspector-section{margin-bottom:20px}.lp-inspector-label{color:#b5b2ac;color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.lp-inspector-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.lp-inspector-key{color:#7a7873;color:var(--ink-2);font-size:12px}.lp-inspector-val{font-feature-settings:"tnum";color:#111110;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500}.lp-inspector-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.lp-inspector-field{background:#eae7e0;background:var(--paper-2);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:5px;padding:5px 9px}.lp-inspector-field-label{color:#b5b2ac;color:var(--ink-3);font-size:9px;font-weight:600;letter-spacing:.06em;margin-bottom:1px;text-transform:uppercase}.lp-inspector-field-val{color:#111110;color:var(--ink);font-size:12px;font-weight:500}.lp-ai-gen-box{background:#eae7e0;background:var(--paper-2);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:7px;margin-top:12px;padding:12px}.lp-ai-gen-header{align-items:center;color:#111110;color:var(--ink);display:flex;font-size:11px;font-weight:600;gap:6px;margin-bottom:8px}@keyframes lp-spin{to{transform:rotate(1turn)}}.lp-ai-spinner{animation:lp-spin .8s linear infinite;border:1.5px solid #d8d5cf;border-top-color:#7a7873;border:1.5px solid var(--ink-4);border-radius:50%;border-top-color:var(--ink-2);display:inline-block;flex-shrink:0;height:12px;width:12px}.lp-ai-gen-progress{background:#d8d5cf;background:var(--ink-4);border-radius:1px;height:2px;margin-bottom:6px;overflow:hidden}@keyframes lp-ai-progress{0%{width:20%}to{width:85%}}.lp-ai-gen-progress-fill{animation:lp-ai-progress 3s ease-in-out infinite alternate;background:#111110;background:var(--ink);border-radius:1px;height:100%}.lp-ai-gen-text{color:#7a7873;color:var(--ink-2);font-size:11px;line-height:1.5;margin:0}.lp-section-wrap{margin:0 auto;max-width:1280px;padding:120px 48px;position:relative;z-index:1}.lp-section-header{margin-bottom:72px}.lp-header-2col{grid-gap:80px;align-items:end;display:grid;gap:80px;grid-template-columns:1fr 1fr}.lp-header-spread{align-items:flex-end;display:flex;justify-content:space-between}.lp-section-h{color:#111110;color:var(--ink);font-size:clamp(40px,4.5vw,60px);font-weight:800;letter-spacing:-2px;line-height:1;margin:0}.lp-section-h-muted{color:#b5b2ac;color:var(--ink-3)}.lp-mb-64{margin-bottom:64px}.lp-section-desc{color:#7a7873;color:var(--ink-2);font-size:16px;line-height:1.7;margin:0;max-width:400px}.lp-cell-grid{grid-gap:1px;background:#d8d5cf;background:var(--ink-4);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:12px;display:grid;gap:1px;overflow:hidden}.lp-cell-grid-3{grid-template-columns:repeat(3,1fr)}.lp-cell-grid-4{grid-template-columns:repeat(4,1fr)}.lp-cell{background:#f2efe9;background:var(--paper);cursor:default;padding:40px 32px;transition:background .15s}.lp-cell:hover,.lp-feat-icon{background:#eae7e0;background:var(--paper-2)}.lp-feat-icon{align-items:center;border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:8px;display:flex;font-size:18px;height:36px;justify-content:center;margin-bottom:20px;width:36px}.lp-feat-title{color:#111110;color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.3px;margin:0 0 10px}.lp-feat-desc{color:#7a7873;color:var(--ink-2);font-size:14px;line-height:1.65;margin:0}.lp-step-n{color:#b5b2ac;color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:20px;text-transform:uppercase}.lp-step-title{color:#111110;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.lp-step-desc{color:#7a7873;color:var(--ink-2);font-size:14px;line-height:1.7;margin:0}.lp-testi-grid{grid-gap:1px;background:#d8d5cf;background:var(--ink-4);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:12px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}.lp-testi-cell{background:#f2efe9;background:var(--paper);cursor:default;padding:36px 32px;transition:background .15s}.lp-testi-cell:hover{background:#eae7e0;background:var(--paper-2)}.lp-testi-span2{grid-column:span 2}.lp-testi-q{color:#111110;color:var(--ink);font-size:15px;line-height:1.7;margin:0 0 24px}.lp-testi-span2 .lp-testi-q{font-size:18px}.lp-testi-author{gap:10px}.lp-testi-author,.lp-testi-av{align-items:center;display:flex}.lp-testi-av{background:#eae7e0;background:var(--paper-2);border:1px solid #d8d5cf;border:1px solid var(--ink-4);border-radius:50%;color:#7a7873;color:var(--ink-2);flex-shrink:0;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.lp-testi-name{color:#111110;color:var(--ink);font-size:13px;font-weight:600}.lp-testi-role{color:#b5b2ac;color:var(--ink-3);font-size:12px}.lp-stat-num{color:#111110;color:var(--ink);font-size:48px;font-weight:900;letter-spacing:-2px;line-height:1;margin-bottom:8px}.lp-stat-label{color:#7a7873;color:var(--ink-2);font-size:14px}.lp-cta-card{align-items:center;background:#111110;background:var(--ink);border-radius:16px;display:flex;gap:40px;justify-content:space-between;padding:72px 64px}.lp-cta-h{color:#f2efe9;color:var(--paper);font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin:0 0 12px}.lp-cta-sub{color:#f2efe98c;font-size:16px;margin:0}.lp-cta-actions{display:flex;flex-direction:column;flex-shrink:0;gap:12px}.lp-footer{border-top:1px solid #d8d5cf;border-top:1px solid var(--ink-4);padding:56px 48px 40px;position:relative;z-index:1}.lp-footer-inner{margin:0 auto;max-width:1280px}.lp-footer-top{grid-gap:80px;display:grid;gap:80px;grid-template-columns:240px 1fr;margin-bottom:56px}.lp-footer-tagline{color:#b5b2ac;color:var(--ink-3);font-size:13px;line-height:1.6;margin-top:12px}.lp-footer-links{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(4,1fr)}.lp-footer-col-title{color:#7a7873;color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}.lp-footer-col ul{list-style:none;margin:0;padding:0}.lp-footer-col ul li{margin-bottom:10px}.lp-footer-col ul li a{color:#b5b2ac;color:var(--ink-3);font-size:14px;text-decoration:none;transition:color .15s}.lp-footer-col ul li a:hover{color:#111110;color:var(--ink)}.lp-footer-bottom{align-items:center;border-top:1px solid #d8d5cf;border-top:1px solid var(--ink-4);display:flex;justify-content:space-between;padding-top:28px}.lp-footer-copy{color:#b5b2ac;color:var(--ink-3);font-size:13px;margin:0}.lp-footer-legal{display:flex;gap:24px}.lp-footer-legal a{color:#b5b2ac;color:var(--ink-3);font-size:13px;text-decoration:none;transition:color .15s}.lp-footer-legal a:hover{color:#7a7873;color:var(--ink-2)}.lp-fade-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.lp-fade-up.lp-visible{opacity:1;transform:none}@media (max-width:1024px){.lp-footer,.lp-hero,.lp-hero-mockup,.lp-nav{padding-left:24px;padding-right:24px}.lp-section-wrap{padding:80px 24px}.lp-header-2col{gap:24px;grid-template-columns:1fr}.lp-cell-grid-3{grid-template-columns:1fr 1fr}.lp-cell-grid-4{grid-template-columns:repeat(2,1fr)}.lp-testi-grid{grid-template-columns:1fr 1fr}.lp-testi-span2{grid-column:span 2}.lp-footer-links{grid-template-columns:repeat(2,1fr)}.lp-footer-top{gap:32px;grid-template-columns:1fr}.lp-window-body{grid-template-columns:180px 1fr}.lp-panel-right{display:none}}@media (max-width:640px){.lp-hero-h1,.lp-hero-h2{letter-spacing:-2px}.lp-cell-grid-3,.lp-testi-grid{grid-template-columns:1fr}.lp-testi-span2{grid-column:span 1}.lp-cta-card{flex-direction:column;padding:40px 28px}.lp-nav-links{display:none}.lp-window-body{grid-template-columns:1fr}.lp-panel-left{display:none}}.not-found{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;justify-content:center;min-height:100vh;padding:2rem}.not-found-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:600px;padding:3rem;text-align:center;width:100%}.not-found-illustration{margin-bottom:2rem;position:relative}.number-404{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#e5e7eb;font-size:8rem;font-weight:900;line-height:1;margin-bottom:1rem}.book-stack{align-items:flex-end;display:flex;gap:.5rem}.book{animation:float 3s ease-in-out infinite;font-size:2.5rem}.book-1{animation-delay:0s}.book-2{animation-delay:.3s}.book-3{animation-delay:.6s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.magnifying-glass{animation:search 2s ease-in-out infinite;font-size:3rem}@keyframes search{0%,to{transform:rotate(0deg)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.not-found h1{color:#111827;font-size:2rem;font-weight:700;margin-bottom:1rem}.not-found-message{color:#6b7280;font-size:1.125rem;line-height:1.75;margin-bottom:2rem}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.not-found-actions .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.not-found-actions .btn-primary{background:#2563eb;color:#fff}.not-found-actions .btn-primary:hover{background:#1e40af;box-shadow:0 4px 12px #2563eb4d}.not-found-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.not-found-actions .btn-secondary:hover{background:#e5e7eb;box-shadow:0 4px 12px #0000001a}.not-found-suggestions{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.suggestions-title{color:#374151}.suggestions-list a{background:#fff;border:1px solid #e5e7eb;color:#374151;transition:all .2s}.suggestions-list a:hover{background:#f3f4f6;border-color:#2563eb;box-shadow:0 4px 8px #0000000d;color:#2563eb}.not-found-help{border-top:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;padding-top:1rem}.not-found-help a{color:#2563eb;font-weight:600;text-decoration:none}.not-found-help a:hover{text-decoration:underline}@media (max-width:640px){.not-found{padding:1rem}.not-found-content{padding:2rem 1.5rem}.number-404{font-size:5rem}.not-found h1{font-size:1.5rem}.not-found-message{font-size:1rem}.illustration-graphic{gap:1rem}.book{font-size:2rem}.magnifying-glass{font-size:2.5rem}.not-found-actions{flex-direction:column}.not-found-actions .btn{width:100%}.suggestions-list{grid-template-columns:1fr}}.forbidden{align-items:center;background:var(--paper-2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.forbidden-content{background:var(--paper);border:1px solid var(--ink-4);border-radius:12px;box-shadow:none;max-width:600px;padding:3rem;text-align:center;width:100%}.forbidden-illustration{margin-bottom:2rem;position:relative}.number-403{color:var(--error);font-size:8rem;font-weight:900;line-height:1;margin-bottom:1rem}.illustration-graphic{align-items:center;display:flex;gap:2rem;justify-content:center;margin-top:-2rem}.lock-icon{font-size:3.5rem}.warning-sign{font-size:3rem}.forbidden h1{color:var(--error);font-size:2rem;font-weight:700;margin-bottom:1rem}.forbidden-message{color:var(--ink-2);font-size:1.125rem;line-height:1.75;margin-bottom:2rem}.forbidden-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.forbidden-actions .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:background .15s}.forbidden-actions .btn-primary{background:var(--accent);color:var(--paper)}.forbidden-actions .btn-primary:hover{background:var(--accent-2)}.forbidden-actions .btn-secondary{background:var(--paper-2);border:1px solid var(--ink-4);color:var(--ink)}.forbidden-actions .btn-secondary:hover{background:var(--paper-3)}.forbidden-suggestions{background:var(--error-bg);border:1px solid var(--ink-4);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.suggestions-title{color:var(--ink);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.suggestions-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.suggestions-list li{display:block}.suggestions-list a{align-items:center;background:var(--paper);border:1px solid var(--ink-4);border-radius:6px;color:var(--ink);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:background .15s}.suggestions-list a:hover{background:var(--paper-2);border-color:var(--error);color:var(--error)}.forbidden-help{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:8px;color:var(--ink-2);padding:1.5rem}.help-title{color:var(--ink);font-size:1rem;font-weight:600;margin-bottom:.5rem}.forbidden-help p{font-size:.875rem;line-height:1.5;margin:0}.forbidden-help a{color:var(--accent);font-weight:600;text-decoration:none}.forbidden-help a:hover{color:var(--accent-2);text-decoration:underline}@media (max-width:640px){.forbidden{padding:1rem}.forbidden-content{padding:2rem 1.5rem}.number-403{font-size:5rem}.forbidden h1{font-size:1.5rem}.forbidden-message{font-size:1rem}.illustration-graphic{gap:1rem}.lock-icon{font-size:2.5rem}.warning-sign{font-size:2rem}.forbidden-actions{flex-direction:column}.forbidden-actions .btn{width:100%}.suggestions-list{grid-template-columns:1fr}}.cell-grid{grid-gap:var(--panel-gap);background:var(--ink-4);border:var(--border);display:grid;gap:var(--panel-gap);overflow:hidden}.cell-grid--rounded{border-radius:var(--radius-lg)}.cell-grid--no-gap{background:#0000;gap:0}.cell-grid--1col{grid-template-columns:1fr}.cell-grid--2col{grid-template-columns:repeat(2,1fr)}.cell-grid--3col{grid-template-columns:repeat(3,1fr)}.cell-grid--4col{grid-template-columns:repeat(4,1fr)}.cell-grid--5col{grid-template-columns:repeat(5,1fr)}.cell-grid--auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-template-columns:repeat(auto-fill,minmax(var(--cell-min-width,280px),1fr))}.cell{background:var(--paper);min-width:0;transition:background var(--transition-base)}.cell--pad-sm{padding:var(--space-5) var(--space-6)}.cell--pad-md{padding:var(--space-10) var(--space-8)}.cell--pad-lg{padding:var(--space-12) var(--space-12)}.cell--active,.cell--hover:hover{background:var(--paper-2)}.cell--clickable{cursor:pointer}.cell--clickable:focus-visible{outline:1.5px solid var(--accent);outline-offset:-2px}.cell--span-2{grid-column:span 2}.cell--span-3{grid-column:span 3}.cell--span-4{grid-column:span 4}@media (max-width:1024px){.cell-grid--3col,.cell-grid--4col{grid-template-columns:repeat(2,1fr)}.cell--span-3,.cell--span-4{grid-column:span 2}}@media (max-width:640px){.cell-grid--2col,.cell-grid--3col,.cell-grid--4col{grid-template-columns:1fr}.cell--span-2,.cell--span-3,.cell--span-4{grid-column:span 1}}.paper-card{background:var(--paper);border:var(--border);border-radius:var(--radius-lg)}.paper-card--pad-sm .paper-card__body{padding:var(--space-5) var(--space-6)}.paper-card--pad-md .paper-card__body{padding:var(--space-6)}.paper-card--pad-lg .paper-card__body{padding:var(--space-8)}.paper-card__header{align-items:flex-start;border-bottom:var(--border);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-5) var(--space-6)}.paper-card__header-text{flex:1 1;min-width:0}.paper-card__title{color:var(--ink);font-size:var(--text-h3);font-weight:700;letter-spacing:-.4px;margin:0}.paper-card__subtitle{color:var(--ink-2);font-size:var(--text-xs);margin:var(--space-1) 0 0}.paper-card__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.paper-form{gap:var(--space-5)}.paper-field,.paper-form{display:flex;flex-direction:column}.paper-field{gap:var(--space-2)}.paper-field__label{color:var(--ink-2);font-size:var(--text-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.paper-field__required{color:var(--error);font-weight:700}.paper-field__optional{color:var(--ink-3);font-size:.7em;font-weight:400;letter-spacing:0;margin-left:2px;text-transform:none}.paper-field__control input,.paper-field__control select,.paper-field__control textarea{background:var(--paper-2);border:var(--border);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-base);font-size:var(--text-sm);outline:none;padding:var(--space-2) var(--space-3);transition:border-color var(--transition-base);width:100%}.paper-field__control input:focus,.paper-field__control select:focus,.paper-field__control textarea:focus{background:var(--paper);border-color:var(--accent)}.paper-field--error .paper-field__control input,.paper-field--error .paper-field__control select,.paper-field--error .paper-field__control textarea{border-color:var(--error)}.paper-field__error{color:var(--error);font-size:var(--text-xs);margin:0}.paper-field__helper{color:var(--ink-3);font-size:var(--text-xs);margin:0}.paper-table-wrap{border:var(--border);border-radius:var(--radius-lg);overflow-x:auto;overflow:hidden}.paper-table{background:var(--paper);border-collapse:collapse;width:100%}.paper-table__th{background:var(--paper-2);color:var(--ink-2);font-size:var(--text-micro);font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.paper-table__td,.paper-table__th{border-bottom:var(--border);padding:var(--space-3) var(--space-4)}.paper-table__td{color:var(--ink);font-size:var(--text-sm);vertical-align:middle}.paper-table__row:last-child .paper-table__td{border-bottom:none}.paper-table__row--clickable{cursor:pointer;transition:background var(--transition-fast)}.paper-table__row--clickable:hover{background:var(--paper-2)}.paper-table__empty,.paper-table__loading{color:var(--ink-3);font-size:var(--text-sm);padding:var(--space-16) var(--space-4);text-align:center}@keyframes paper-spin{to{transform:rotate(1turn)}}.paper-spinner{animation:paper-spin .8s linear infinite;border:1.5px solid var(--ink-4);border-radius:50%;border-top-color:var(--ink-2);display:inline-block;height:16px;vertical-align:middle;width:16px}.status-badge{border-radius:var(--radius-sm);gap:var(--space-2);letter-spacing:.04em}.status-badge--md{font-size:var(--text-micro);padding:2px var(--space-2)}.status-badge--sm{font-size:9px;padding:1px var(--space-1)}.status-badge__dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.status-badge--done{background:var(--success-bg);color:var(--success)}.status-badge--done .status-badge__dot{background:var(--success)}.status-badge--live{background:var(--success-bg);color:var(--success)}.status-badge--live .status-badge__dot{background:var(--success)}.status-badge--generating{background:var(--accent-bg);color:var(--accent)}.status-badge--generating .status-badge__dot{background:var(--accent)}.status-badge--review{background:var(--warning-bg);color:var(--warning)}.status-badge--review .status-badge__dot{background:var(--warning)}.status-badge--error{background:var(--error-bg);color:var(--error)}.status-badge--error .status-badge__dot{background:var(--error)}.status-badge--queued{background:#0000000d;color:var(--ink-3)}.status-badge--queued .status-badge__dot{background:var(--ink-3)}.status-badge--draft{background:#0000000d;color:var(--ink-3)}.status-badge--draft .status-badge__dot{background:var(--ink-3)}.context-badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.context-badge--md{font-size:var(--text-micro);padding:3px var(--space-2)}.context-badge--sm{font-size:9px;padding:2px var(--space-1)}.context-badge--institution{background:var(--accent-bg);color:var(--accent)}.context-badge--college{background:var(--warning-bg);color:var(--warning)}.context-badge--school{background:var(--success-bg);color:var(--success)}.context-badge--department,.context-badge--program{background:#0000000f;color:var(--ink-2)}.context-badge--course{background:var(--paper-2);color:var(--ink-3)}.inspector-panel{background:var(--paper);border-left:var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden}.inspector-panel__header{align-items:center;border-bottom:var(--border);display:flex;flex-shrink:0;height:40px;justify-content:space-between;padding:0 var(--space-4)}.inspector-panel__title{color:var(--ink);font-size:var(--text-label);font-weight:600}.inspector-panel__subtitle{color:var(--ink-3);font-size:var(--text-micro)}.inspector-panel__close{background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-3);cursor:pointer;font-size:var(--text-xs);padding:var(--space-1);transition:background var(--transition-fast),color var(--transition-fast)}.inspector-panel__close:hover{background:var(--paper-2);color:var(--ink)}.inspector-panel__body{flex:1 1;overflow-y:auto;padding:var(--space-4)}.inspector-section{margin-bottom:var(--space-5)}.inspector-section__label{color:var(--ink-3);font-size:var(--text-micro);font-weight:600;letter-spacing:.08em;margin-bottom:var(--space-2);text-transform:uppercase}.inspector-row{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.inspector-row__key{color:var(--ink-2);flex-shrink:0;font-size:var(--text-label)}.inspector-row__val{color:var(--ink);font-size:var(--text-label);font-weight:500;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.inspector-row__val--mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}.page-header{align-items:flex-start;border-bottom:var(--border);display:flex;gap:var(--space-8);justify-content:space-between;margin-bottom:var(--space-8);padding:var(--space-8) 0 var(--space-6)}.page-header__left{flex:1 1;min-width:0}.page-header__back{align-items:center;background:none;border:none;color:var(--ink-3);cursor:pointer;display:inline-flex;font-family:var(--font-base);font-size:var(--text-xs);gap:var(--space-1);margin-bottom:var(--space-3);padding:0;transition:color var(--transition-base)}.page-header__back:hover{color:var(--ink-2)}.page-header__eyebrow{color:var(--ink-3);font-size:var(--text-micro);font-weight:600;letter-spacing:.08em;margin:0 0 var(--space-2);text-transform:uppercase}.page-header__title{color:var(--ink);font-size:var(--text-h1);font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin:0}.page-header__title-muted{color:var(--ink-3);font-weight:800}.page-header__desc{color:var(--ink-2);font-size:var(--text-sm);line-height:1.6;margin:var(--space-2) 0 0;max-width:480px}.page-header__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2);padding-top:var(--space-8)}.paper-breadcrumb{margin-bottom:var(--space-3)}.paper-breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;gap:2px;list-style:none;margin:0;padding:0}.paper-breadcrumb__item{align-items:center;display:flex;gap:4px}.paper-breadcrumb__link{background:none;border:none;color:var(--ink-3);cursor:pointer;font-family:var(--font-base);font-size:var(--text-xs);padding:0;transition:color var(--transition-base)}.paper-breadcrumb__link:hover{color:var(--ink-2)}.paper-breadcrumb__current{color:var(--ink-3);font-size:var(--text-xs)}.paper-breadcrumb__current--active{color:var(--ink-2)}.paper-breadcrumb__sep{color:var(--ink-4);font-size:var(--text-xs)}.empty-state{padding:var(--space-20) var(--space-8)}.empty-state__icon{color:var(--ink-4);font-size:32px;line-height:1;margin-bottom:var(--space-4)}.empty-state__title{color:var(--ink-2);font-size:var(--text-h3);font-weight:700;letter-spacing:-.3px;margin:0 0 var(--space-2)}.empty-state__desc{color:var(--ink-3);font-size:var(--text-sm);line-height:1.6;margin:0;max-width:360px}.empty-state__action{margin-top:var(--space-6)}.loading-state{color:var(--ink-3);gap:var(--space-3);padding:var(--space-10)}.loading-state--full{justify-content:center;min-height:40vh}.loading-state__text{color:var(--ink-3);font-size:var(--text-sm)}.prefill-indicator{align-items:center;color:var(--accent);display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:4px;letter-spacing:.04em;margin-left:8px;-webkit-user-select:none;user-select:none}.empty-state-dashboard{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:60vh;padding:64px 24px;text-align:center}.empty-state-illustration{margin-bottom:32px}.empty-state-img{height:auto;max-width:200px;opacity:.9;width:100%}.empty-state-headline{color:#1a1a2e;font-size:1.75rem;font-weight:700;margin-bottom:12px;max-width:480px}.empty-state-subheadline{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:32px;max-width:480px}.empty-state-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.empty-state-actions .btn-primary{background:#6c63ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:background-color .2s ease,transform .1s ease}.empty-state-actions .btn-primary:hover{background:#5a52d5}.empty-state-actions .btn-primary:active{transform:translateY(0)}.empty-state-actions .btn-secondary{align-items:center;background:#0000;border:1.5px solid #6c63ff;border-radius:8px;color:#6c63ff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:background-color .2s ease,transform .1s ease}.empty-state-actions .btn-secondary:hover{background:#6c63ff0d}.empty-state-actions .btn-secondary:active{transform:translateY(0)}.badge-coming-soon{background:#e0e7ff;border-radius:4px;color:#6c63ff;font-size:.7rem;font-weight:600;margin-left:6px;padding:2px 6px}.btn-tour-trigger{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.875rem;text-decoration:underline;transition:color .2s ease}.btn-tour-trigger:hover{color:#6b7280}@media (max-width:480px){.empty-state-dashboard{min-height:50vh;padding:48px 16px}.empty-state-headline{font-size:1.5rem}.empty-state-subheadline{font-size:.9rem}.empty-state-actions{flex-direction:column;max-width:280px;width:100%}.empty-state-actions .btn-primary,.empty-state-actions .btn-secondary{justify-content:center;width:100%}.empty-state-img{max-width:160px}}@media (min-width:481px) and (max-width:768px){.empty-state-dashboard{padding:56px 20px}.empty-state-headline{font-size:1.6rem}}.onboarding-tour-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.onboarding-tour-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:460px;padding:40px 36px;position:relative;text-align:center;width:90%}.onboarding-tour-dismiss{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.25rem;line-height:1;padding:4px;position:absolute;right:16px;top:16px;transition:color .2s ease}.onboarding-tour-dismiss:hover{color:#6b7280}.onboarding-tour-indicators{display:flex;gap:6px;justify-content:center;margin-bottom:24px}.onboarding-tour-indicator{background:#e5e7eb;border-radius:4px;height:8px;transition:width .3s ease,background .3s ease;width:8px}.onboarding-tour-indicator.active{background:#6c63ff;width:24px}.onboarding-tour-icon{align-items:center;display:flex;font-size:2.5rem;justify-content:center;margin-bottom:16px;min-height:64px}.onboarding-tour-icon .icon-emoji{font-size:3rem}.onboarding-tour-title{color:#1a1a2e;font-size:1.25rem;font-weight:700;margin-bottom:12px}.onboarding-tour-body{color:#6b7280;font-size:.95rem;line-height:1.65;margin-bottom:32px}.onboarding-tour-navigation{align-items:center;display:flex;justify-content:space-between}.onboarding-tour-navigation .btn-skip{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.875rem;padding:8px 12px;transition:color .2s ease}.onboarding-tour-navigation .btn-skip:hover{color:#6b7280}.onboarding-tour-navigation .btn-next{background:#6c63ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:background-color .2s ease,transform .1s ease}.onboarding-tour-navigation .btn-next:hover{background:#5a52d5}.onboarding-tour-navigation .btn-next:active{transform:translateY(0)}@media (max-width:480px){.onboarding-tour-modal{max-width:none;padding:32px 24px;width:95%}.onboarding-tour-title{font-size:1.1rem}.onboarding-tour-body{font-size:.9rem;margin-bottom:24px}.onboarding-tour-navigation{flex-direction:column-reverse;gap:12px}.onboarding-tour-navigation .btn-next{width:100%}.onboarding-tour-navigation .btn-skip{padding:8px}}.dashboard{margin:0 auto;max-width:1400px;padding:var(--space-8)}.dashboard-stat-cell{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-2);justify-content:center}.cell-kpi-number{color:var(--ink);font-size:var(--text-display);font-weight:700;letter-spacing:-.4px;line-height:1}.cell-kpi-label{color:var(--ink-2);font-size:var(--text-sm);font-weight:500}.cell-eyebrow,.cell-kpi-label{letter-spacing:.04em;text-transform:uppercase}.cell-eyebrow{color:var(--ink-3);font-size:var(--text-xs);font-weight:700;margin-bottom:var(--space-4)}.dashboard-pipeline-cell,.dashboard-status-cell{display:flex;flex-direction:column}.pipeline-list{gap:1px;margin-top:var(--space-4)}.pipeline-item{border-bottom:1px solid var(--ink-4);padding:var(--space-4)}.pipeline-item:last-child{border-bottom:none}.pipeline-item:hover{background-color:var(--paper-2)}.pipeline-info{flex:1 1;flex-direction:column;gap:var(--space-2)}.pipeline-title{font-size:var(--text-base);font-weight:600}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.quick-actions{display:flex;flex-wrap:wrap;gap:.75rem}.stats-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}@media (max-width:992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);overflow:hidden;padding:var(--space-6);position:relative;text-align:center;transition:background-color var(--transition-base)}.stat-card:before{content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-blue:before{background:var(--accent)}.stat-orange:before{background:var(--warning)}.stat-green:before{background:var(--success)}.stat-purple:before{background:var(--accent)}.stat-card:hover{background:var(--paper-2)}.stat-value{font-feature-settings:"tnum";font-size:2.25rem;font-variant-numeric:tabular-nums;line-height:1.2;margin-bottom:var(--space-1)}.stat-label{color:var(--ink-2);font-size:.8125rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.stat-blue .stat-value{color:var(--accent)}.stat-orange .stat-value{color:var(--warning)}.stat-green .stat-value{color:var(--success)}.stat-purple .stat-value{color:var(--accent)}.section-header h3{margin:0 0 1rem}.pipeline-list{display:flex;flex-direction:column;gap:.75rem}.pipeline-item{align-items:center;background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background-color var(--transition-base)}.pipeline-item:hover{background:var(--paper-2)}.pipeline-info{align-items:center;display:flex;gap:1rem}.pipeline-title{color:var(--ink);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-header h2{color:var(--ink);font-size:2rem;margin:0}.btn-new-course{align-items:center;background:var(--ink);border-radius:var(--radius-md);color:var(--paper);display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all var(--transition-base)}.btn-new-course:hover{background:var(--ink-2)}.dashboard-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-box{flex:1 1;max-width:400px;min-width:250px;position:relative}.search-input{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);color:var(--ink);font-size:.9375rem;padding:.75rem 1rem .75rem 2.5rem;transition:border-color var(--transition-base);width:100%}.search-input:focus{border-color:var(--ink-2);outline:none}.search-icon{color:var(--ink-3);font-size:1rem;left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.filters{display:flex;flex-wrap:wrap;gap:.75rem}.filter-select{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;font-size:.9375rem;min-width:150px;padding:.75rem 1rem;transition:border-color var(--transition-base)}.filter-select:focus{border-color:var(--ink-2);outline:none}.btn-refresh{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;font-size:1rem;padding:.75rem 1rem;transition:background-color var(--transition-base)}.btn-refresh:hover{background:var(--paper-2)}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.spinner{border:4px solid var(--ink-4);border-top-color:var(--ink);height:48px;width:48px}.loading-state p{color:var(--ink-2);font-size:1rem;margin-top:1rem}.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-state h3{color:var(--ink);margin:0 0 .5rem}.error-state p{color:var(--ink-2);margin:0 0 1.5rem}.btn-retry{background:var(--ink);border:none;border-radius:var(--radius-md);color:var(--paper);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color var(--transition-base)}.btn-retry:hover{background:var(--ink-2)}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--ink);font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:var(--ink-2);font-size:1rem;margin:0 0 1.5rem}.btn-create{background:var(--ink);border:none;border-radius:var(--radius-md);color:var(--paper);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:background-color var(--transition-base)}.btn-create:hover{background:var(--ink-2)}.course-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.course-card{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);color:inherit;display:flex;flex-direction:column;height:100%;padding:var(--space-6);text-decoration:none;transition:background-color var(--transition-base)}.course-card:hover{background:var(--paper-2)}.course-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.course-card-header h3{color:var(--ink);flex:1 1;font-size:1.25rem;line-height:1.4;margin:0}.course-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:.9375rem;margin:0 0 1rem;overflow:hidden}.course-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.meta-item{align-items:center;color:var(--ink-2);display:flex;font-size:.875rem;gap:.25rem}.status-badge{border-radius:9999px;font-size:.75rem;letter-spacing:.05em;padding:.25rem .75rem;white-space:nowrap}.status-gray{background:var(--paper-2);color:var(--ink-2)}.status-blue{background:var(--accent-bg);color:var(--accent)}.status-yellow{background:var(--warning-bg);color:var(--warning)}.status-green{background:var(--success-bg);color:var(--success)}.status-purple{background:var(--accent-bg);color:var(--ink-2)}.status-red{background:var(--error-bg);color:var(--error)}.level-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.level-green{background:var(--success-bg);color:var(--success)}.level-blue{color:var(--accent)}.level-blue,.level-purple{background:var(--accent-bg)}.level-purple{color:var(--ink-2)}.course-footer{border-top:1px solid var(--ink-4);margin-top:auto;padding-top:1rem}.course-date{color:var(--ink-3);font-size:.875rem}@media (max-width:768px){.dashboard{padding:1rem}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-header h2{font-size:1.5rem}.dashboard-controls{flex-direction:column}.search-box{max-width:none;min-width:auto}.filters{width:100%}.filter-select{flex:1 1;min-width:auto}.course-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.btn-create:hover,.btn-new-course:hover,.btn-retry:hover,.course-card:hover{transform:none}.spinner{animation:none}}.btn-create:focus,.btn-refresh:focus,.btn-retry:focus,.filter-select:focus,.search-input:focus{outline:2px solid var(--ink);outline-offset:2px}.btn-create:focus:not(:focus-visible),.btn-refresh:focus:not(:focus-visible),.btn-retry:focus:not(:focus-visible),.filter-select:focus:not(:focus-visible),.search-input:focus:not(:focus-visible){outline:none}.liw-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1200}.liw-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:840px;overflow:hidden;width:100%}.liw-header{align-items:center;border-bottom:1px solid #e8eaf0;display:flex;justify-content:space-between;padding:18px 24px 14px}.liw-title{color:#1a1d2e;font-size:1.2rem;font-weight:700;margin:0}.liw-close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:background .15s}.liw-close-btn:hover{background:#f3f4f6}.liw-steps{background:#f9fafb;border-bottom:1px solid #e8eaf0;gap:0;overflow-x:auto;padding:16px 24px 12px}.liw-step,.liw-steps{align-items:center;display:flex}.liw-step{flex-shrink:0;gap:6px;position:relative}.liw-step-dot{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;color:#9ca3af;display:flex;font-size:.75rem;font-weight:600;height:26px;justify-content:center;transition:all .2s;width:26px}.liw-step--active .liw-step-dot{background:#4f46e5;border-color:#4f46e5;color:#fff}.liw-step--done .liw-step-dot{background:#10b981;border-color:#10b981;color:#fff}.liw-step-label{color:#6b7280;font-size:.8rem;white-space:nowrap}.liw-step--active .liw-step-label{color:#4f46e5;font-weight:600}.liw-step--done .liw-step-label{color:#10b981}.liw-step-line{background:#e5e7eb;flex-shrink:0;height:2px;margin:0 4px;width:28px}.liw-step--done+.liw-step .liw-step-line{background:#10b981}.liw-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;display:flex;font-size:.875rem;justify-content:space-between;margin:12px 24px 0;padding:10px 16px}.liw-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1}.liw-body{flex:1 1;overflow-y:auto;padding:20px 24px}.liw-intro{color:#374151;font-size:.9rem;line-height:1.55;margin-bottom:16px}.liw-dropzone{background:#f5f3ff;border:2px dashed #c7d2fe;border-radius:10px;cursor:pointer;margin-bottom:16px;padding:32px 20px;text-align:center;transition:all .2s}.liw-dropzone--active,.liw-dropzone:hover{background:#ede9fe;border-color:#4f46e5}.liw-dropzone-icon{font-size:2.5rem;margin-bottom:8px}.liw-dropzone-text{color:#4b5563;font-size:.95rem;margin:0 0 4px}.liw-dropzone-hint{color:#9ca3af;font-size:.8rem;margin:0}.liw-link{color:#4f46e5;cursor:pointer;text-decoration:underline}.liw-file-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 16px;padding:0}.liw-file-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;font-size:.875rem;gap:8px;padding:8px 12px}.liw-file-icon{font-size:1.1rem}.liw-file-name{color:#374151;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.liw-file-size{color:#9ca3af;font-size:.8rem;white-space:nowrap}.liw-file-remove{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:1rem;padding:2px 4px;transition:color .15s}.liw-file-remove:hover{color:#ef4444}.liw-progress-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:80px}.liw-progress-fill{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:3px;height:100%;transition:width .3s ease}.liw-config-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:16px}.liw-config-title{color:#374151;font-size:.9rem;font-weight:600;margin:0 0 12px}.liw-config-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:12px}.liw-checkbox-label{align-items:center;color:#4b5563;cursor:pointer;display:flex;font-size:.875rem;gap:8px}.liw-checkbox-label input{accent-color:#4f46e5}.liw-lang-select{align-items:center;color:#4b5563;display:flex;font-size:.875rem;gap:10px}.liw-lang-select select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:4px 10px}.liw-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:16px}.liw-actions--center{justify-content:center}.liw-actions-note{color:#6b7280;font-size:.85rem;margin-right:auto}.liw-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:9px 18px;transition:all .15s}.liw-btn:disabled{cursor:not-allowed;opacity:.5}.liw-btn--primary{background:#4f46e5;color:#fff}.liw-btn--primary:not(:disabled):hover{background:#4338ca}.liw-btn--secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.liw-btn--secondary:not(:disabled):hover{background:#e5e7eb}.liw-btn--ghost{background:#0000;border:1px solid #c7d2fe;color:#4f46e5}.liw-btn--ghost:not(:disabled):hover{background:#ede9fe}.liw-btn--success{background:#10b981;color:#fff}.liw-btn--success:not(:disabled):hover{background:#059669}.liw-btn--danger{background:#fef2f2;border:1px solid #fecaca;color:#ef4444}.liw-btn--danger:not(:disabled):hover{background:#fee2e2}.liw-btn--sm{border-radius:6px;font-size:.8rem;padding:5px 12px}.liw-step-enrichment,.liw-step-processing{padding:16px 0;text-align:center}.liw-spinner-wrap{margin-bottom:20px}.liw-spinner{animation:liw-spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#4f46e5;display:inline-block;height:48px;width:48px}@keyframes liw-spin{to{transform:rotate(1turn)}}.liw-processing-title{color:#1a1d2e;font-size:1.1rem;font-weight:600;margin-bottom:6px}.liw-processing-status{color:#6b7280;font-size:.9rem;margin-bottom:16px}.liw-progress-track{background:#e5e7eb;border-radius:4px;height:8px;margin:0 auto 6px;max-width:480px;overflow:hidden;width:100%}.liw-progress-label{color:#6b7280;font-size:.8rem;margin-bottom:16px}.liw-processing-steps{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:20px}.liw-proc-step{align-items:center;color:#6b7280;display:flex;font-size:.85rem;gap:6px}.liw-proc-step--done{color:#10b981}.liw-proc-dot{font-size:1rem}.liw-processing-note{color:#9ca3af;font-size:.8rem;margin:0 auto;max-width:400px}.liw-enrichment-grid{display:flex;flex-direction:column;gap:10px;margin:16px auto 20px;max-width:480px;text-align:left}.liw-enrichment-type{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:160px 80px 1fr}.liw-enrichment-label{color:#4b5563;font-size:.85rem}.liw-enrichment-progress{color:#6b7280;font-size:.8rem;text-align:right}.liw-enrichment-failed{color:#ef4444}.liw-enrichment-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.liw-enrichment-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px;height:100%;transition:width .4s ease}.liw-review-summary-bar{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;font-size:.875rem;gap:14px;margin-bottom:16px;padding:10px 14px}.liw-review-stat{color:#4b5563}.liw-review-stat--approved strong{color:#10b981}.liw-review-stat--draft strong{color:#f59e0b}.liw-review-stat--rejected strong{color:#ef4444}.liw-mapping-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding-right:4px}.liw-mapping-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;transition:border-color .15s}.liw-mapping-card--approved{background:#f0fdf4;border-color:#a7f3d0}.liw-mapping-card--modified{background:#eff6ff;border-color:#bfdbfe}.liw-mapping-card--rejected{background:#fff5f5;border-color:#fecaca;opacity:.65}.liw-mapping-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.liw-mapping-location{color:#374151;font-size:.875rem;font-weight:600}.liw-conf{border-radius:12px;font-size:.75rem;font-weight:600;padding:2px 7px}.liw-conf--high{background:#d1fae5;color:#065f46}.liw-conf--mid{background:#fef3c7;color:#92400e}.liw-conf--low{background:#fee2e2;color:#991b1b}.liw-status-badge{border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.liw-status-badge--draft{background:#fef3c7;color:#92400e}.liw-status-badge--approved{background:#d1fae5;color:#065f46}.liw-status-badge--modified{background:#dbeafe;color:#1e40af}.liw-status-badge--rejected{background:#fee2e2;color:#991b1b}.liw-source-text{font-size:.8rem;margin-bottom:8px}.liw-source-text summary{color:#6b7280;cursor:pointer}.liw-source-text pre{background:#f3f4f6;border-radius:6px;font-size:.78rem;margin:6px 0 0;max-height:120px;overflow-x:auto;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-word}.liw-mapping-content{color:#374151;font-size:.85rem;line-height:1.5;margin-bottom:8px}.liw-mapping-rationale{color:#6b7280;font-size:.8rem;font-style:italic;margin-bottom:8px}.liw-mapping-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:8px}.liw-mapping-edit{display:flex;flex-direction:column;gap:10px}.liw-edit-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:100px 1fr}.liw-edit-row--full{align-items:flex-start;grid-template-columns:100px 1fr}.liw-edit-row label{color:#4b5563;font-size:.8rem;font-weight:600}.liw-edit-row input,.liw-edit-row select,.liw-edit-row textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:.85rem;padding:6px 10px;width:100%}.liw-edit-row textarea{resize:vertical}.liw-step-complete{padding:20px 0;text-align:center}.liw-complete-icon{font-size:3.5rem;margin-bottom:12px}.liw-complete-icon--error{filter:grayscale(.5)}.liw-complete-title{color:#1a1d2e;font-size:1.3rem;font-weight:700;margin-bottom:8px}.liw-complete-desc{color:#4b5563;font-size:.9rem;line-height:1.55;margin:0 auto 20px;max-width:480px}.liw-complete-desc--error{color:#b91c1c}.liw-complete-stats{display:flex;gap:32px;justify-content:center;margin-bottom:24px}.liw-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.liw-stat-value{color:#4f46e5;font-size:2rem;font-weight:800;line-height:1}.liw-stat-label{color:#6b7280;font-size:.8rem}.liw-step-review,.liw-step-semantic,.liw-step-upload{display:flex;flex-direction:column}.liw-file-meta{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:.75rem;font-weight:500;padding:2px 8px;white-space:nowrap}.liw-sem-title{align-items:baseline;color:#1a1d2e;display:flex;font-size:.9rem;gap:6px;margin-bottom:6px}.liw-sem-summary{color:#374151;font-size:.85rem;line-height:1.55;margin-bottom:8px}.liw-sem-label{color:#9ca3af;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.liw-sem-topics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.liw-topic-tag{background:#ede9fe;border:1px solid #c4b5fd;border-radius:20px;color:#5b21b6;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 10px;white-space:nowrap}.liw-muted{color:#9ca3af;font-style:italic}.liw-config-title--media{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:14px}.liw-config-hint{color:#6b7280;font-size:.8rem;line-height:1.5;margin:-8px 0 12px}.liw-config-grid--media{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.liw-media-label{align-items:center;display:flex;gap:6px}.liw-media-icon{flex-shrink:0;font-size:1.1rem;line-height:1}.liw-media-note{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:.78rem;line-height:1.5;margin-top:10px;padding:8px 12px}.liw-checkbox-label--active{color:#4f46e5;font-weight:600}.liw-checkbox-label--active .liw-media-icon{filter:drop-shadow(0 0 2px rgba(79,70,229,.4))}.liw-comp-type-badge{background:#e0e7ff;border:1px solid #c7d2fe;border-radius:20px;color:#3730a3;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.course-form-container{margin:0 auto;max-width:800px}.course-form-header{margin-bottom:2rem}.course-form-header h2{color:var(--ink);font-size:2rem;margin-bottom:.5rem}.course-form-header p{color:var(--ink-2);font-size:1.1rem}.error-banner{background-color:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);margin-bottom:2rem;padding:1rem}.course-form{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);padding:2rem}.form-section{padding-bottom:2rem}.form-section h3{font-size:1.5rem;margin-bottom:.5rem}.form-group,.section-description{margin-bottom:1.5rem}.form-group label{color:var(--ink-2);display:block;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:600;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.form-group label .form-required-mark{color:var(--error);font-weight:700;margin-left:2px}.form-group label .form-optional-mark{color:var(--ink-3);font-size:.7em;font-weight:400;letter-spacing:0;margin-left:4px;text-transform:none}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-base);font-size:.9375rem;font-size:var(--text-sm,.9375rem);padding:.75rem;transition:border-color var(--transition-base);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--paper);border-color:var(--accent);outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;gap:1rem;grid-template-columns:1fr 1fr}.checkbox-group{gap:1rem}.checkbox-label{align-items:flex-start;border:2px solid var(--ink-4);border-radius:var(--radius-md);gap:1rem;padding:1rem;transition:all var(--transition-base)}.checkbox-label:hover{background-color:var(--paper-2);border-color:var(--accent)}.checkbox-label input[type=checkbox]{height:20px;margin-top:.25rem;width:20px}.checkbox-text{display:flex;flex-direction:column;gap:.25rem}.checkbox-text strong{color:var(--ink);font-size:1rem}.checkbox-text small{color:var(--ink-2);font-size:.9rem}.form-actions{margin-top:2rem;padding-top:2rem}.btn-cancel,.btn-submit{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all var(--transition-base)}.btn-cancel{background-color:var(--paper-2);border:1px solid var(--ink-4);color:var(--ink)}.btn-cancel:hover:not(:disabled){background-color:var(--ink-4)}.btn-submit{background:var(--accent);color:var(--paper)}.btn-submit:hover:not(:disabled){background:var(--ink-2)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.course-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.review-level-options{grid-gap:1rem;display:grid;gap:1rem;margin-top:1rem}.review-level-card{align-items:flex-start;background:var(--paper);border:2px solid var(--ink-4);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all var(--transition-base)}.review-level-card:hover{background-color:var(--paper-2);border-color:var(--accent)}.review-level-card.recommended{background:var(--success-bg);border-color:var(--success)}.review-level-card.recommended:after{background:var(--success);border-radius:var(--radius-lg);color:var(--paper);content:"★ Recommended";font-size:11px;font-weight:700;padding:4px 12px;position:absolute;right:10px;top:-10px}.review-level-card input[type=radio]{accent-color:var(--accent);cursor:pointer;height:20px;margin-top:.25rem;width:20px}.review-level-card input[type=radio]:checked~.review-level-content{color:var(--accent)}.review-level-card.recommended input[type=radio]:checked~.review-level-content{color:var(--success)}.review-level-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.review-level-content strong{color:var(--ink);font-size:1.1rem}.review-level-content p{color:var(--ink-2);font-size:.95rem;line-height:1.5;margin:0}.review-level-content small{color:var(--ink-3);font-size:.85rem;margin-top:.25rem}@media (max-width:768px){.review-level-card.recommended:after{display:block;margin-bottom:8px;position:static}}.btn-legacy-import{align-items:center;background:var(--ink);border:none;border-radius:8px;color:var(--paper);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;margin-top:8px;padding:10px 20px;transition:opacity .15s}.btn-legacy-import:hover{background:var(--ink-2)}.generation-progress{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding:1.25rem}.generation-progress-title{color:var(--ink);font-size:.875rem;font-weight:600}.generation-progress-status{color:var(--ink-2);display:flex;font-size:.8rem;gap:.5rem}.cf-content-type-hint{background:var(--paper-2);background:var(--paper-3,var(--paper-2));border-radius:4px;border-radius:var(--radius-sm,4px);color:var(--ink-2);display:inline-block;font-size:.75rem;margin-top:.35rem;padding:2px 8px}.review-checkpoint{margin:0 auto;max-width:1200px;padding:20px}.checkpoint-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.checkpoint-header h2{color:#2c3e50;font-size:28px;margin:0 0 10px}.checkpoint-badge{animation:pulse 2s ease-in-out infinite;background:gold;border-radius:20px;color:#333;display:inline-block;font-size:14px;font-weight:600;padding:6px 16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.review-level-indicator{background:#f5f5f5;border-radius:8px;color:#666;font-size:14px;padding:8px 16px}.review-level-indicator strong{color:#4caf50}.checkpoint-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:30px;min-height:400px;padding:30px}.checkpoint-cta-banner{align-items:center;background:linear-gradient(135deg,#ecfdf3,#f7fee7);border:1px solid #bbf7d0;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:18px 20px}.checkpoint-cta-copy{display:flex;flex-direction:column;gap:4px}.checkpoint-cta-copy strong{color:#14532d;font-size:16px}.checkpoint-cta-copy span{color:#166534;font-size:14px;line-height:1.4}.checkpoint-notes{margin-bottom:30px}.checkpoint-notes label{color:#555;display:block;font-weight:600;margin-bottom:8px}.checkpoint-notes textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.checkpoint-notes small{color:#999;font-size:12px}.checkpoint-actions{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff5;border-top:1px solid #e0e0e0;bottom:0;display:flex;gap:12px;justify-content:flex-end;padding-top:20px;position:-webkit-sticky;position:sticky;z-index:5}.checkpoint-actions button{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-approve{background:#4caf50;color:#fff}.btn-approve-prominent{min-width:220px}.btn-approve-secondary{background:#2f9e44}.btn-approve:hover:not(:disabled){background:#45a049;opacity:.9}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover:not(:disabled){background:#0b7dda;opacity:.9}.btn-regenerate{background:#ff9800;color:#fff}.btn-regenerate:hover:not(:disabled){background:#fb8c00;opacity:.9}.btn-save{background:#4caf50;color:#fff}.btn-save:hover:not(:disabled){background:#45a049}.btn-cancel{background:#f44336;color:#fff}.btn-cancel:hover:not(:disabled){background:#da190b}@media (max-width:768px){.checkpoint-actions,.checkpoint-cta-banner,.checkpoint-header{align-items:stretch;flex-direction:column}.btn-approve-prominent,.checkpoint-actions button{width:100%}}.syllabus-review-display .syllabus-section{margin-bottom:30px}.syllabus-review-display h3{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:15px;padding-bottom:10px}.syllabus-review-display .overview-text{color:#555;line-height:1.8}.objectives-list{list-style:none;padding:0}.objectives-list li{background:#f8f9fa;border-left:4px solid #4caf50;border-radius:4px;margin-bottom:8px;padding:12px}.lesson-plan-list{grid-gap:20px;display:grid;gap:20px}.lesson-plan-item{background:#f8f9fa;border-left:4px solid #2196f3;border-radius:8px;padding:20px}.lesson-plan-item h4{color:#2c3e50;margin-bottom:12px}.topics-list{color:#666;list-style-position:inside}.learning-outcomes{border-top:1px solid #ddd;margin-top:12px;padding-top:12px}.learning-outcomes ul{color:#666;list-style-position:inside}.syllabus-review-edit .edit-section{margin-bottom:30px}.syllabus-review-edit label{color:#555;display:block;font-weight:600;margin-bottom:8px}.syllabus-review-edit input[type=text],.syllabus-review-edit textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:12px;width:100%}.objective-edit-row{display:flex;gap:8px;margin-bottom:8px}.objective-edit-row input{flex:1 1}.btn-remove-objective{background:#f44336;font-size:16px;padding:8px 12px}.btn-add-objective,.btn-remove-objective{border:none;border-radius:4px;color:#fff;cursor:pointer}.btn-add-objective{background:#4caf50;font-weight:600;padding:8px 16px}.edit-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-top:20px;padding:12px}.lesson-review-display .lesson-header{margin-bottom:20px}.lesson-review-display h3{color:#2c3e50;margin-bottom:5px}.lesson-review-display h4{color:#666;font-weight:400}.lesson-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.content-preview p{color:#555;line-height:1.8;margin-bottom:16px}.quiz-preview{grid-gap:20px;display:grid;gap:20px}.quiz-question{background:#f8f9fa;border-left:4px solid #4caf50;padding:16px}.quiz-question p{font-weight:600;margin-bottom:12px}.quiz-answers{list-style:none;padding:0}.quiz-answers li{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:4px;padding:8px 12px}.quiz-answers li.correct-answer{background:#e8f5e9;border-color:#4caf50;font-weight:600}.lab-preview,.video-script-preview{background:#f8f9fa;border-radius:8px;padding:16px}.video-script-preview pre{font-family:Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap}.lesson-review-edit .edit-section{margin-bottom:20px}.json-editor{background:#f5f5f5;font-family:Monaco,Courier New,monospace;font-size:13px}.qa-report-review{padding:20px}.qa-summary{border-radius:12px;margin-bottom:30px;padding:30px;text-align:center}.qa-summary.qa-pass{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50}.qa-summary.qa-fail{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #f44336}.qa-summary h3{font-size:24px;margin-bottom:20px}.qa-stats{font-size:18px;gap:40px;justify-content:center}.qa-issues-section{margin:30px 0}.qa-issues-section h4{color:#2c3e50;margin-bottom:20px}.issues-list{grid-gap:16px;display:grid;gap:16px}.qa-issue{border-radius:8px;padding:16px}.qa-issue.severity-error{background:#ffebee;border-left-color:#f44336}.qa-issue.severity-warning{background:#fff3e0;border-left-color:#ff9800}.qa-issue.severity-info{background:#e3f2fd;border-left-color:#2196f3}.issue-header{display:flex;gap:12px;margin-bottom:8px}.issue-severity-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 12px}.severity-error .issue-severity-badge{background:#f44336}.severity-warning .issue-severity-badge{background:#ff9800}.severity-info .issue-severity-badge{background:#2196f3}.issue-category{background:#f0f0f0;border-radius:12px;color:#666;font-size:12px;padding:4px 12px}.issue-message{font-weight:600;margin:8px 0}.issue-location{color:#666;font-size:13px}.issue-suggestion{background:#4caf501a;border-radius:6px;margin-top:12px;padding:12px}.issue-suggestion p{color:#555;margin:4px 0 0}.no-issues{background:#e8f5e9;border:2px dashed #4caf50;border-radius:12px;padding:40px;text-align:center}.no-issues p{color:#2e7d32;font-size:18px;margin:0}.qa-actions-info{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.qa-actions-info h4{color:#2c3e50;margin-bottom:16px}.option-item{background:#fff;border-left:3px solid #2196f3;border-radius:4px;margin-bottom:8px;padding:12px}.option-item.warning{background:#fff3e0;border-left-color:#ff9800}.final-preview{padding:20px}.preview-header{margin-bottom:40px;text-align:center}.preview-header h3{color:#2c3e50;font-size:28px;margin-bottom:10px}.preview-header p{color:#666;font-size:16px}.preview-section{background:#f8f9fa;border-radius:12px;margin-bottom:40px;padding:24px}.preview-section h4{color:#2c3e50;font-size:20px;margin-bottom:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:none;display:flex;gap:16px;padding:20px}.stat-icon{font-size:36px}.stat-content{flex:1 1}.stat-value{color:#2c3e50;display:block;font-size:28px;font-weight:700}.stat-label{color:#666;display:block;font-size:14px;margin-top:4px}.lessons-overview-list{grid-gap:16px;display:grid;gap:16px}.lesson-overview-item{background:#fff;border-left:4px solid #2196f3;border-radius:8px;padding:16px}.lesson-overview-header{display:flex;gap:12px;margin-bottom:12px}.lesson-number{background:#2196f3;border-radius:12px;color:#fff;font-size:12px;padding:4px 12px}.lesson-title{color:#2c3e50}.lesson-components{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.component-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;padding:4px 10px}.lesson-meta{color:#666;font-size:14px;gap:16px}.download-section{background:linear-gradient(135deg,#e8eaf6,#c5cae9);border:2px solid #3f51b5;text-align:center}.btn-download-mbz{background:#3f51b5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin:20px 0;padding:16px 32px;transition:all .2s}.btn-download-mbz:hover{background:#303f9f;opacity:.9}.download-info{color:#666;font-size:13px}.download-info code{background:#0000000d;border-radius:3px;font-family:Monaco,monospace;padding:2px 6px}.preview-actions-info{background:#fff3e0;border:2px solid #ff9800;border-radius:12px;padding:24px}.action-info-item{background:#fff;border-radius:4px;margin-bottom:8px;padding:12px}.review-history{padding:20px}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.history-header h4{color:#2c3e50;font-size:22px}.review-level-badge{background:#4caf50;border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:6px 16px}.empty-history{color:#999;padding:60px;text-align:center}.empty-history small{display:block;font-size:14px;margin-top:8px}.history-timeline{padding-left:40px;position:relative}.history-timeline:before{background:#e0e0e0;bottom:0;content:"";left:16px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:30px;position:relative}.timeline-marker{align-items:center;background:#fff;border:2px solid #2196f3;border-radius:50%;display:flex;height:32px;justify-content:center;left:-40px;position:absolute;width:32px;z-index:1}.checkpoint-icon{font-size:16px}.timeline-content{background:#fff;border-radius:8px;box-shadow:none;padding:20px}.checkpoint-info-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.checkpoint-info-header h5{color:#2c3e50;margin:0}.status-badge{padding:4px 12px}.status-badge.status-pending{background:gold;color:#333}.status-badge.status-approved{background:#4caf50;color:#fff}.status-badge.status-edited{background:#2196f3;color:#fff}.status-badge.status-rejected{background:#f44336;color:#fff}.status-badge.status-regenerated{background:#ff9800;color:#fff}.checkpoint-meta{color:#666;display:flex;font-size:14px;gap:16px;margin-bottom:8px}.checkpoint-action{color:#555;font-size:14px;margin-bottom:8px}.edited-badge{background:#e3f2fd;border-radius:10px;font-size:11px;margin-left:8px;padding:2px 8px}.checkpoint-notes{background:#f5f5f5;border-left:3px solid #9e9e9e;border-radius:4px;color:#666;font-style:italic;margin-top:12px;padding:12px}.loading-small{color:#999;padding:20px;text-align:center}@media (max-width:768px){.checkpoint-header{align-items:flex-start;flex-direction:column;gap:16px}.stats-grid{grid-template-columns:1fr}.checkpoint-actions{flex-direction:column}.checkpoint-actions button{width:100%}.qa-stats{flex-direction:column;gap:16px}}.checkpoint-error-banner,.checkpoint-warning-banner{align-items:center;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px 20px}.checkpoint-warning-banner{background-color:#fff3cd;border:2px solid #ffc107;color:#856404}.checkpoint-error-banner{background-color:#f8d7da;border:2px solid #dc3545;color:#842029}.error-icon,.warning-icon{font-size:1.25rem}.error-message,.warning-message{flex:1 1;font-weight:600}.btn-dismiss-error{background:none;border:none;color:#842029;cursor:pointer;font-size:1.25rem;line-height:1;padding:0}.btn-dismiss-error:hover{opacity:.7}.checkpoint-actions button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.5}.checkpoint-actions button:disabled:hover{box-shadow:none;transform:none}.checkpoint-notes textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.resource-uploader{margin:0 auto;max-width:800px;width:100%}.dropzone{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;overflow:hidden;padding:40px 20px;position:relative;transition:all .3s ease}.dropzone.active,.dropzone:hover{background-color:#eff6ff;border-color:#3b82f6}.dropzone.uploading{background-color:#ecfdf5;border-color:#10b981;cursor:not-allowed}.dropzone-content{justify-content:center;min-height:200px}.dropzone-content,.dropzone-prompt{align-items:center;display:flex;flex-direction:column}.dropzone-prompt{gap:12px}.upload-icon{font-size:48px;margin-bottom:8px}.dropzone h3{color:#111827;font-size:18px;font-weight:600;margin:0}.dropzone p{color:#6b7280;font-size:14px;margin:0;max-width:400px}.file-size-limit{color:#9ca3af;font-size:12px;margin-top:8px}.uploading-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:300px;width:100%}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.progress-bar{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background-color:#3b82f6;height:100%;transition:width .3s ease}.uploaded-files{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:24px;padding:16px}.uploaded-files h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 12px}.file-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.file-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.file-name{color:#111827;font-weight:500;word-break:break-word}.file-size{color:#6b7280;font-size:12px}.file-status{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px;text-transform:uppercase}.file-status.uploading{background-color:#fef3c7;color:#92400e}.file-status.processing{background-color:#dbeafe;color:#1e40af}.file-status.ready{background-color:#d1fae5;color:#065f46}.file-status.failed{background-color:#fee2e2;color:#991b1b}.remove-file-btn{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;font-size:18px;padding:4px 8px;transition:background-color .2s}.remove-file-btn:hover{background-color:#fee2e2}.supported-formats{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:24px;padding:16px}.supported-formats h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 12px}.format-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.format-category h5{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.format-category ul{list-style:none;margin:0;padding:0}.format-category li{color:#6b7280;font-size:12px;padding:2px 0}@media (max-width:768px){.resource-uploader{max-width:100%}.dropzone{padding:30px 15px}.dropzone-prompt{gap:8px}.upload-icon{font-size:36px}.dropzone h3{font-size:16px}.dropzone p{font-size:13px}.format-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.dropzone{background-color:#1f2937;border-color:#4b5563}.dropzone.active,.dropzone:hover{background-color:#1e3a8a;border-color:#60a5fa}.dropzone.uploading{background-color:#064e3b;border-color:#34d399}.dropzone h3{color:#f9fafb}.dropzone p{color:#9ca3af}.supported-formats,.uploaded-files{background-color:#1f2937;border-color:#4b5563}.supported-formats h4,.uploaded-files h4{color:#f9fafb}.file-item{background-color:#374151;border-color:#4b5563}.file-name{color:#f9fafb}.file-size{color:#9ca3af}.format-category h5{color:#d1d5db}.format-category li{color:#9ca3af}}.resource-list{margin:0 auto;max-width:1200px;padding:20px;width:100%}.resource-list.error,.resource-list.loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.resource-list .spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.clear-search-btn,.retry-btn{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.clear-search-btn:hover,.retry-btn:hover{background-color:#2563eb}.resource-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.resource-list-header h3{color:#111827;font-size:20px;font-weight:600;margin:0}.resource-controls{display:flex;flex-direction:column;gap:12px;min-width:300px}.search-box{display:flex;gap:8px}.search-box input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.search-box button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.search-box button:hover{background-color:#2563eb}.filter-controls{display:flex;flex-wrap:wrap;gap:8px}.filter-controls select{background-color:#fff}.filter-controls select,.sort-order-btn{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.sort-order-btn{background-color:#f3f4f6;cursor:pointer;transition:background-color .2s}.sort-order-btn:hover{background-color:#e5e7eb}.no-resources{color:#6b7280;padding:40px 20px;text-align:center}.resource-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.select-all-btn{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.select-all-btn:hover{background-color:#e5e7eb}.selected-count{color:#6b7280;font-size:14px}.resource-table{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;font-size:14px;font-weight:600;grid-template-columns:40px 1fr 80px 100px 100px 140px 120px}.table-header>div{border-right:1px solid #e5e7eb;padding:12px 16px}.table-header>div:last-child{border-right:none}.table-row{border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:40px 1fr 80px 100px 100px 140px 120px;transition:background-color .2s}.table-row:hover{background-color:#f9fafb}.table-row:last-child{border-bottom:none}.table-row>div{align-items:center;border-right:1px solid #e5e7eb;display:flex;font-size:14px;padding:12px 16px}.table-row>div:last-child{border-right:none;justify-content:center}.checkbox-cell{justify-content:center}.name-cell{color:#111827;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-cell{font-size:12px;text-transform:uppercase}.size-cell,.type-cell{color:#6b7280}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px;text-transform:uppercase}.status-badge.uploading{background-color:#fef3c7;color:#92400e}.status-badge.processing{background-color:#dbeafe;color:#1e40af}.status-badge.ready{background-color:#d1fae5;color:#065f46}.status-badge.failed{background-color:#fee2e2;color:#991b1b}.date-cell{color:#6b7280;font-size:12px}.actions-cell{display:flex;gap:4px;justify-content:center}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px;transition:background-color .2s}.action-btn:hover{background-color:#f3f4f6}.delete-btn:hover{background-color:#fee2e2}@media (max-width:1024px){.table-header,.table-row{grid-template-columns:40px 1fr 80px 100px 120px}.date-cell{display:none}}@media (max-width:768px){.resource-list{padding:10px}.resource-list-header{align-items:stretch;flex-direction:column}.resource-controls{min-width:auto}.filter-controls{justify-content:space-between}.table-header,.table-row{grid-template-columns:40px 1fr 80px 100px}.size-cell,.type-cell{display:none}.resource-actions{align-items:stretch;flex-direction:column;gap:8px}}@media (max-width:480px){.table-header,.table-row{grid-template-columns:40px 1fr 100px}.status-cell{display:none}.actions-cell{flex-direction:column;gap:2px}}@media (prefers-color-scheme:dark){.resource-list-header h3{color:#f9fafb}.filter-controls select,.search-box input,.sort-order-btn{background-color:#374151;border-color:#4b5563;color:#f9fafb}.sort-order-btn:hover{background-color:#4b5563}.no-resources{color:#9ca3af}.resource-table{background-color:#1f2937;border-color:#4b5563}.table-header{background-color:#374151;color:#d1d5db}.table-header>div,.table-row>div{border-color:#4b5563}.table-row:hover{background-color:#374151}.name-cell{color:#f9fafb}.date-cell,.size-cell,.type-cell{color:#9ca3af}.action-btn:hover{background-color:#374151}}.loading-spinner-container{align-items:center;display:flex;justify-content:center;min-height:400px;padding:40px 20px;width:100%}.loading-spinner-content{align-items:center;display:flex;flex-direction:column;gap:16px}.loading-spinner-message{color:#6c757d;font-size:14px;margin:0;text-align:center}.loading-spinner-container.full-page{background:#ffffffe6;bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0;z-index:9999}.loading-spinner-container.inline{min-height:auto;padding:20px}.quiz-generator{background:#fff;border-radius:8px;box-shadow:none;padding:20px}.quiz-generator,.quiz-generator__header{margin-bottom:20px}.quiz-generator__header h2{color:#333;margin:0 0 10px}.quiz-generator__header p{color:#666;margin:0}.quiz-generator__form{display:flex;flex-direction:column;gap:15px}.lab-generator{background:#fff;border-radius:8px;box-shadow:none;padding:20px}.lab-generator,.lab-generator__header{margin-bottom:20px}.lab-generator__header h2{color:#333;margin:0 0 10px}.lab-generator__header p{color:#666;margin:0}.lab-generator__form{gap:15px}.form-group,.lab-generator__form{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:500;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.btn-primary{align-items:center;background-color:#007bff;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;gap:8px;justify-content:center;padding:12px 20px}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:15px;padding:12px}.media-library{padding:var(--space-4)}.dropzone{background:var(--paper-2);border:2px dashed var(--ink-4);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-4);padding:var(--space-6);text-align:center;transition:border-color var(--transition-base),background-color var(--transition-base)}.dropzone:hover{background:var(--paper);border-color:var(--ink-2)}.dropzone-active{background:var(--accent-bg);border-color:var(--accent)}.dropzone-icon{color:var(--ink-3);font-size:2rem;margin-bottom:var(--space-2)}.dropzone-text{color:var(--ink-2);font-size:var(--text-sm);margin:var(--space-2) 0 var(--space-1)}.dropzone-hint{color:var(--ink-3);font-size:var(--text-xs);margin:0}.media-tabs{margin-bottom:var(--space-4)}.loading-container{padding:var(--space-10)}.media-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(3,1fr)}@media (max-width:992px){.media-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.media-grid{grid-template-columns:1fr}}.media-card{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);transition:background-color var(--transition-base)}.media-card:hover,.media-preview{background:var(--paper-2)}.media-preview{align-items:center;border-radius:var(--radius-sm);display:flex;height:100px;justify-content:center;overflow:hidden;position:relative}.preview-image{height:100%;object-fit:cover;width:100%}.audio-preview{padding:var(--space-2);width:100%}.audio-player{height:32px;width:100%}.video-preview{align-items:center;display:flex;flex-direction:column;gap:var(--space-1)}.video-icon{color:var(--accent);font-size:2rem}.video-label{color:var(--ink-2);font-size:var(--text-xs)}.file-preview{align-items:center;display:flex;flex-direction:column;gap:var(--space-1)}.file-icon{font-size:1.75rem}.file-type{color:var(--ink-3);font-size:var(--text-xs)}.status-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;left:0;position:absolute;right:0;top:0}.status-overlay.processing{color:var(--accent)}.status-overlay.failed{color:var(--error)}.media-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.type-tag{margin:0}.media-name{color:var(--ink-2);flex:1 1;font-size:var(--text-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-actions{border-top:1px solid var(--ink-4);display:flex;gap:var(--space-1);justify-content:flex-end;padding-top:var(--space-1)}.asset-viewer-modal{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.asset-viewer-content{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);max-height:90vh;max-width:90vw;overflow:auto;padding:var(--space-6);position:relative}.close-btn{background:none;border:none;color:var(--ink-3);cursor:pointer;font-size:1.5rem;position:absolute;right:var(--space-2);top:var(--space-2);z-index:1}.close-btn:hover{color:var(--ink)}.viewer-image{max-height:70vh;max-width:100%}.viewer-audio{min-width:300px;width:100%}.viewer-video{max-height:70vh;max-width:100%}.document-info{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-10)}.document-icon{color:var(--accent);font-size:3rem}.version-history-panel{background:#fff;box-shadow:-2px 0 8px #00000026;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;right:0;top:0;width:400px;z-index:1000}.version-history-panel__header{align-items:center;background:#fafafa;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;padding:16px 20px}.version-history-panel__header h2{color:#1f1f1f;font-size:18px;font-weight:600;margin:0}.version-history-panel__close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:20px;padding:4px 8px;transition:background-color .2s}.version-history-panel__close:hover{background:#f0f0f0;color:#333}.version-history-panel__empty,.version-history-panel__error,.version-history-panel__loading{color:#666;padding:20px;text-align:center}.version-history-panel__error{background:#ffebee;border-radius:4px;color:#d32f2f;margin:16px}.version-history-panel__list{flex:1 1;overflow-y:auto;padding:12px}.version-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;margin-bottom:8px;padding:12px 16px;transition:all .2s}.version-item:hover{border-color:#1890ff}.version-item--selected{background:#e6f7ff;border-color:#1890ff}.version-item--current{background:#f6ffed;border-color:#52c41a}.version-item--current.version-item--selected{background:#e6f7ff;border-color:#1890ff}.version-item__header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.version-item__number{color:#1f1f1f;font-size:14px;font-weight:600}.version-item__badge{background:#52c41a;border-radius:10px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px}.version-item__meta{align-items:center;color:#666;display:flex;font-size:12px;justify-content:space-between}.version-item__author{font-weight:500}.version-item__time{color:#999}.version-item__desc{color:#555;font-size:13px;line-height:1.4;margin:8px 0 0}.version-history-panel__actions{background:#fafafa;border-top:1px solid #e8e8e8;padding:16px 20px}.version-restore-btn{font-size:14px;padding:10px 16px;width:100%}.version-restore-btn:disabled{cursor:not-allowed;opacity:.6}.version-restore-confirm{text-align:center}.version-restore-confirm__text{color:#666;font-size:14px;margin:0 0 12px}.version-restore-confirm__buttons{display:flex;gap:12px;justify-content:center}.version-restore-confirm__error{color:#d32f2f;font-size:13px;margin-top:12px}.btn{border:1px solid #0000;font-size:14px;font-weight:500;padding:8px 16px}.btn--primary{background:#1890ff;border-color:#1890ff;color:#fff}.btn--primary:hover:not(:disabled){background:#40a9ff;border-color:#40a9ff}.btn--danger{background:#ff4d4f;border-color:#ff4d4f;color:#fff}.btn--danger:hover:not(:disabled){background:#ff7875;border-color:#ff7875}.btn--ghost{background:#0000;border-color:#d9d9d9;color:#666}.btn--ghost:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.btn:disabled{opacity:.5}.version-diff-preview{background:#fff;border:1px solid #e8e8e8;border-radius:6px;margin-bottom:16px;padding:12px}.version-diff-preview__label{color:#666;font-size:12px;font-weight:500;margin:0 0 8px}.version-diff-preview__content{font-size:13px;line-height:1.5;max-height:150px;overflow-y:auto}.diff-added{background:#d4edda;color:#155724;text-decoration:none}.diff-removed{background:#f8d7da;color:#721c24;text-decoration:line-through}.diff-empty,.diff-loading{color:#999;font-size:13px;font-style:italic}@media (max-width:480px){.version-history-panel{width:100%}}.empty-state-section{background:#fafafa;border:1.5px dashed #e5e7eb;border-radius:8px;box-sizing:border-box;max-width:100%;padding:32px 16px;text-align:center;width:100%}.empty-state-section,.empty-state-section-content{align-items:center;display:flex;flex-direction:column}.empty-state-section-content{gap:16px}.empty-state-section-text{color:#6b7280;font-size:.9rem;margin:0}.empty-state-section-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.empty-state-section-actions .btn-outline{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:8px 16px;transition:background-color .2s ease,border-color .2s ease}.empty-state-section-actions .btn-outline:hover{background:#f9fafb;border-color:#9ca3af}.empty-state-section-actions .btn-ai{background:#6c63ff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:background-color .2s ease,transform .1s ease}.empty-state-section-actions .btn-ai:hover{background:#5a52d5}.empty-state-section-actions .btn-ai:active{transform:translateY(0)}@media (max-width:480px){.empty-state-section{padding:24px 12px}.empty-state-section-actions{flex-direction:column;max-width:200px;width:100%}.empty-state-section-actions .btn-ai,.empty-state-section-actions .btn-outline{width:100%}}.course-toolbar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#f2efe9f7;border-bottom:1px solid var(--ink-4);gap:1rem;gap:var(--space-4,1rem);height:52px;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4,1rem);padding:0 1.5rem;padding:0 var(--space-6,1.5rem);position:-webkit-sticky;position:sticky;top:var(--shell-offset);z-index:80}.course-toolbar,.ctb-left{align-items:center;display:flex}.ctb-left{flex:1 1;gap:.75rem;gap:var(--space-3,.75rem);min-width:0}.ctb-back-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:4px 8px;transition:background-color var(--transition-base),color var(--transition-base)}.ctb-back-btn:hover{background:var(--paper-2);color:var(--ink)}.ctb-back-btn:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.ctb-title-group{align-items:center;display:flex;gap:.5rem;gap:var(--space-2,.5rem);min-width:0}.ctb-title{color:var(--ink);font-size:.9375rem;font-size:var(--text-sm,.9375rem);max-width:340px;overflow:hidden;text-overflow:ellipsis}.ctb-status-pill,.ctb-title{font-weight:600;white-space:nowrap}.ctb-status-pill{border-radius:10px;flex-shrink:0;font-size:.75rem;font-size:var(--text-xs,.75rem);padding:2px 8px}.ctb-status-default{background:var(--paper-2);color:var(--ink-2)}.ctb-status-processing{background:var(--accent-bg);color:var(--accent)}.ctb-status-warning{background:var(--warning-bg);color:var(--warning)}.ctb-status-success{background:var(--success-bg);color:var(--success)}.ctb-status-error{background:var(--error-bg);color:var(--error)}.ctb-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem;gap:var(--space-2,.5rem)}.ctb-primary-btn{border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-size:var(--text-sm,.9375rem);font-weight:600;height:34px;padding:0 1.25rem;padding:0 var(--space-5,1.25rem);transition:background-color var(--transition-base);white-space:nowrap}.ctb-primary-btn:disabled{cursor:not-allowed;opacity:.55}.ctb-primary-btn-filled{background:var(--ink);border:1px solid var(--ink);color:var(--paper)}.ctb-primary-btn-filled:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.ctb-primary-btn-outline{background:var(--paper);border:1px solid var(--ink-3);color:var(--ink)}.ctb-primary-btn-outline:hover:not(:disabled){background:var(--paper-2)}.ctb-overflow-wrapper{position:relative}.ctb-overflow-btn{align-items:center;background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);color:var(--ink-2);cursor:pointer;display:flex;font-size:1.25rem;height:34px;justify-content:center;letter-spacing:.1em;line-height:1;transition:background-color var(--transition-base),color var(--transition-base);width:44px}.ctb-overflow-btn:hover{background:var(--paper-2);color:var(--ink)}.ctb-overflow-btn:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.ctb-overflow-menu{animation:ctb-menu-in .12s ease;background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001a;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:200}@keyframes ctb-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ctb-menu-group{padding:4px 0}.ctb-menu-divider{background:var(--ink-4);height:1px;margin:2px 0}.ctb-menu-item{align-items:center;background:none;border:none;color:var(--ink);cursor:pointer;display:flex;font-size:.9375rem;font-size:var(--text-sm,.9375rem);font-weight:400;gap:10px;padding:8px 14px;text-align:left;transition:background-color var(--transition-base);width:100%}.ctb-menu-item:hover:not(:disabled){background:var(--paper-2)}.ctb-menu-item:disabled{cursor:not-allowed;opacity:.5}.ctb-menu-item-danger{color:var(--error)}.ctb-menu-item-danger:hover:not(:disabled){background:var(--error-bg)}.ctb-menu-icon{flex-shrink:0;font-size:.9rem;text-align:center;width:16px}.ctb-menu-item-scorm{padding:4px 14px}@media (max-width:768px){.course-toolbar{height:48px;padding:0 1rem;padding:0 var(--space-4,1rem)}.ctb-title{max-width:140px}.ctb-status-pill{display:none}}@media (max-width:480px){.ctb-primary-btn{font-size:.75rem;font-size:var(--text-xs,.75rem);padding:0 .75rem;padding:0 var(--space-3,.75rem)}}.course-detail{margin:0 auto;max-width:1200px}.error-container,.loading{padding:3rem;text-align:center}.error-container h2{color:var(--error);margin-bottom:1rem}.btn-back{background:var(--ink);border:none;border-radius:var(--radius-md);color:var(--paper);cursor:pointer;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color var(--transition-base)}.btn-back:hover{background:var(--ink-2)}.btn-back-link{background:none;border:none;color:var(--ink-2);cursor:pointer;font-size:1rem;margin-bottom:1rem;padding:.5rem 0}.btn-back-link:hover{color:var(--ink);text-decoration:underline}.course-header{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-lg);margin-bottom:var(--space-8);padding:var(--space-8)}.course-title-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.course-title-section h1{color:var(--ink);flex:1 1;font-size:2rem;margin:0}.course-badges{display:flex;gap:.5rem}.level-badge,.status-badge{border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap}.status-draft{background:var(--paper-2);color:var(--ink-2)}.status-in_progress{background:var(--accent-bg);color:var(--accent)}.status-qa_review{background:var(--warning-bg);color:var(--warning)}.status-approved{background:var(--success-bg);color:var(--success)}.status-published{background:var(--accent-bg);color:var(--accent)}.status-failed{background:var(--error-bg);color:var(--error)}.level-beginner{background:var(--success-bg);color:var(--success)}.level-intermediate{background:var(--accent-bg);color:var(--accent)}.level-advanced{background:var(--paper-2);color:var(--ink-2)}.course-description{color:var(--ink-2);font-size:1.1rem;line-height:1.6;margin:1rem 0}.progress-section{margin:1.5rem 0}.progress-bar-container{background:var(--ink-4);border-radius:var(--radius-md);height:12px;margin-bottom:.5rem;overflow:hidden}.progress-bar{background:var(--ink);height:100%;transition:width var(--transition-slow)}.progress-info{color:var(--ink-2);display:flex;font-size:.9rem;justify-content:space-between}.current-step{color:var(--ink);font-weight:600}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.btn-action{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color var(--transition-base)}.btn-action:hover{background:var(--paper-2)}.btn-qa{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-qa:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-publish{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-publish:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-delete{background:var(--paper);border-color:var(--error);color:var(--error)}.btn-delete:hover{background:var(--error-bg)}.course-tabs{-webkit-overflow-scrolling:touch;background:var(--paper);border-bottom:1px solid var(--ink-4);display:flex;gap:0;margin-bottom:var(--space-8);overflow-x:auto;position:-webkit-sticky;position:sticky;top:calc(var(--shell-offset) + var(--toolbar-height));z-index:75}.tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--ink-2);cursor:pointer;font-size:.9375rem;font-weight:500;margin-bottom:-1px;padding:var(--space-3) var(--space-6);transition:color var(--transition-base);white-space:nowrap}.tab.active,.tab:hover{color:var(--ink)}.tab.active{border-bottom-color:var(--ink);font-weight:600}.tab-content{background:var(--paper);border:1px solid var(--ink-4);border-radius:0 var(--radius-lg) var(--radius-lg) var(--radius-lg);min-height:400px;padding:var(--space-8)}.course-media-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.course-media-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.info-item label{color:var(--ink-2);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.info-item p{color:var(--ink);font-size:1.1rem}.lesson-structure{margin-top:2rem}.lesson-structure h3{color:var(--ink);margin-bottom:1rem}.components-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.component{border-radius:var(--radius-md);font-weight:600;padding:1rem;text-align:center}.component.enabled{background-color:var(--success-bg);border:2px solid var(--success);color:var(--success)}.component.disabled{background-color:var(--paper-2);border:2px dashed var(--ink-4);color:var(--ink-3)}.syllabus-section{margin-bottom:2rem}.syllabus-section h3{color:var(--ink);margin-bottom:1rem}.syllabus-section p,.syllabus-section ul{color:var(--ink-2);line-height:1.6}.syllabus-section ul{padding-left:1.5rem}.lesson-plan{display:flex;flex-direction:column;gap:1.5rem}.lesson-plan-item{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-md);padding:1.5rem}.lesson-plan-item h4{color:var(--ink);margin-bottom:.75rem}.topics-list{color:var(--ink-2);padding-left:1.5rem}.lessons-list{display:flex;flex-direction:column;gap:1.5rem}.lesson-card{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-md);padding:1.5rem}.lesson-header{margin-bottom:1rem}.lesson-header h3{color:var(--ink);margin:0}.lesson-objectives{margin:1rem 0}.lesson-objectives strong{color:var(--ink)}.lesson-objectives ul{color:var(--ink-2);margin-top:.5rem;padding-left:1.5rem}.lesson-meta{color:var(--ink-2);display:flex;font-size:.9rem;gap:1.5rem;margin-top:1rem}.qa-summary{border-radius:var(--radius-md);margin-bottom:2rem;padding:1.5rem}.qa-pass{background:var(--success-bg);border:1px solid var(--success)}.qa-warning{background:var(--warning-bg);border:1px solid var(--warning)}.qa-fail{background:var(--error-bg);border:1px solid var(--error)}.qa-summary h3{margin-bottom:1rem}.qa-stats{display:flex;font-size:1.1rem;font-weight:600;gap:2rem}.qa-issues{margin-top:2rem}.qa-issues h3{color:var(--ink);margin-bottom:1rem}.qa-issue{border-left:4px solid;border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.issue-error{background-color:var(--error-bg);border-color:var(--error)}.issue-warning{background-color:var(--warning-bg);border-color:var(--warning)}.issue-info{background-color:var(--accent-bg);border-color:var(--accent)}.issue-severity{display:inline-block;font-size:.85rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase}.issue-message{color:var(--ink);margin:.5rem 0}.issue-location{font-size:.9rem}.issue-location,.issue-suggestion{color:var(--ink-2);font-style:italic}.issue-suggestion{margin-top:.5rem}.empty-message{color:var(--ink-3);font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.course-media-header,.course-title-section{flex-direction:column}.course-media-actions{width:100%}.course-badges{margin-top:1rem}.action-buttons{flex-direction:column}.btn-action{width:100%}.course-tabs{overflow-x:auto}.tab{white-space:nowrap}.components-grid,.info-grid{grid-template-columns:1fr}.qa-stats{flex-direction:column;gap:.5rem}}.clickable{cursor:pointer;transition:background-color var(--transition-base)}.clickable:hover{background:var(--paper-2)}.status-banner{align-items:center;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem 1.5rem}.status-banner-error{background:var(--error-bg);border:1px solid var(--error);color:var(--error)}.status-banner-warning{background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning)}.status-banner-content{align-items:center;display:flex;gap:.75rem}.status-banner-icon{font-size:1.25rem}.status-banner-message{font-size:1rem;font-weight:600}.status-banner-actions{display:flex;gap:.75rem}.btn-banner{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all var(--transition-base)}.btn-retry{background:var(--paper);border:1px solid var(--error);color:var(--error)}.btn-retry:hover:not(:disabled){background:var(--error-bg)}.btn-regenerate{background:var(--paper);border:1px solid var(--warning);color:var(--warning)}.btn-regenerate:hover:not(:disabled){background:var(--warning-bg)}.btn-banner:disabled{cursor:not-allowed;opacity:.6}.btn-preview{background:var(--paper);border:1px solid var(--ink-4);color:var(--ink)}.btn-preview:hover{background:var(--paper-2)}.btn-legacy-import{background:var(--paper);border:1px solid var(--ink-4);color:var(--ink)}.btn-legacy-import:hover{background:var(--paper-2)}.btn-learning-outcomes{background:var(--paper);border:1px solid var(--ink-4);color:var(--ink)}.btn-learning-outcomes:hover{background:var(--paper-2)}.lo-overlay{background:#0000004d;inset:0;position:fixed;z-index:999}.lo-drawer{background:var(--paper);border-left:1px solid var(--ink-4);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:480px;z-index:1000}.lo-drawer.open{transform:translateX(0)}.lo-drawer-inner{display:flex;flex-direction:column;height:100%}.lo-drawer-header{align-items:center;border-bottom:1px solid var(--ink-4);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.lo-drawer-title{color:var(--ink);font-size:1.1rem;font-weight:700;margin:0}.lo-drawer-close{background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;font-size:1.1rem;padding:.25rem;transition:background-color var(--transition-base)}.lo-drawer-close:hover{background:var(--paper-2)}.lo-drawer-body{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.25rem 1.5rem}.lo-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.85rem}.lo-section-title{color:var(--ink-2);font-size:.875rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.lo-empty{color:var(--ink-3);font-size:.85rem;padding:.5rem 0}.lo-clo-list{display:flex;flex-direction:column;gap:.5rem}.lo-clo-item{background:var(--paper-2);border-left:3px solid var(--bloom-color,var(--ink-4));border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 12px}.lo-clo-top{align-items:center;display:flex;gap:.5rem;margin-bottom:.3rem}.lo-clo-code{color:var(--ink);font-size:.8rem;font-weight:700}.lo-clo-desc{color:var(--ink);font-size:.85rem;line-height:1.4;margin:0 0 .2rem}.lo-clo-meta{color:var(--ink-3);font-size:.75rem}.lo-bloom-badge{border-radius:10px;font-size:.7rem;font-weight:600;padding:2px 8px}.lo-bloom-gray{background:var(--paper-2);color:var(--ink-2)}.lo-bloom-blue{background:var(--accent-bg);color:var(--accent)}.lo-bloom-green{background:var(--success-bg);color:var(--success)}.lo-bloom-orange{background:var(--warning-bg);color:var(--warning)}.lo-bloom-red{background:var(--error-bg);color:var(--error)}.lo-bloom-purple{background:var(--paper-2);color:var(--ink-2)}:root{--lo-bloom-remember:#9ca3af;--lo-bloom-understand:#3b82f6;--lo-bloom-apply:#22c55e;--lo-bloom-analyze:#f97316;--lo-bloom-evaluate:#ef4444;--lo-bloom-create:#a855f7}.lo-btn-add{background:#0000;border:1px solid var(--ink-4);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-size:.8rem;font-weight:600;padding:.25rem .65rem;transition:background-color var(--transition-base)}.lo-add-form,.lo-btn-add:hover{background:var(--paper-2)}.lo-add-form{border:1px dashed var(--ink-4);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.45rem;padding:.75rem}.lo-add-row{display:flex;gap:.5rem}.lo-input{background:var(--paper);border:1px solid var(--ink-4);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--ink);font-size:.85rem;padding:.4rem .6rem;width:100%}.lo-input:focus{border-color:var(--ink-2);outline:none}.lo-input-code{flex-shrink:0;width:100px}.lo-input-desc{min-height:60px;resize:vertical}.lo-form-error{color:var(--error);font-size:.775rem}.lo-add-actions{display:flex;gap:.4rem}.lo-btn-save{background:var(--ink);border:none;border-radius:var(--radius-sm);color:var(--paper);cursor:pointer;font-size:.825rem;font-weight:600;padding:.4rem .85rem;transition:background-color var(--transition-base)}.lo-btn-save:hover{background:var(--ink-2)}.lo-btn-save:disabled{cursor:not-allowed;opacity:.65}.lo-btn-cancel{background:#0000;border:1px solid var(--ink-4);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-size:.825rem;padding:.4rem .75rem;transition:background-color var(--transition-base)}.lo-btn-cancel:hover{background:var(--paper-2)}.lo-prog-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.lo-prog-item{display:block}.lo-prog-link{align-items:center;background:var(--paper-2);border:1px solid var(--ink-4);border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:space-between;padding:.55rem .85rem;text-align:left;transition:background-color var(--transition-base);width:100%}.lo-prog-link:hover{background:var(--paper);border-color:var(--ink-3)}.lo-prog-name{color:var(--ink);flex:1 1;font-weight:600}.lo-prog-type{color:var(--ink-3);font-size:.75rem;text-transform:capitalize;white-space:nowrap}.btn-academic-info{background:var(--paper);border:1px solid var(--ink-4);color:var(--ink)}.btn-academic-info:hover{background:var(--paper-2)}.acad-info-section-title{color:var(--ink);font-size:.9rem;font-weight:600;margin:16px 0 8px}.acad-dept-badge{border-radius:10px;font-size:.75rem;font-weight:500;margin-left:.4rem;padding:2px 8px}.acad-dept-primary{background:var(--accent-bg);color:var(--accent)}.acad-dept-cross{background:var(--success-bg);color:var(--success)}.acad-dept-service{background:var(--paper-2);color:var(--ink-2)}.acad-dept-contributing{background:var(--warning-bg);color:var(--warning)}.acad-dept-picker{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.acad-section-item{align-items:center;border-bottom:1px solid var(--ink-4);display:flex;font-size:.85rem;gap:.5rem;padding:.45rem .75rem}.acad-section-code{color:var(--ink);flex:1 1;font-weight:600}.acad-section-enrollment{color:var(--ink-3);font-size:.8rem;white-space:nowrap}.acad-status-badge{border-radius:10px;font-size:.72rem;font-weight:600;padding:2px 8px;text-transform:capitalize}.acad-status-planned{background:var(--paper-2);color:var(--ink-2)}.acad-status-open{background:var(--success-bg);color:var(--success)}.acad-status-closed{background:var(--error-bg);color:var(--error)}.acad-status-cancelled{background:var(--paper-2);color:var(--ink-3)}.acad-status-completed{background:var(--accent-bg);color:var(--accent)}.ctb-content-type-badge{background:#f0f0f0;background:var(--paper-3,#f0f0f0);border-radius:12px;color:var(--ink-2);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px;vertical-align:middle}.kg-status-banner{align-items:center;background:color-mix(in srgb,#4f46e5 8%,#fff);background:color-mix(in srgb,var(--accent,#4f46e5) 8%,var(--paper-1,#fff));border:1px solid color-mix(in srgb,#4f46e5 25%,#0000);border:1px solid color-mix(in srgb,var(--accent,#4f46e5) 25%,#0000);border-radius:8px;color:var(--ink-1);display:flex;font-size:.875rem;gap:10px;margin-bottom:16px;padding:10px 16px}.kg-status-banner--building{background:#f9fafb;background:var(--paper-2,#f9fafb);border-color:#e2e8f0;border-color:var(--ink-4,#e2e8f0);color:var(--ink-3)}.kg-status-icon{flex-shrink:0;font-size:1.1rem}.kg-status-text{flex:1 1}.kg-status-cta{background:none;border:1px solid #4f46e5;border:1px solid var(--accent,#4f46e5);border-radius:6px;color:#4f46e5;color:var(--accent,#4f46e5);cursor:pointer;font-size:.8rem;font-weight:600;padding:4px 12px;white-space:nowrap}.kg-status-cta:hover{background:color-mix(in srgb,#4f46e5 8%,#0000);background:color-mix(in srgb,var(--accent,#4f46e5) 8%,#0000)}.kg-viewer-modal{background:#fff;background:var(--paper-1,#fff);border-left:1px solid #e2e8f0;border-left:1px solid var(--ink-4,#e2e8f0);bottom:0;display:flex;flex-direction:column;position:fixed;right:0;top:48px;width:min(640px,100vw);z-index:1200}.kg-viewer-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--ink-4,#e2e8f0);display:flex;justify-content:space-between;padding:16px 20px}.kg-viewer-modal-header h2{color:var(--ink-1);font-size:1rem;font-weight:700;margin:0}.kg-viewer-modal-body{flex:1 1;overflow:auto;padding:16px}.student-course-player{background-color:#f8f9fa;margin:0 auto;max-width:100%;min-height:100vh;padding:1rem}.player-container{box-shadow:none}.sidebar{width:300px}.embedded-media{box-shadow:none}.lab-preview,.quiz-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:2rem 0;padding:1.5rem}.lab-preview h3,.quiz-preview h3{color:#333;margin-top:0}.quiz-meta{color:#666;display:flex;font-size:.9rem;gap:1rem;margin:.5rem 0 1rem}.quiz-preview-content{margin-top:1rem}@media (max-width:768px){.player-container{flex-direction:column}.sidebar{width:100%}.main-content,.sidebar{height:auto}.lesson-header{align-items:flex-start;flex-direction:column;gap:1rem}.lesson-navigation{justify-content:space-between;width:100%}}.xapi-drawer-btn{margin-left:auto}.xapi-drawer-overlay{background:#0006;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.xapi-drawer{background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;height:100%;max-width:95vw;overflow:hidden;width:400px}.xapi-drawer-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;padding:20px 20px 16px}.xapi-drawer-header h2{flex:1 1;font-size:1rem;font-weight:700;margin:0}.xapi-drawer-meta{color:#6b7280;font-size:.7rem;width:100%}.xapi-drawer-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.1rem;padding:2px 6px}.xapi-drawer-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 20px}.xapi-empty,.xapi-loading{color:#6b7280;font-size:.875rem;padding:24px 0;text-align:center}.xapi-stmt{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px}.xapi-stmt-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.xapi-verb{background:#3b82f6;border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px;text-transform:capitalize}.xapi-verb--completed{background:#16a34a}.xapi-verb--answered{background:#d97706}.xapi-verb--failed{background:#dc2626}.xapi-verb--passed{background:#16a34a}.xapi-obj{color:#374151;flex:1 1;font-size:.8125rem}.xapi-score{color:#16a34a;font-size:.8125rem;font-weight:700}.xapi-stmt-time{color:#9ca3af;font-size:.7rem;margin-top:4px}.xapi-drawer-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:10px;padding:12px 20px}.xapi-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#1d4ed8;font-size:.7rem;font-weight:700;padding:3px 8px;white-space:nowrap}.xapi-hint{color:#9ca3af;font-size:.7rem}.personalized-course-player{background-color:#f8f9fa;margin:0 auto;max-width:100%;min-height:100vh;padding:1rem}.player-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;margin-bottom:2rem;padding-bottom:1rem}.player-header h1{color:#333;flex:1 1;font-size:1.5rem;margin:0;text-align:center}.header-spacer{width:120px}.player-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:2rem;overflow:hidden}.sidebar{background-color:#f8f9fa;border-right:1px solid #dee2e6;height:calc(100vh - 200px);overflow-y:auto;padding:1.5rem;width:320px}.sidebar h2{color:#333;font-size:1.3rem;margin-bottom:1rem;margin-top:0}.sidebar h3{color:#555;font-size:1rem;margin-bottom:.75rem}.mastery-overview{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.mastery-bar-container{margin-bottom:.75rem}.mastery-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.mlo-description{color:#374151;flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mastery-badge{border-radius:12px;font-size:.7rem;font-weight:600;padding:2px 8px}.mastery-badge.mastered{background-color:#10b981;color:#fff}.mastery-bar{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.mastery-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .3s ease}.mastery-fill.mastered{background:linear-gradient(90deg,#10b981,#34d399)}.mastery-percentage{color:#6b7280;font-size:.75rem;margin-left:.5rem}.lesson-list{display:flex;flex-direction:column;gap:.75rem}.lesson-item{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.lesson-item:hover{border-color:#667eea;box-shadow:0 2px 4px #667eea1a}.lesson-item.active{background-color:#eef2ff;border-color:#667eea}.lesson-number{color:#667eea;font-size:.9rem;font-weight:700}.lesson-title{color:#333;font-weight:600;margin:.25rem 0}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.quiz-badge{background-color:#0dcaf0;color:#fff}.lab-badge{background-color:#667eea;color:#fff}.main-content{height:calc(100vh - 200px);overflow-y:auto;padding:2rem}.lesson-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.lesson-header h2{color:#333;font-size:1.8rem;margin:0}.lesson-navigation{display:flex;gap:1rem}.recommendation-panel{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.recommendation-panel h3{align-items:center;color:#92400e;display:flex;font-size:1rem;gap:.5rem;margin:0 0 1rem}.recommendation-item{background:#fff;border:1px solid #fcd34d;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:.75rem}.recommendation-item:last-child{margin-bottom:0}.recommendation-item.remediation{border-left:4px solid #ef4444}.recommendation-item.advanced{border-left:4px solid #10b981}.recommendation-item.review{border-left:4px solid #3b82f6}.recommendation-icon{align-items:center;display:flex;font-size:1.5rem}.recommendation-content{flex:1 1}.recommendation-message{color:#374151;font-size:.9rem;margin:0 0 .5rem}.recommendation-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.875rem;font-weight:600;padding:0;text-decoration:underline}.recommendation-link:hover{color:#4f46e5}.remediation-panel{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #ef4444;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.remediation-panel h3{color:#991b1b;font-size:1rem;margin:0 0 1rem}.remediation-group{margin-bottom:1rem}.remediation-group:last-child{margin-bottom:0}.remediation-message{color:#7f1d1d;font-size:.9rem;margin:0 0 .75rem}.remediation-assets{display:flex;flex-direction:column;gap:.5rem}.remediation-asset{align-items:center;background:#fff;border:1px solid #fca5a5;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.asset-title{color:#374151;font-weight:500}.btn-sm{font-size:.8rem;padding:.25rem .75rem}.lesson-content-wrapper{color:#333;line-height:1.6}.lesson-content{margin-bottom:2rem}.lesson-content h1,.lesson-content h2,.lesson-content h3{color:#333;margin-bottom:1rem;margin-top:1.5rem}.lesson-content p{margin-bottom:1rem}.lesson-content ol,.lesson-content ul{margin-bottom:1rem;padding-left:2rem}.lesson-content li{margin-bottom:.5rem}.lesson-content code{background-color:#f1f3f5;border-radius:4px;font-family:monospace;padding:.2rem .4rem}.lesson-content a{color:#667eea;text-decoration:none}.lesson-content a:hover{text-decoration:underline}.embedded-media{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:auto;margin:1rem 0;max-width:100%}.embedded-diagram{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:1rem 0;padding:1rem}.embedded-diagram pre{background-color:#fff;border-radius:4px;font-family:monospace;overflow-x:auto;padding:1rem;white-space:pre-wrap}.embedded-slides{margin:1rem 0;padding:1rem;text-align:center}.embedded-slides,.quiz-active,.quiz-start{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.quiz-active,.quiz-start{margin:2rem 0;padding:1.5rem}.quiz-active h3,.quiz-start h3{color:#333;margin-top:0}.quiz-question{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.question-text{color:#374151;margin:0 0 1rem}.question-options{display:flex;flex-direction:column;gap:.5rem}.quiz-option{align-items:center;background:#f9fafb;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.quiz-option:hover{background:#eef2ff}.quiz-option input[type=radio]{margin:0}.quiz-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.lab-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:2rem 0;padding:1.5rem}.lab-preview h3{color:#333;margin-top:0}.btn{border-radius:6px;padding:.5rem 1rem;transition:all .2s}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background-color:#4f46e5}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn:hover:not(:disabled){opacity:.9}.personalized-assets{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;margin-bottom:1rem;padding:1rem}.personalized-assets h4{color:#4338ca;font-size:.9rem;margin:0 0 .5rem}.error,.loading,.no-content{padding:3rem;text-align:center}.loading{color:#667eea}.error h2,.no-content h2{color:#dc3545;margin-bottom:1rem}.highlight{animation:highlight-pulse 2s ease-out}@keyframes highlight-pulse{0%{background-color:#fef3c7;box-shadow:0 0 0 4px #fbbf2466}to{background-color:initial;box-shadow:none}}@media (max-width:768px){.player-container{flex-direction:column}.sidebar{width:100%}.main-content,.sidebar{height:auto}.lesson-header{align-items:flex-start;flex-direction:column;gap:1rem}.lesson-navigation{justify-content:space-between;width:100%}.recommendation-item,.remediation-asset{flex-direction:column;gap:.5rem}.remediation-asset{align-items:flex-start}}.breadcrumbs{margin-bottom:1.5rem;padding:.75rem 0}.breadcrumbs-list{flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumbs-item,.breadcrumbs-list{align-items:center;display:flex;gap:.5rem}.breadcrumbs-link{align-items:center;border-radius:4px;color:#6b7280;display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;line-height:1.4;padding:.25rem .5rem;text-decoration:none;transition:all .2s}.breadcrumbs-link:hover{background:#eff6ff;color:#2563eb}.breadcrumbs-link:focus{outline:2px solid #2563eb;outline-offset:2px}.breadcrumbs-link:focus:not(:focus-visible){outline:none}.breadcrumbs-icon{font-size:1rem;line-height:1}.breadcrumbs-separator{color:#d1d5db;font-size:.875rem;font-weight:400;-webkit-user-select:none;user-select:none}.breadcrumbs-current{align-items:center;color:#111827;display:inline-flex;font-size:.875rem;font-weight:600;gap:.375rem;line-height:1.4;padding:.25rem .5rem}.breadcrumbs-collapsed{color:#9ca3af;cursor:default;font-size:.875rem;font-weight:500;padding:.25rem .5rem;-webkit-user-select:none;user-select:none}@media (max-width:640px){.breadcrumbs{margin-bottom:1rem;padding:.5rem 0}.breadcrumbs-list{gap:.25rem}.breadcrumbs-collapsed,.breadcrumbs-current,.breadcrumbs-link{font-size:.8125rem;padding:.125rem .375rem}.breadcrumbs-icon{font-size:.875rem}.breadcrumbs-separator{font-size:.75rem}@media (max-width:480px){.breadcrumbs-icon{display:none}}}@media (min-width:641px) and (max-width:1024px){.breadcrumbs-collapsed,.breadcrumbs-current,.breadcrumbs-link{font-size:.8125rem}}@media (prefers-contrast:high){.breadcrumbs-link{text-decoration:underline}.breadcrumbs-separator{font-weight:700}}@media (prefers-reduced-motion:reduce){.breadcrumbs-link{transition:none}}@media print{.breadcrumbs{display:none}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;position:relative;width:100%}.confirm-dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.confirm-dialog-title{color:#111827;font-size:1.25rem;font-weight:700;line-height:1.4;margin:0}.confirm-dialog-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:.25rem;transition:all .2s;width:32px}.confirm-dialog-close:hover:not(:disabled){background:#f3f4f6;color:#111827}.confirm-dialog-close:disabled{cursor:not-allowed;opacity:.5}.confirm-dialog-content{padding:1.5rem}.confirm-dialog-message{color:#374151;font-size:1rem;line-height:1.6;margin:0}.confirm-dialog-custom{margin-top:1rem}.confirm-dialog-actions{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.confirm-dialog-actions .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s;white-space:nowrap}.confirm-dialog-actions .btn:disabled{cursor:not-allowed;opacity:.6}.confirm-dialog-actions .btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.confirm-dialog-actions .btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.confirm-dialog-actions .btn-confirm{color:#fff}.confirm-dialog-default .btn-confirm-default{background:#2563eb}.confirm-dialog-default .btn-confirm-default:hover:not(:disabled){background:#1e40af}.confirm-dialog-danger .confirm-dialog-title{color:#dc2626}.confirm-dialog-danger .btn-confirm-danger{background:#dc2626}.confirm-dialog-danger .btn-confirm-danger:hover:not(:disabled){background:#b91c1c}.confirm-dialog-warning .confirm-dialog-title{color:#d97706}.confirm-dialog-warning .btn-confirm-warning{background:#d97706}.confirm-dialog-warning .btn-confirm-warning:hover:not(:disabled){background:#b45309}.spinner-small{border-top-color:#fff}.confirm-dialog-actions .btn:focus{outline:2px solid #2563eb;outline-offset:2px}.confirm-dialog-actions .btn:focus:not(:focus-visible){outline:none}.confirm-dialog-close:focus{outline:2px solid #2563eb;outline-offset:2px}.confirm-dialog-close:focus:not(:focus-visible){outline:none}@media (max-width:640px){.confirm-dialog{margin:0 1rem;max-width:none;width:100%}.confirm-dialog-header{padding:1.25rem 1.25rem .75rem}.confirm-dialog-title{font-size:1.125rem}.confirm-dialog-content{padding:1.25rem}.confirm-dialog-message{font-size:.9375rem}.confirm-dialog-actions{flex-direction:column-reverse;padding:.75rem 1.25rem 1.25rem}.confirm-dialog-actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.confirm-dialog,.confirm-dialog-overlay{animation:none}.confirm-dialog-actions .btn{transition:none}.spinner-small{animation:none;border-color:#ffffff80}}.profile-page{margin:0 auto;max-width:1200px;padding:2rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-container p{color:var(--ink-2);font-size:1rem}.profile-header{background:var(--paper);border:1px solid var(--ink-4);border-radius:12px;box-shadow:none;margin-bottom:2rem;padding:2rem}.profile-header-content{align-items:center;display:flex;gap:2rem}.profile-avatar-large{align-items:center;background:var(--ink);border-radius:50%;color:var(--paper);display:flex;flex-shrink:0;font-size:2.5rem;font-weight:700;height:100px;justify-content:center;width:100px}.profile-header-info h1{color:var(--ink);font-size:2rem;font-weight:700;margin-bottom:.5rem}.profile-email{color:var(--ink-2);font-size:1rem;margin-bottom:.5rem}.profile-role{margin-top:.5rem}.role-badge{background:var(--accent-bg);border-radius:6px;color:var(--accent);display:inline-block;font-size:.875rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize}.profile-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:250px 1fr}.profile-tabs{background:var(--paper);border:1px solid var(--ink-4);border-radius:12px;box-shadow:none;height:-webkit-fit-content;height:fit-content;padding:1rem;position:-webkit-sticky;position:sticky;top:80px}.tab-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--ink-2);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:background var(--transition-base);width:100%}.tab-button:hover{background:var(--paper-2);color:var(--ink)}.tab-button.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.tab-icon{font-size:1.125rem}.tab-label{flex:1 1}.profile-tab-content{background:var(--paper);border:1px solid var(--ink-4);border-radius:12px;box-shadow:none;padding:2rem}.tab-title{color:var(--ink);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.tab-description{color:var(--ink-2);font-size:1rem;margin-bottom:2rem}.form-section{border-bottom:1px solid var(--ink-4);margin-bottom:2.5rem;padding-bottom:2.5rem}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{color:var(--ink);font-size:1.25rem;font-weight:600;margin-bottom:1.25rem}.section-description{color:var(--ink-2);font-size:.9375rem;line-height:1.5;margin-bottom:1rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.form-group,.form-row{margin-bottom:1.25rem}.form-label{color:var(--ink);display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{background:var(--paper);border:1px solid var(--ink-4);border-radius:8px;color:var(--ink);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:border-color var(--transition-base);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:none;outline:2px solid var(--accent);outline-offset:2px}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--paper-2);cursor:not-allowed;opacity:.6}.form-input.disabled{background:var(--paper-2);color:var(--ink-3)}.form-textarea{min-height:100px;resize:vertical}.form-help{color:var(--ink-2);font-size:.8125rem;margin-top:.375rem}.form-actions{border-top:1px solid var(--ink-4);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.profile-image-section{align-items:flex-start;display:flex;gap:2rem}.profile-image-preview{flex-shrink:0}.profile-image{object-fit:cover}.profile-avatar-placeholder,.profile-image{border:4px solid var(--ink-4);border-radius:50%;height:120px;width:120px}.profile-avatar-placeholder{align-items:center;background:var(--ink);color:var(--paper);display:flex;font-size:3rem;font-weight:700;justify-content:center}.profile-image-actions{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.btn-text{background:none;border:none;color:var(--error);cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:opacity var(--transition-base)}.btn-text:hover{text-decoration:underline}.security-section{border-bottom:1px solid var(--ink-4);margin-bottom:2.5rem;padding-bottom:2.5rem}.security-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{color:var(--ink);font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.section-status{flex-shrink:0}.status-badge{border-radius:6px;display:inline-block;font-size:.875rem;font-weight:600;padding:.375rem .875rem}.status-badge.status-success{background:var(--success-bg);color:var(--success)}.status-badge.status-warning{background:var(--warning-bg);color:var(--warning)}.password-form{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:8px;margin-top:1rem;padding:1.5rem}.password-input-wrapper{position:relative}.password-toggle{background:none;border:none;cursor:pointer;font-size:1.25rem;opacity:.6;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:opacity var(--transition-base)}.password-toggle:hover{opacity:1}.password-strength{align-items:center;display:flex;gap:.75rem;margin-top:.5rem}.strength-bar{background:var(--ink-4);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.strength-fill{border-radius:2px;height:100%;transition:width .3s,background-color .3s}.password-weak .strength-fill{background:var(--error);width:33%}.password-medium .strength-fill{background:var(--warning);width:66%}.password-strong .strength-fill{background:var(--success);width:100%}.strength-text{font-size:.8125rem;font-weight:600;text-transform:uppercase}.password-weak .strength-text{color:var(--error)}.password-medium .strength-text{color:var(--warning)}.password-strong .strength-text{color:var(--success)}.mfa-disabled,.mfa-enabled{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:8px;padding:1.5rem}.mfa-disabled p,.mfa-enabled p{color:var(--ink-2);line-height:1.6;margin-bottom:1rem}.mfa-actions{display:flex;flex-wrap:wrap;gap:.75rem}.backup-codes-modal,.mfa-setup-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.backup-codes-modal .modal-content,.mfa-setup-modal .modal-content{background:var(--paper);border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:100%}.backup-codes-modal h3,.mfa-setup-modal h3{color:var(--ink);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.mfa-setup-steps{margin:1.5rem 0}.mfa-step{display:flex;gap:1.5rem;margin-bottom:2rem}.mfa-step:last-child{margin-bottom:0}.step-number{align-items:center;background:var(--accent-bg);border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-size:1.125rem;font-weight:700;height:40px;justify-content:center;width:40px}.step-content h4{color:var(--ink);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.step-content p{color:var(--ink-2);line-height:1.6;margin-bottom:1rem}.qr-code-container{background:var(--paper);border:2px solid var(--ink-4);border-radius:8px;display:inline-block;margin:1rem 0;padding:1rem}.qr-code{display:block;height:200px;width:200px}.mfa-secret{color:var(--ink-2);font-size:.875rem}.mfa-secret code{background:var(--paper-2);border-radius:4px;color:var(--ink);font-family:monospace;font-size:.9375rem;padding:.25rem .5rem}.mfa-code-input{font-family:monospace;font-size:1.5rem;letter-spacing:.5em;max-width:300px;text-align:center}.modal-actions{border-top:1px solid var(--ink-4);display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.backup-codes-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin:1.5rem 0}.backup-code{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:6px;color:var(--ink);font-family:monospace;font-size:1rem;padding:.75rem 1rem;text-align:center}.loading-sessions{align-items:center;display:flex;gap:1rem;justify-content:center;padding:2rem}.spinner-medium{animation:spin .8s linear infinite;border:3px solid var(--ink-4);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.no-data{color:var(--ink-3);font-size:.9375rem;padding:2rem;text-align:center}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-card{align-items:center;background:var(--paper-2);border:1px solid var(--ink-4);border-radius:8px;display:flex;gap:1.5rem;padding:1.25rem;transition:background var(--transition-base)}.session-card:hover{background:var(--paper-3)}.session-icon{flex-shrink:0;font-size:2rem}.session-details{flex:1 1}.session-device{align-items:center;color:var(--ink);display:flex;font-weight:600;gap:.75rem;margin-bottom:.25rem}.current-badge{background:var(--success-bg);border-radius:4px;color:var(--success);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .625rem}.session-location,.session-time{color:var(--ink-2);font-size:.875rem}.btn-small{font-size:.875rem;padding:.5rem 1rem}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-label{align-items:center;background:var(--paper);border:2px solid var(--ink-4);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:background var(--transition-base),border-color var(--transition-base)}.radio-label:hover{background:var(--accent-bg);border-color:var(--accent)}.radio-label input[type=radio]{cursor:pointer}.radio-label input[type=radio]:checked+span{color:var(--accent)}.radio-label:has(input:checked){background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.checkbox-group{display:flex;flex-direction:column;gap:.875rem}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:background var(--transition-base)}.checkbox-label:hover{background:var(--paper-2)}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label span{color:var(--ink);font-size:.9375rem}.preference-note{background:var(--accent-bg);border-radius:6px;color:var(--ink-2);font-size:.875rem;margin-top:1rem;padding:.875rem}.preference-note a{color:var(--accent);font-weight:600;text-decoration:none}.preference-note a:hover{text-decoration:underline}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{color:var(--ink-2);font-size:.875rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.info-value{color:var(--ink);font-size:1rem}.data-actions{grid-gap:1.5rem;display:grid;gap:1.5rem}.action-card{background:var(--paper-2);border:1px solid var(--ink-4);border-radius:12px;display:flex;gap:1.5rem;padding:1.5rem;transition:background var(--transition-base)}.action-card:hover{background:var(--paper-3)}.action-icon{flex-shrink:0;font-size:2.5rem}.action-content{flex:1 1}.action-content h4{color:var(--ink);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.action-content p{color:var(--ink-2);line-height:1.6;margin-bottom:1rem}.export-status{align-items:center;color:var(--accent);display:flex;font-size:.9375rem;gap:.5rem;margin-top:.75rem}.danger-zone{background:var(--error-bg);border:2px solid var(--error-bg)!important;border-radius:12px;padding:1.5rem}.danger-text,.danger-zone h3{color:var(--error)}.danger-card{background:var(--paper);border:1px solid var(--error-bg);border-radius:8px;margin-top:1rem;padding:1.5rem}.danger-card h4{color:var(--error);font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.danger-card p{color:var(--ink-2);line-height:1.6;margin-bottom:1rem}.danger-list{list-style:none;margin:1rem 0;padding:0}.danger-list li{color:var(--error);font-size:.9375rem;padding:.5rem 0}.delete-account-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.modal-overlay{background:#00000080;bottom:0;left:0;position:absolute;right:0;top:0}.modal-content{animation:slideUp .3s ease-out;background:var(--paper);border-radius:12px;box-shadow:var(--shadow-modal);max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--ink-2);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:.25rem;position:absolute;right:1rem;top:1rem;transition:background var(--transition-base);width:32px}.modal-close:hover{background:var(--paper-2);color:var(--ink)}.modal-header{border-bottom:1px solid var(--ink-4);padding:1.5rem;text-align:center}.modal-icon{font-size:3rem;margin-bottom:.75rem}.modal-icon.danger{color:var(--error)}.modal-header h2{color:var(--ink);font-size:1.5rem;font-weight:700}.modal-body{padding:1.5rem}.warning-box{background:var(--error-bg);border:1px solid var(--error-bg);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.warning-box p{color:var(--error);line-height:1.6;margin-bottom:.75rem}.warning-box strong{font-weight:700}.warning-box ul{color:var(--error);margin:0;padding-left:1.25rem}.warning-box li{line-height:1.5;margin-bottom:.5rem}.modal-footer{border-top:1px solid var(--ink-4);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:background var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--accent);color:var(--paper)}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-secondary{background:var(--paper);border:1px solid var(--ink-4);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-3)}.btn-destructive{background:var(--error);color:var(--paper)}.btn-destructive:hover:not(:disabled){background:var(--error);opacity:.85}.spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top:2px solid var(--paper);display:inline-block;height:14px;width:14px}.alert{align-items:center;border-radius:8px;display:flex;font-size:.9375rem;gap:.75rem;margin-bottom:1.5rem;padding:.875rem 1.25rem}.alert-icon{flex-shrink:0;font-size:1.25rem}.alert-error{background:var(--error-bg);border:1px solid var(--error-bg);color:var(--error)}.alert-success{background:var(--success-bg);border:1px solid var(--success-bg);color:var(--success)}@media (max-width:1024px){.profile-content{grid-template-columns:200px 1fr}.tab-label{font-size:.875rem}}@media (max-width:768px){.profile-page{padding:1rem}.profile-header{padding:1.5rem}.profile-header-content{flex-direction:column;gap:1.5rem;text-align:center}.profile-header-info h1{font-size:1.5rem}.profile-content{grid-template-columns:1fr}.profile-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:0 .5rem;position:static}.tab-button{flex:1 1;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:.75rem 1rem}.tab-label{display:none}.tab-icon{font-size:1.5rem}.form-row,.info-grid{grid-template-columns:1fr}.profile-image-section{align-items:center;flex-direction:column;text-align:center}.radio-group{flex-direction:column}.radio-label{justify-content:flex-start}.backup-codes-grid{grid-template-columns:1fr}}@media (max-width:640px){.profile-tab-content{padding:1.5rem 1rem}.tab-title{font-size:1.5rem}.form-section h3{font-size:1.125rem}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.session-card{align-items:flex-start;flex-direction:column;gap:1rem}.btn-small{width:100%}.mfa-actions{flex-direction:column}.mfa-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.action-card,.btn,.modal-content,.session-card,.tab-button{transition:none}.spinner-medium,.spinner-small{animation:none;border-color:var(--accent-border)}}.btn:focus,.checkbox-label:focus-within,.form-input:focus,.form-select:focus,.form-textarea:focus,.radio-label:focus-within,.tab-button:focus{outline:2px solid var(--accent);outline-offset:2px}.btn:focus:not(:focus-visible),.tab-button:focus:not(:focus-visible){outline:none}.App{background:var(--paper);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem 3rem;padding:var(--space-8,2rem) var(--space-12,3rem);width:100%}@media (max-width:1280px){.main-content{padding:1.5rem;padding:var(--space-6,1.5rem)}}@media (max-width:768px){.main-content{padding:1rem;padding:var(--space-4,1rem)}}