@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-50:#f9fafb;--color-gray-100:#f2f4f7;--color-gray-200:#e4e7ec;--color-gray-300:#d0d5dd;--color-gray-400:#98a2b3;--color-gray-500:#667085;--color-gray-600:#475467;--color-gray-700:#344054;--color-gray-900:#101828;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-sm:.25rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-outfit:Outfit, sans-serif;--color-brand-50:#ecf3ff;--color-brand-100:#dde9ff;--color-brand-500:#465fff;--color-brand-600:#3641f5;--color-success-50:#ecfdf3;--color-success-700:#027a48;--color-error-50:#fef3f2;--color-error-300:#fda29b;--color-error-600:#d92d20;--color-gray-25:#fcfcfd;--shadow-theme-xs:0px 1px 2px 0px #1018280d;--z-index-40:40;--z-index-50:50}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{border-color:var(--color-gray-200,currentColor)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}}@layer components{.admin-shell{background:radial-gradient(circle at 0 0,#465fff14,#0000 28%),linear-gradient(#fcfcfd,#f9fafb 42%,#f3f6fb)}.admin-shell__content{min-height:100vh}.admin-shell__main{padding:18px 12px 28px}.admin-shell__inner{width:min(100%,1480px);margin:0 auto}.admin-page{gap:20px;display:grid}.admin-page>h1{letter-spacing:-.02em;color:var(--color-gray-900);margin:0;font-size:1.5rem;font-weight:700}.admin-page>p{color:var(--color-gray-500);margin:0}.admin-shell .card{border-color:var(--color-gray-200);box-shadow:var(--shadow-theme-xs);border-radius:20px}.admin-shell .text-input,.admin-shell .admin-table input,.admin-shell .admin-table select,.admin-shell .admin-page select{border-color:var(--color-gray-300);border-radius:12px;min-height:42px;padding:10px 14px;font-size:14px}.admin-shell textarea.text-input{min-height:112px}.admin-shell .text-input:focus,.admin-shell .admin-table input:focus,.admin-shell .admin-table select:focus,.admin-shell .admin-page select:focus{border-color:var(--color-brand-500);box-shadow:0 0 0 4px #465fff1f}.admin-shell .btn,.admin-shell .btn-primary{border-radius:12px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.admin-shell .btn{padding:8px 14px}.admin-shell .btn-sm{border-radius:10px;padding:6px 10px}.admin-shell .btn-primary,.admin-shell .btn.btn-primary{background:var(--color-brand-500);border-color:var(--color-brand-500);box-shadow:var(--shadow-theme-xs)}.admin-shell .btn-primary:hover,.admin-shell .btn.btn-primary:hover{background:var(--color-brand-600);border-color:var(--color-brand-600)}.admin-shell .btn-primary:disabled,.admin-shell .btn.btn-primary:disabled{background:var(--color-gray-300);border-color:var(--color-gray-300)}.admin-shell .badge{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.2}.admin-shell .admin-table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-gray-200);width:100%;box-shadow:var(--shadow-theme-xs);background:#fffffffa;border-radius:18px;overflow:hidden}.admin-shell .admin-table th{background:var(--color-gray-25);border-bottom:1px solid var(--color-gray-200);padding:12px 14px}.admin-shell .admin-table td{border-bottom:1px solid var(--color-gray-100);background:#fffffff5;padding:14px}.admin-shell .admin-table tbody tr:last-child td{border-bottom:0}.admin-shell .admin-table tr:hover td{background:#f8fafc}}@layer utilities{.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-40{z-index:var(--z-index-40)}.z-50{z-index:var(--z-index-50)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1\.5px\]{height:1.5px}.h-\[72px\]{height:72px}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-\[88px\]{width:88px}.w-\[270px\]{width:270px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/80{border-color:#e4e7eccc}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/80{border-color:color-mix(in oklab,var(--color-gray-200) 80%,transparent)}}.bg-brand-50{background-color:var(--color-brand-50)}.bg-brand-500{background-color:var(--color-brand-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\/80{background-color:#f9fafbcc}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\/80{background-color:color-mix(in oklab,var(--color-gray-50) 80%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900) 50%,transparent)}}.bg-success-50{background-color:var(--color-success-50)}.bg-white{background-color:var(--color-white)}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.fill-current{fill:currentColor}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.text-left{text-align:left}.font-outfit{font-family:var(--font-outfit)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-brand-600{color:var(--color-brand-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-success-700{color:var(--color-success-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.overline{text-decoration-line:overline}.shadow-\[0_12px_40px_rgba\(16\,24\,40\,0\.08\)\]{--tw-shadow:0 12px 40px var(--tw-shadow-color,#10182814);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-theme-sm{--tw-shadow:0px 1px 3px 0px var(--tw-shadow-color,#1018281a), 0px 1px 2px 0px var(--tw-shadow-color,#1018280f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-theme-xs{--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#1018280d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-brand-100{--tw-ring-color:var(--color-brand-100)}.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,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[padding\]{transition-property:padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}@media(hover:hover){.hover\:border-error-300:hover{border-color:var(--color-error-300)}.hover\:bg-error-50:hover{background-color:var(--color-error-50)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-error-600:hover{color:var(--color-error-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}}@media(min-width:40rem){.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}}@media(min-width:48rem){.md\:flex{display:flex}}@media(min-width:64rem){.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}}@media(min-width:1024px){.admin-shell__content{padding-left:var(--admin-sidebar-offset,270px)}.admin-shell__main{padding:22px 22px 32px}}@media(min-width:1280px){.admin-shell__main{padding:28px 28px 40px}}@media(max-width:640px){.admin-shell__main{padding:14px 10px 24px}.admin-page{gap:16px}.admin-shell .card{border-radius:18px}.admin-shell .admin-table th,.admin-shell .admin-table td{padding-left:12px;padding-right:12px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}*{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1a365d;--navy-light: #2c5282;--teal: #0d9488;--teal-light: #14b8a6;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--red: #dc2626;--red-light: #fef2f2;--green: #16a34a;--green-light: #f0fdf4;--yellow: #ca8a04;--yellow-light: #fefce8;--white: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);--radius: 10px;--radius-sm: 6px}body{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gray-50);color:var(--gray-800);min-height:100vh;font-size:15px;line-height:1.6}.app-header{background:var(--white);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.header-top{padding:14px 28px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:16px}.header-logo{height:48px}.header-title-group{display:flex;flex-direction:column;gap:3px}.header-title{font-size:17px;font-weight:700;color:var(--navy);letter-spacing:-.3px}.header-student-info{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500)}.header-student-name{font-weight:600;color:var(--gray-700)}.header-sep{opacity:.4}.header-logout{background:none;border:1px solid var(--gray-300);color:var(--gray-500);cursor:pointer;font-size:12px;font-family:inherit;padding:6px 16px;border-radius:var(--radius-sm);transition:all .15s}.header-logout:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-700)}.header-progress{background:var(--navy);padding:12px 28px;display:flex;justify-content:space-between;align-items:center}.progress-stepper{display:flex;align-items:center;gap:0}.stepper-item-wrap{display:flex;align-items:center}.stepper-line{width:40px;height:2px;background:#fff3;transition:background .3s}.stepper-line.active{background:var(--teal)}.stepper-item{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;transition:all .2s}.stepper-item.current{background:#0d948833}.stepper-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#ffffff26;color:#ffffff80;transition:all .2s;flex-shrink:0}.stepper-item.current .stepper-num{background:var(--teal);color:var(--white);box-shadow:0 0 0 3px #0d948859}.stepper-item.done .stepper-num{background:#ffffff59;color:var(--white)}.stepper-label{display:flex;flex-direction:column;line-height:1.2}.stepper-kr{font-size:13px;font-weight:600;color:#ffffff80}.stepper-item.current .stepper-kr{color:var(--white)}.stepper-item.done .stepper-kr{color:#ffffffb3}.stepper-en{font-size:10px;color:#ffffff4d}.stepper-item.current .stepper-en{color:#ffffffb3}.stepper-item.done .stepper-en{color:#ffffff80}.header-current-session{font-size:13px;font-weight:600;color:var(--teal-light);background:#0d948826;padding:6px 14px;border-radius:6px}.submitted-actions{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:12px}.btn-next-session{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:var(--white);border:none;padding:12px 32px;font-size:15px;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.btn-next-session:hover{background:var(--navy-light)}.btn-next-session .arrow{font-size:18px}.btn-secondary-outline{background:none!important;border:1px solid var(--gray-300)!important;color:var(--gray-500)!important;font-size:13px!important;padding:8px 20px!important}.btn-secondary-outline:hover{background:var(--gray-50)!important;border-color:var(--gray-400)!important;color:var(--gray-700)!important}.qr-upload-widget{border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;background:var(--gray-50)}.qr-upload-options{display:flex;gap:12px}.qr-option-btn{flex:1;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.qr-option-btn:hover{border-color:var(--teal);background:#f0fdfa}.qr-option-btn:disabled{opacity:.6;cursor:not-allowed}.qr-option-icon{font-size:24px;flex-shrink:0}.qr-option-text{display:flex;flex-direction:column;gap:2px}.qr-option-text strong{font-size:13px;color:var(--gray-800)}.qr-option-text small{font-size:11px;color:var(--gray-500)}.qr-code-section{text-align:center}.qr-code-box{display:inline-block;padding:16px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px}.qr-instruction{font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.qr-instruction-sub{font-size:12px;color:var(--gray-500);margin-bottom:16px}.qr-polling-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--teal);font-weight:600;margin-bottom:12px}.qr-pulse{width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pulse 1.5s ease-in-out infinite}.qr-back-btn{display:inline-block;background:none;border:none;color:var(--gray-500);font-size:13px;font-family:inherit;cursor:pointer;padding:6px 12px;margin-top:4px}.qr-back-btn:hover{color:var(--gray-700)}.qr-direct-section{text-align:center}.qr-upload-done{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:var(--radius);padding:16px}.qr-upload-done-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--green)}.qr-upload-check{font-size:18px}.qr-upload-preview{max-width:100%;max-height:300px;border-radius:var(--radius-sm);margin-top:12px;box-shadow:var(--shadow-sm)}.qr-upload-file-info{margin-top:8px;font-size:13px;color:var(--gray-500)}.btn-link{background:none;border:none;color:var(--gray-300);cursor:pointer;font-size:13px;font-family:inherit;transition:color .15s}.btn-link:hover{color:var(--white)}.app-main{max-width:800px;margin:0 auto;padding:24px 20px 60px}.app-footer{text-align:center;padding:32px 20px 24px;border-top:1px solid var(--gray-200);margin-top:40px;background:var(--white)}.footer-logo{height:40px;opacity:.8;transition:opacity .15s}.footer-logo:hover{opacity:1}.footer-text{margin-top:10px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--gray-400)}.footer-text a{color:var(--gray-500);text-decoration:none;font-weight:500}.footer-text a:hover{color:var(--navy);text-decoration:underline}.card{background:var(--white);border-radius:var(--radius);padding:24px 28px;margin-bottom:16px;border:1px solid var(--gray-200)}.card h1{font-size:22px;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:-.5px}.card h2{font-size:17px;font-weight:600;color:var(--gray-800);margin-bottom:6px}.card p{font-size:14px;line-height:1.6;color:var(--gray-500)}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:6px}.form-group .required{color:var(--red);margin-left:2px}.captcha-box{display:flex;align-items:center;gap:10px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:8px}.captcha-question{font-size:20px;font-weight:700;color:var(--navy);letter-spacing:2px;font-family:Courier New,monospace;flex:1}.captcha-refresh{background:none;border:1px solid var(--gray-300);border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;color:var(--gray-500);display:flex;align-items:center;justify-content:center;transition:all .15s}.captcha-refresh:hover{background:var(--gray-200);color:var(--navy)}.text-input{width:100%;border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:10px 14px;font-size:15px;outline:none;font-family:inherit;color:var(--gray-800);background:var(--white);transition:border-color .15s,box-shadow .15s}.text-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d94881a}.text-input::placeholder{color:var(--gray-400)}textarea.text-input{resize:vertical;min-height:150px;line-height:1.7}.btn-primary{background:var(--teal);color:var(--white);border:none;padding:11px 28px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s}.btn-primary:hover{background:var(--teal-light);box-shadow:var(--shadow)}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed}.btn-secondary{background:var(--white);color:var(--navy);border:1px solid var(--gray-300);padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.btn-secondary:hover{background:var(--gray-50);border-color:var(--navy)}.radio-group{display:flex;flex-direction:column;gap:6px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;border:1px solid transparent}.radio-option:hover{background:var(--gray-50)}.radio-option.selected{background:#f0fdfa;border-color:var(--teal)}.radio-option input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--gray-300);border-radius:50%;flex-shrink:0;margin-top:1px;position:relative;cursor:pointer;transition:border-color .15s}.radio-option input[type=radio]:checked{border-color:var(--teal)}.radio-option input[type=radio]:checked:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--teal)}.radio-option label{font-size:14px;cursor:pointer;line-height:1.5;color:var(--gray-700)}.question-card{background:var(--white);border-radius:var(--radius);padding:24px 28px;margin-bottom:12px;border:1px solid var(--gray-200)}.question-title{font-size:15px;line-height:1.6;margin-bottom:16px;font-weight:500;color:var(--gray-800)}.audio-header{background:var(--gray-100);border-radius:var(--radius);padding:18px 24px;margin-bottom:12px;border:1px solid var(--gray-200)}.audio-header .audio-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:10px}.audio-link{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:var(--white);padding:7px 16px;border-radius:var(--radius-sm);text-decoration:none;font-size:13px;font-weight:500;transition:background .15s}.audio-link:hover{background:var(--navy-light)}.audio-play-btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-sm);padding:10px 20px;font-size:14px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s}.audio-play-btn:hover{background:var(--navy-light)}.audio-play-btn.playing{background:var(--teal)}.audio-play-btn.playing:hover{background:var(--teal-light)}.audio-play-btn.done{background:var(--gray-300);cursor:not-allowed;opacity:.7}.audio-play-btn.done:hover{background:var(--gray-300)}.audio-icon{font-size:14px;width:18px;text-align:center}.equipment-test h2{margin-bottom:4px}.equip-row{display:flex;flex-direction:column;gap:14px}.equip-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-100)}.equip-item:last-child{border-bottom:none}.equip-label{font-size:14px;font-weight:500;color:var(--gray-700)}.equip-btn{padding:6px 16px!important;font-size:13px!important}.equip-status{font-size:13px;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm)}.equip-status.ok{color:var(--green);background:var(--green-light)}.equip-status.fail{color:var(--red);background:var(--red-light);font-size:12px}.mic-level-bar{margin-top:8px;width:120px;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.mic-level-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .1s}.passage-block{background:var(--gray-50);border-radius:var(--radius);border-left:3px solid var(--teal);padding:20px 24px;margin-bottom:12px}.passage-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:10px}.passage-text{font-size:14px;line-height:1.9;white-space:pre-line;color:var(--gray-700)}.image-block{background:var(--white);border-radius:var(--radius);padding:20px;margin-bottom:12px;text-align:center;border:1px solid var(--gray-200)}.image-block img{max-width:100%;border-radius:var(--radius-sm)}.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.session-card{background:var(--white);border-radius:var(--radius);padding:24px 20px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid var(--gray-200)}.session-card:hover:not(.locked):not(.inactive):not(.completed){border-color:var(--teal);box-shadow:var(--shadow-md);transform:translateY(-2px)}.session-card.completed:hover{transform:none;box-shadow:none}.session-card.completed{border-color:var(--green);background:var(--green-light)}.session-card.inactive{opacity:.5;cursor:not-allowed}.session-card.locked{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.session-card .session-icon{font-size:36px;margin-bottom:10px}.session-card h3{font-size:15px;color:var(--gray-800);margin-bottom:4px}.session-card .session-sub{font-size:12px;color:var(--gray-500)}.session-card .session-status{margin-top:10px;font-size:12px;font-weight:600}.session-card .session-status.done{color:var(--green)}.session-card .session-status.pending{color:var(--yellow)}.timer{position:sticky;top:130px;background:var(--white);padding:10px 24px;border-radius:var(--radius);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;z-index:50;border:1px solid var(--gray-200);box-shadow:var(--shadow)}.timer-label{font-size:13px;font-weight:600;color:var(--navy)}.timer-student{display:none}.timer-right{display:flex;align-items:center;gap:16px}.timer-time{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gray-800)}.timer-time.warning{color:var(--yellow)}.timer-time.critical{color:var(--red);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.timer-progress{font-size:13px;color:var(--gray-600);font-weight:600}.progress-bar{width:100%;height:4px;background:var(--gray-200);border-radius:2px;margin-bottom:16px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--teal);transition:width .3s ease;border-radius:2px}.file-upload-area{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.file-upload-area:hover{border-color:var(--teal);background:#f0fdfa}.file-upload-area input{display:none}.file-upload-area .upload-label{color:var(--teal);font-weight:600;font-size:14px;cursor:pointer}.file-upload-area .file-info{font-size:12px;color:var(--gray-400);margin-top:6px}.uploaded-file{color:var(--green);font-size:13px;font-weight:500;margin-top:8px}.prompt-body{font-size:14px;line-height:1.9;white-space:pre-line;margin-bottom:16px;padding:18px 20px;background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200);color:var(--gray-700)}.result-card{background:var(--white);border-radius:var(--radius);padding:20px 24px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--gray-200)}.result-score{font-size:24px;font-weight:700;color:var(--teal)}.result-label{font-size:13px;color:var(--gray-500)}.error-msg{color:var(--red);font-size:13px;margin-top:8px;font-weight:500}.success-msg{color:var(--green);font-size:13px;margin-top:8px;font-weight:500}.loading{text-align:center;padding:60px 20px;color:var(--gray-400);font-size:15px}.section-header{border-left:3px solid var(--teal);padding-left:16px}.autosave-indicator{font-size:11px;color:var(--gray-400);display:flex;align-items:center;gap:4px}.autosave-indicator.saving{color:var(--yellow)}.autosave-indicator.saved{color:var(--green)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--gray-600);border-bottom:2px solid var(--gray-200);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.admin-table tr:hover td{background:var(--gray-50)}.admin-table input,.admin-table select{border:1px solid var(--gray-300);border-radius:4px;padding:6px 10px;font-size:13px;font-family:inherit;outline:none}.admin-table input:focus,.admin-table select:focus{border-color:var(--teal);box-shadow:0 0 0 2px #0d94881a}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--white);border-radius:var(--radius);padding:20px;border:1px solid var(--gray-200)}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--navy)}.stat-card .stat-label{font-size:12px;color:var(--gray-500);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.toggle input{display:none}.toggle-slider{position:absolute;inset:0;background:var(--gray-300);border-radius:11px;transition:background .2s}.toggle-slider:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--white);top:2px;left:2px;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--teal)}.toggle input:checked+.toggle-slider:after{transform:translate(18px)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.badge-green{background:var(--green-light);color:var(--green)}.badge-yellow{background:var(--yellow-light);color:var(--yellow)}.badge-red{background:var(--red-light);color:var(--red)}.admin-login{max-width:380px;margin:80px auto}.admin-login .card{padding:32px}.admin-login h1{text-align:center;font-size:20px;margin-bottom:24px;color:var(--navy)}.recorder-widget{margin-top:8px}.recorder-controls{display:flex;flex-direction:column;gap:12px}.recorder-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:background .15s,box-shadow .15s}.recorder-btn.record{background:var(--red);color:var(--white);padding:14px 28px;font-size:15px}.recorder-btn.record:hover{background:#b91c1c;box-shadow:var(--shadow)}.recorder-btn.small{padding:8px 16px;font-size:13px;background:var(--teal);color:var(--white)}.recorder-btn.small:hover{background:var(--teal-light)}.recorder-btn.small.secondary{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300)}.recorder-btn.small.secondary:hover{background:var(--gray-50)}.recorder-btn.small.stop{background:var(--red);color:var(--white)}.recorder-btn.small.stop:hover{background:#b91c1c}.recorder-btn.small.upload{background:var(--teal);color:var(--white)}.recorder-btn.small.upload:disabled{background:var(--gray-300);cursor:not-allowed}.recorder-dot{width:12px;height:12px;border-radius:50%;background:var(--white);display:inline-block}.recorder-active{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.recorder-status{display:flex;align-items:center;gap:10px}.recorder-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.recorder-indicator.recording{background:var(--red);animation:pulse 1s ease-in-out infinite}.recorder-indicator.paused{background:var(--yellow)}.recorder-duration{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gray-800)}.recorder-status-text{font-size:13px;color:var(--gray-500)}.recorder-actions{display:flex;gap:8px}.recorder-playback{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px 20px}.recorder-playback audio{margin-bottom:12px}.recorder-playback-actions{display:flex;justify-content:space-between;align-items:center}.modal-overlay{position:fixed;inset:0;z-index:9000;background:#0f172a99;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;overflow-y:auto}.modal-content{background:#fff;border-radius:10px;width:100%;max-width:900px;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column;min-height:500px;max-height:90vh}.modal-header{padding:18px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;background:#1a365d;border-radius:10px 10px 0 0;flex-shrink:0}.modal-close{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:18px;line-height:1}.modal-close:hover{background:#ffffff40}.answer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.answer-item{border:1px solid var(--gray-200);border-radius:8px;padding:10px;background:var(--white);display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.answer-item.correct{border-color:#bbf7d0;background:#fafff9}.answer-item.wrong{border-color:#fecaca;background:#fefafa}.answer-item-header{display:flex;justify-content:space-between;align-items:center}.answer-q-num{font-size:12px;font-weight:700;color:var(--gray-500)}.answer-result{font-size:14px;font-weight:700}.answer-result.correct{color:var(--green)}.answer-result.wrong{color:var(--red)}.answer-item-body{font-size:13px;color:var(--gray-800);word-break:break-word}.answer-text{max-height:60px;overflow-y:auto;font-size:12px;line-height:1.4}.answer-correct-hint{font-size:11px;color:var(--gray-500);border-top:1px solid var(--gray-100);padding-top:4px}.modal-content h2{font-size:18px;font-weight:700;color:var(--navy);padding:20px 24px 0;margin:0}.modal-form{padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.modal-form .form-field{display:flex;flex-direction:column;gap:5px}.modal-form .form-field>span{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px}.modal-form .form-row{display:flex;gap:12px}.modal-form .form-row .form-field{flex:1}.modal-form input[type=text],.modal-form input[type=number],.modal-form select,.modal-form textarea{width:100%;padding:9px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--gray-800);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d948814}.modal-form textarea{resize:vertical;min-height:60px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--gray-200);background:var(--gray-50);border-radius:0 0 10px 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);transition:all .15s;white-space:nowrap}.btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--teal);color:var(--white);border-color:var(--teal)}.btn.btn-primary:hover{background:var(--teal-light);border-color:var(--teal-light)}.btn.btn-primary:disabled{background:var(--gray-300);border-color:var(--gray-300)}.btn.btn-danger{background:var(--white);color:var(--red);border-color:var(--red)}.btn.btn-danger:hover{background:var(--red-light)}.btn.btn-success{background:var(--green);color:var(--white);border-color:var(--green)}.btn.btn-success:hover{background:#15803d;border-color:#15803d}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:10px 24px;font-size:14px;font-weight:600}.btn-back{background:none;border:none;color:var(--gray-500);font-size:13px;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:4px}.btn-back:hover{color:var(--gray-800)}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-page-header h1{margin-bottom:0}.admin-filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.admin-filters select,.admin-filters input{padding:7px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;color:var(--gray-700);background:var(--white);outline:none}.admin-filters select:focus,.admin-filters input:focus{border-color:var(--teal);box-shadow:0 0 0 2px #0d948814}.badge-listening{background:#dbeafe;color:#1d4ed8}.badge-reading{background:#fef3c7;color:#b45309}.badge-speaking{background:#ede9fe;color:#7c3aed}.badge-writing{background:#d1fae5;color:#047857}.status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600}.status-draft{background:#f3f4f6;color:#6b7280}.status-review{background:#fef3c7;color:#d97706}.status-published{background:#d1fae5;color:#059669}.status-archived{background:#f3f4f6;color:#9ca3af}.selection-grid{display:flex;gap:24px;margin-top:16px}.selection-column{flex:1;display:flex;flex-direction:column;gap:8px}.selection-column h3{font-size:14px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.selection-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;background:var(--white);transition:all .15s}.selection-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.selection-card.selected{border-color:var(--teal);background:#f0fdfa}.selection-card input[type=radio]{accent-color:var(--teal);flex-shrink:0}.selection-card-info{display:flex;flex-direction:column;gap:2px}.selection-card-info strong{font-size:14px;color:var(--gray-800)}.selection-card-info small{font-size:12px;color:var(--gray-500)}.question-picker{display:flex;gap:20px;margin-top:16px}.question-picker-panel{flex:1;display:flex;flex-direction:column}.question-picker-panel h3{font-size:13px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.question-picker-list{display:flex;flex-direction:column;gap:4px;max-height:560px;overflow-y:auto;padding-right:4px}.question-picker-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:all .12s;background:var(--white)}.question-picker-item:hover{border-color:var(--gray-300);background:var(--gray-50)}.question-picker-item.selected{border-color:#bbf7d0;background:#f0fdf4}.question-picker-item .q-num{font-weight:700;font-size:12px;color:var(--gray-500);min-width:28px}.question-picker-item .q-info{flex:1;min-width:0}.question-picker-item .q-title{font-size:13px;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-picker-item .q-meta{font-size:11px;color:var(--gray-500)}.question-picker-item .q-actions{display:flex;gap:2px;flex-shrink:0}.question-picker-item .q-actions button{width:26px;height:26px;border:1px solid var(--gray-200);border-radius:4px;background:var(--white);cursor:pointer;font-size:14px;color:var(--gray-500);display:flex;align-items:center;justify-content:center;transition:all .12s}.question-picker-item .q-actions button:hover{background:var(--gray-100);color:var(--gray-800)}.question-picker-item .q-actions button:disabled{opacity:.3;cursor:not-allowed}.question-picker-item .q-actions button.remove{color:var(--red);border-color:#fecaca}.question-picker-item .q-actions button.remove:hover{background:var(--red-light)}.question-picker-item .q-actions button.add{color:var(--teal);border-color:#99f6e4}.question-picker-item .q-actions button.add:hover{background:#f0fdfa}.question-picker-empty{padding:24px;text-align:center;color:var(--gray-400);font-size:13px}.section-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px}.section-card-header{display:flex;justify-content:space-between;align-items:center}.section-card-info{display:flex;align-items:center;gap:8px}.section-card-order{font-weight:700;font-size:13px;color:var(--teal);background:#f0fdfa;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.section-card-meta{font-size:12px;color:var(--gray-500)}.preview-panel{margin-top:16px}.preview-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.preview-card-header{padding:16px 20px;background:var(--navy);color:var(--white)}.preview-card-header h3{font-size:16px;font-weight:600;margin:0;color:var(--white)}.preview-card-header p{font-size:13px;color:#ffffffb3;margin-top:4px}.preview-card-body{max-height:420px;overflow-y:auto}.preview-question{display:flex;gap:8px;padding:10px 20px;border-bottom:1px solid var(--gray-100);font-size:13px;align-items:baseline}.preview-question:last-child{border-bottom:none}.preview-question .pq-num{font-weight:700;color:var(--gray-500);flex-shrink:0;min-width:28px}.preview-question .pq-title{color:var(--gray-800);flex:1}.preview-question .pq-type{font-size:11px;color:var(--gray-400);flex-shrink:0}.preview-question .pq-extra{font-size:11px;color:var(--green);flex-shrink:0}.preview-section{padding:12px 20px 4px;font-size:14px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.preview-raw{margin-top:16px}.preview-raw summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--gray-600);padding:8px 0}.preview-raw pre{background:var(--gray-900);color:#e5e7eb;padding:16px;border-radius:var(--radius);font-size:12px;max-height:400px;overflow:auto;margin-top:8px}.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:24px}.wizard-step{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--gray-400);position:relative}.wizard-step.active{color:var(--teal);font-weight:600}.wizard-step.done{color:var(--gray-600)}.wizard-step-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--gray-200);color:var(--gray-500)}.wizard-step.active .wizard-step-num{background:var(--teal);color:var(--white)}.wizard-step.done .wizard-step-num{background:#d1fae5;color:var(--green)}.wizard-step-line{width:40px;height:2px;background:var(--gray-200)}.wizard-step-line.done{background:var(--teal)}.action-bar{display:flex;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--gray-200)}.home-landing{max-width:960px;margin:36px auto;padding:0 20px}.home-hero{text-align:center;background:linear-gradient(145deg,#fff,#f0fdfa)}.home-hero-logo{height:56px;margin-bottom:12px}.home-hero-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);margin-bottom:8px}.home-hero-subtitle{max-width:640px;margin:0 auto}.home-hero-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.home-cta-primary,.home-cta-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.home-cta-primary{min-width:170px}.home-cta-secondary{min-width:130px}.home-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-section{margin-top:16px}.home-intro{border-left:4px solid var(--navy)}.home-info-card{margin-bottom:0}.home-info-card h2{margin-bottom:10px}.home-mode-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-mode-card{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:14px;background:var(--gray-50)}.home-mode-card h3{font-size:16px;color:var(--navy);margin-bottom:8px}.home-mode-card p{margin-bottom:10px}.home-mode-card span{font-size:12px;font-weight:600;color:var(--teal)}.home-notice{margin-top:16px;border-left:4px solid var(--teal)}.home-notice-actions{margin-top:14px}.home-contact a{color:var(--navy);font-weight:600;text-decoration:none}.home-contact a:hover{text-decoration:underline}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;display:flex;overflow-x:auto;padding:0}.admin-sidebar h2{display:none}.admin-sidebar a,.admin-sidebar button{white-space:nowrap;padding:12px 16px}.admin-content{padding:16px}.home-info-grid,.home-mode-grid{grid-template-columns:1fr}}@media(max-width:600px){.session-grid{grid-template-columns:1fr}.header-top{padding:10px 14px}.header-logo{height:32px}.header-title{font-size:14px}.header-student-info{font-size:11px}.header-progress{padding:8px 14px;flex-wrap:wrap;gap:8px}.stepper-label{display:none}.stepper-line{width:20px}.stepper-item{padding:4px}.header-current-session{font-size:11px;padding:4px 10px}.app-main{padding:16px 12px 40px}.card,.question-card{padding:18px 16px}.timer{top:110px}.qr-upload-options{flex-direction:column}.home-landing{margin:20px auto;padding:0 12px}.home-hero-actions{flex-direction:column}}
