@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-outline-style:solid;--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}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-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))}}:root{--color-primary-50:#ecfdf5;--color-primary-100:#d1fae5;--color-primary-200:#a7f3d0;--color-primary-300:#6ee7b7;--color-primary-400:#34d399;--color-primary-500:#10b981;--color-primary-600:#059669;--color-primary-700:#047857;--color-primary-800:#065f46;--color-primary:var(--color-primary-500);--color-primary-hover:var(--color-primary-600);--color-primary-soft:var(--color-primary-50);--color-primary-gradient:linear-gradient(135deg,#34d399 0%,#10b981 100%);--color-text:#0f172a;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-surface:#fff;--color-surface-2:#f8fafc;--color-surface-3:#f1f5f9;--color-overlay:#0f172a73;--color-success:#10b981;--color-success-soft:#ecfdf5;--color-success-strong:#047857;--color-warning:#f59e0b;--color-warning-soft:#fffbeb;--color-warning-strong:#b45309;--color-error:#ef4444;--color-error-soft:#fef2f2;--color-error-strong:#b91c1c;--color-info:#3b82f6;--color-info-soft:#eff6ff;--color-info-strong:#1d4ed8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 8px 24px #0f172a12;--shadow-lg:0 16px 40px #0f172a1a;--shadow-primary:0 12px 24px #10b98138;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:2.5rem;--sidebar-w:264px;--topbar-h:64px;--content-wide:1280px;--content-narrow:960px;--z-drawer:40;--z-overlay:35;--z-topbar:30;--z-dropdown:90;--z-modal:100;--z-toast:110;--admin-bg:var(--color-surface-2);--admin-surface:var(--color-surface);--admin-surface-muted:var(--color-surface-2);--admin-surface-strong:var(--color-surface-3);--admin-border:var(--color-border);--admin-border-strong:var(--color-border-strong);--admin-text:var(--color-text);--admin-muted:var(--color-text-muted);--admin-subtle:var(--color-text-subtle);--admin-primary:var(--color-primary);--admin-primary-hover:var(--color-primary-hover);--admin-primary-soft:var(--color-primary-soft);--admin-danger:var(--color-error);--admin-danger-soft:var(--color-error-soft);--admin-warning:var(--color-warning-strong);--admin-warning-soft:var(--color-warning-soft);--admin-info:var(--color-info);--admin-info-soft:var(--color-info-soft);--admin-radius-control:var(--radius-sm);--admin-radius-surface:var(--radius-sm);--admin-shadow-xs:0 1px 1px #0f172a0a;--admin-shadow-sm:0 8px 20px #0f172a0f;--admin-focus:0 0 0 3px #10b9812e;--admin-fs-body:var(--fs-sm);--admin-fs-title:var(--fs-lg);--admin-control-h:36px}html,body{margin:0;padding:0;font-family:Inter,sans-serif}body{width:100%;min-height:100vh;color:var(--color-text);background:linear-gradient(131deg,#fff,#f5fffc 49%,#fff)}h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0;padding:0}*,:after,:before{box-sizing:border-box}input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #e9fff6}input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #e9fff6}input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #e9fff6}button{font-family:inherit;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .12s}input,select,textarea{font-family:inherit}:where(a,button,[role=button],[role=tab],input,textarea,select,summary):focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.page-loader{justify-content:center;align-items:center;gap:var(--space-3);min-height:60vh;color:var(--color-text-muted);font-size:var(--fs-sm);flex-direction:column;display:flex}.access-denied__hint{color:var(--color-text-subtle)}.access-denied__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}.sidebar-wrapper{height:100vh;position:sticky;top:0;background-color:var(--color-surface);border-right:1px solid var(--color-border);transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--sidebar-w);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-wrapper.minimized{width:64px;align-items:center}.sidebar-content{width:var(--sidebar-w);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);transition:opacity .2s;min-height:0;height:100%;overflow-y:auto}.open-sidebar-container{padding-top:var(--space-4);display:flex;justify-content:center;width:100%;flex-shrink:0;border:none;background:transparent;cursor:pointer}@media(min-width:1024px){.sidebar-wrapper.minimized .sidebar-content{width:64px;padding:var(--space-2);align-items:center}.sidebar-wrapper.minimized .sidebar-title,.sidebar-wrapper.minimized .sidebar-section-label,.sidebar-wrapper.minimized .sidebar-user__info,.sidebar-wrapper.minimized .sidebar-user__more{display:none}.sidebar-wrapper.minimized .sidebar-item p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sidebar-wrapper.minimized .sidebar-menu,.sidebar-wrapper.minimized .sidebar-footer{width:100%}.sidebar-wrapper.minimized .sidebar-item{justify-content:center;padding:.7rem 0}.sidebar-wrapper.minimized .sidebar-user{justify-content:center;padding:var(--space-1) 0}}.open-sidebar-icon{color:var(--color-primary);cursor:pointer;transition:transform .2s}.open-sidebar-icon:hover{transform:scale(1.12)}.sidebar-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sidebar-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary-gradient);color:#fff;font-weight:800;font-size:var(--fs-lg);flex-shrink:0}.title-text h2{color:var(--color-text);font-size:var(--fs-lg);font-weight:800;white-space:nowrap;line-height:1.1}.title-text p{color:var(--color-text-muted);font-size:var(--fs-xs);white-space:nowrap}.sidebar-collapse-btn,.sidebar-mobile-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-subtle);cursor:pointer;border-radius:var(--radius-sm);padding:4px}.sidebar-collapse-btn:hover,.sidebar-mobile-close:hover{background:var(--color-surface-3);color:var(--color-text)}.sidebar-mobile-close{display:none}.sidebar-section-label{margin:var(--space-2) 0 var(--space-1);padding:0 var(--space-2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.sidebar-menu{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 auto}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:.7rem .85rem;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-muted);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;transition:background-color .2s ease,color .2s ease}.sidebar-item__icon{display:inline-flex;flex-shrink:0}.sidebar-item:hover{background-color:var(--color-surface-2);color:var(--color-text)}.sidebar-item.active{background-color:var(--color-primary-soft);color:var(--color-primary-700)}.sidebar-item.active .sidebar-item__icon{color:var(--color-primary)}.sidebar-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.sidebar-user{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md)}.sidebar-user__avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-pill);background:var(--color-primary-gradient);color:#fff;font-weight:700;font-size:var(--fs-sm);flex-shrink:0;overflow:hidden}.sidebar-user__avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user__info{flex:1 1 auto;min-width:0}.sidebar-user__name{font-size:var(--fs-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user__role{font-size:var(--fs-xs);color:var(--color-text-muted)}.sidebar-user__more{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;background:transparent;color:var(--color-text-subtle);border-radius:var(--radius-sm);cursor:pointer}.sidebar-user__more:hover,.sidebar-user__more[aria-expanded=true]{background:var(--color-surface-3);color:var(--color-text)}.sidebar-user__menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:160px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.sidebar-user__menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:.55rem .65rem;border:none;background:transparent;border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:var(--fs-sm);color:var(--color-text-muted);cursor:pointer;text-align:left}.sidebar-user__menu-item:hover,.sidebar-user__menu-item:focus-visible{background-color:var(--color-error-soft);color:#dc2626;outline:none}@media(max-width:1023px){.sidebar-wrapper--user,.sidebar-wrapper--admin{position:fixed;top:0;left:0;z-index:var(--z-drawer);transform:translate(-100%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s;box-shadow:var(--shadow-lg);width:var(--sidebar-w)}.sidebar-wrapper--user.is-mobile-open,.sidebar-wrapper--admin.is-mobile-open{transform:translate(0);visibility:visible;transition:transform .28s ease,visibility 0s linear 0s}.sidebar-wrapper--user.minimized,.sidebar-wrapper--admin.minimized{width:var(--sidebar-w);align-items:stretch}.sidebar-wrapper--user .sidebar-collapse-btn,.sidebar-wrapper--user .open-sidebar-container,.sidebar-wrapper--admin .sidebar-collapse-btn,.sidebar-wrapper--admin .open-sidebar-container{display:none}.sidebar-wrapper--user .sidebar-mobile-close,.sidebar-wrapper--admin .sidebar-mobile-close{display:inline-flex}}.sidebar-wrapper--admin{background:#fff;border-right-color:#dce4ec}.sidebar-wrapper--admin .sidebar-content{padding:14px}.sidebar-wrapper--admin .sidebar-title{padding-bottom:14px;margin-bottom:10px}.sidebar-wrapper--admin .sidebar-brand__mark{background:#10b981;color:#fff}.sidebar-wrapper--admin .title-text h2{font-size:17px;letter-spacing:0}.sidebar-wrapper--admin .title-text p{color:#64748b}.sidebar-wrapper--admin .sidebar-item{min-height:40px;padding:0 10px;border-radius:8px;color:#5f6f82;font-weight:700}.sidebar-wrapper--admin .sidebar-item:hover{background:#f8fafc;color:#0f172a}.sidebar-wrapper--admin .sidebar-item{position:relative}.sidebar-wrapper--admin .sidebar-item.active{background:#e9fbf3;color:#047857}.sidebar-wrapper--admin .sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:999px;background:#10b981}.sidebar-wrapper--admin .sidebar-item.active .sidebar-item__icon{color:#10b981}.sidebar-wrapper--admin .sidebar-collapse-btn,.sidebar-wrapper--admin .sidebar-mobile-close{border-radius:8px}.sidebar-wrapper--admin .sidebar-user__avatar{background:#10b981}.sidebar-wrapper--admin .sidebar-user,.sidebar-wrapper--admin .sidebar-user__more,.sidebar-wrapper--admin .sidebar-user__menu,.sidebar-wrapper--admin .sidebar-user__menu-item{border-radius:8px}.sidebar-wrapper--admin .sidebar-item:focus-visible,.sidebar-wrapper--admin .sidebar-collapse-btn:focus-visible,.sidebar-wrapper--admin .sidebar-mobile-close:focus-visible,.sidebar-wrapper--admin .open-sidebar-container:focus-visible{outline:2px solid var(--admin-focus, #10b981);outline-offset:2px}.ui-toast-region{position:fixed;top:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:min(360px,calc(100vw - 2rem))}.ui-toast{display:flex;align-items:center;gap:var(--space-3);padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:ui-toast-in .2s ease}.ui-toast--success{border-left-color:var(--color-success)}.ui-toast--success .ui-toast__icon{color:var(--color-success)}.ui-toast--error{border-left-color:var(--color-error)}.ui-toast--error .ui-toast__icon{color:var(--color-error)}.ui-toast--info{border-left-color:var(--color-info)}.ui-toast--info .ui-toast__icon{color:var(--color-info)}.ui-toast__icon{display:inline-flex;flex-shrink:0}.ui-toast__msg{flex:1;font-size:var(--fs-sm);color:var(--color-text)}.ui-toast__close{display:inline-flex;border:none;background:transparent;color:var(--color-text-subtle);cursor:pointer;padding:2px;border-radius:var(--radius-sm)}.ui-toast__close:hover{color:var(--color-text);background:var(--color-surface-3)}@keyframes ui-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:640px){.ui-toast-region{left:var(--space-4);right:var(--space-4);max-width:none}}.ui-spinner{display:inline-block;border-style:solid;border-color:var(--color-primary-100);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .7s linear infinite;flex-shrink:0}.ui-btn--primary .ui-spinner,.ui-btn--danger .ui-spinner{border-color:#fff6;border-top-color:#fff}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.ui-btn--sm{padding:.5rem .85rem;font-size:var(--fs-sm)}.ui-btn--md{padding:.7rem 1.15rem;font-size:var(--fs-base)}.ui-btn--lg{padding:.9rem 1.5rem;font-size:var(--fs-md)}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--color-primary-700);color:#fff;box-shadow:var(--shadow-sm)}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-800);box-shadow:var(--shadow-primary)}.ui-btn--primary:active:not(:disabled){background:var(--color-primary-800)}.ui-btn--secondary{background:var(--color-primary-soft);color:var(--color-primary-700);border-color:var(--color-primary-100)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-primary-100)}.ui-btn--ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.ui-btn--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.ui-btn--danger{background:var(--color-error);color:#fff}.ui-btn--danger:hover:not(:disabled){background:#dc2626}.ui-btn__label{display:inline-block}.ui-btn__spinner{flex-shrink:0}.ui-error{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);background:var(--color-surface);border:1px solid var(--color-error-soft);border-radius:var(--radius-lg)}.ui-error__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--color-error-soft);color:var(--color-error)}.ui-error__title{font-size:var(--fs-md);font-weight:700;color:var(--color-text)}.ui-error__desc{font-size:var(--fs-sm);color:var(--color-text-muted);max-width:420px}.ui-error__btn{margin-top:var(--space-2)}.app-container{display:flex;min-height:100vh}.app-main-col{--preview-banner-height: 45px;--sticky-top: calc(var(--topbar-h) + var(--space-4));display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.app-main-col--preview{--sticky-top: calc( var(--preview-banner-height) + var(--topbar-h) + var(--space-4) )}.app-container--exam{display:block;width:100%}.app-main-col--exam{--sticky-top: var(--space-4);width:100%;max-width:100%}.app-main-col--exam .main-content{width:100%}.app-main-col--exam .main-content__inner{max-width:100%;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.user-preview-banner{--preview-banner-bg: var(--color-warning-soft);--preview-banner-border: #fdba74;--preview-banner-text: var(--color-warning-strong);--preview-banner-accent: var(--color-warning);--preview-banner-hover: #ffedd5;position:sticky;top:0;z-index:calc(var(--z-topbar) + 1);display:flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:var(--preview-banner-height);padding:8px var(--space-4);background:var(--preview-banner-bg);border-bottom:1px solid var(--preview-banner-border);color:var(--preview-banner-text);font-size:var(--fs-sm);font-weight:600;text-align:center}.app-main-col--preview .app-topbar{top:var(--preview-banner-height)}.user-preview-banner button{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 10px;border:1px solid var(--preview-banner-accent);border-radius:var(--radius-pill);background:#fff;color:var(--preview-banner-text);font:inherit;font-weight:700;cursor:pointer}.user-preview-banner button:hover{background:var(--preview-banner-hover)}.app-overlay{position:fixed;inset:0;background:var(--color-overlay);z-index:var(--z-overlay);display:none}.app-topbar{position:sticky;top:0;z-index:var(--z-topbar);height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.app-topbar__left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-topbar__menu{display:none;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:6px;cursor:pointer}.app-topbar__menu:hover{background:var(--color-surface-2)}.app-topbar__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.app-topbar__breadcrumb{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar__breadcrumb-link{color:inherit;text-decoration:none}.app-topbar__breadcrumb-link:hover{color:var(--color-text);text-decoration:underline}.app-topbar__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar__user{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);padding:4px .85rem 4px 4px;cursor:pointer}.app-topbar__user:hover{border-color:var(--color-primary-200);background:var(--color-primary-soft)}.app-topbar__avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-pill);background:var(--color-primary-gradient);color:#fff;font-weight:700;flex-shrink:0;overflow:hidden;position:relative}.app-topbar__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.app-topbar__name{font-size:var(--fs-sm);font-weight:600;color:var(--color-text);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1 1 auto;min-width:0}.main-content__inner{max-width:100%;margin:0 auto;width:100%}@media(max-width:1023px){.app-overlay{display:block}.app-topbar__menu{display:inline-flex}}@media(max-width:640px){.app-main-col--preview{--preview-banner-height: 76px}.user-preview-banner{align-items:stretch;flex-direction:column;gap:6px}.user-preview-banner button{align-self:center}.app-topbar{padding:0 var(--space-4)}.app-topbar__name{display:none}}.auth-external-wrapper{position:relative;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background:radial-gradient(1200px 600px at 12% -10%,var(--color-primary-100) 0%,transparent 55%),radial-gradient(1000px 700px at 110% 120%,var(--color-primary-100) 0%,transparent 50%),linear-gradient(160deg,#f6fefb,#fff 55%,#f3fcf8);overflow:hidden}.auth-external-wrapper:before{content:"";position:absolute;width:520px;height:520px;top:-160px;left:-120px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.16),transparent 70%);filter:blur(8px);pointer-events:none}.auth-split{position:relative;display:grid;grid-template-columns:1.05fr 1fr;width:100%;max-width:1000px;min-height:580px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 1px #fff9 inset,var(--shadow-lg),0 40px 80px -32px #10b98147;overflow:hidden;animation:auth-rise .5s cubic-bezier(.16,1,.3,1) both}@keyframes auth-rise{0%{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-10)}@media(prefers-reduced-motion:reduce){.auth-split{animation:none}}.auth-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);padding:var(--space-12) var(--space-10);background:radial-gradient(120% 90% at 100% 0%,#34d399 0%,transparent 60%),linear-gradient(150deg,#0f9d6e,#059669 45%,#047857);color:#fff;overflow:hidden;isolation:isolate}.auth-brand-panel:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.4px);background-size:22px 22px;mask-image:linear-gradient(160deg,#000 0%,transparent 75%);-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 75%);pointer-events:none}.auth-brand-panel:after{content:"";position:absolute;right:-110px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);z-index:-1}.auth-brand-panel__mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);background:#ffffff29;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px #fff6,0 8px 20px #00000029;font-size:var(--fs-xl);font-weight:800}.auth-brand-panel h1{font-size:var(--fs-3xl);line-height:1.1;letter-spacing:-.02em}.auth-brand-panel p{font-size:var(--fs-md);color:#ffffffe6;line-height:1.6;max-width:320px}.auth-brand-panel__footnote{margin-top:var(--space-4);font-size:var(--fs-xs);color:#ffffffb3}.auth-form{display:flex;flex-direction:column;gap:var(--space-5);width:100%;max-width:380px}.auth-form__head h1{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.auth-form__head p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--fs-sm)}.auth-form__error{display:flex;align-items:center;gap:var(--space-2);padding:.7rem .9rem;border-radius:var(--radius-md);background:var(--color-error-soft);color:#b91c1c;font-size:var(--fs-sm);border:1px solid #fecaca;animation:auth-shake .32s ease both}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.auth-form__error{animation:none}}.auth-form__options{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:calc(var(--space-1) * -1)}.auth-form__hint{font-size:var(--fs-sm);color:var(--color-text-muted)}.auth-form__hint a{color:var(--color-primary-700);font-weight:600;text-decoration:none}.auth-form__hint a:hover{text-decoration:underline}.auth-form__hint span{color:var(--color-text-subtle);font-style:italic}.auth-form__pwd{position:relative}.auth-form__pwd .ui-input{padding-right:2.75rem}.auth-form__pwd-toggle{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-subtle);cursor:pointer;transition:color .15s ease,background .15s ease}.auth-form__pwd-toggle:hover{color:var(--color-primary-700);background:var(--color-primary-50)}.auth-form__switch{text-align:center;font-size:var(--fs-sm);color:var(--color-text-muted)}.auth-form__switch a{color:var(--color-primary-700);font-weight:600;text-decoration:none}.auth-form__switch a:hover{text-decoration:underline}@media(max-width:860px){.auth-split{grid-template-columns:1fr;max-width:440px;min-height:0}.auth-brand-panel{display:none}.auth-form-panel{padding:var(--space-10) var(--space-8)}}@media(max-width:480px){.auth-form-panel{padding:var(--space-8) var(--space-5)}}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--space-4)}.ui-card--pad-md{padding:var(--space-5)}.ui-card--pad-lg{padding:var(--space-6)}.ui-card--interactive{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ui-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-200)}.ui-card--interactive:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.ui-badge{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;border-radius:var(--radius-pill);border:1px solid transparent;line-height:1;white-space:nowrap}.ui-badge--sm{padding:.25rem .6rem;font-size:var(--fs-xs)}.ui-badge--md{padding:.4rem .8rem;font-size:var(--fs-sm)}.ui-badge--neutral{background:var(--color-surface-3);color:var(--color-text-muted)}.ui-badge--primary{background:var(--color-primary-soft);color:var(--color-primary-700);border-color:var(--color-primary-100)}.ui-badge--success{background:var(--color-success-soft);color:#047857}.ui-badge--warning{background:var(--color-warning-soft);color:#b45309}.ui-badge--error{background:var(--color-error-soft);color:#b91c1c}.ui-badge--info{background:var(--color-info-soft);color:#1d4ed8}.ui-input{width:100%;padding:.7rem .9rem;font-size:var(--fs-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ui-input::placeholder{color:var(--color-text-subtle)}.ui-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.ui-input--invalid{border-color:var(--color-error)}.ui-input--invalid:focus{box-shadow:0 0 0 3px var(--color-error-soft)}.ui-input-wrap{position:relative;display:block}.ui-input__icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--color-text-subtle);pointer-events:none}.ui-input--with-icon{padding-left:2.5rem}.ui-field{display:flex;flex-direction:column;gap:var(--space-2)}.ui-field__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.ui-field__req{color:var(--color-error);margin-left:2px}.ui-field__error{font-size:var(--fs-xs);color:var(--color-error)}.ui-field__hint{font-size:var(--fs-xs);color:var(--color-text-muted)}.ui-skeleton{display:block;background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-2) 50%,var(--color-surface-3) 75%);background-size:200% 100%;animation:ui-shimmer 1.3s ease-in-out infinite}.ui-skeleton-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.ui-ring__svg{transform:rotate(-90deg)}.ui-ring__bar{transition:stroke-dashoffset .6s ease}.ui-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.ui-ring__label{font-size:var(--fs-xl);font-weight:800;color:var(--color-text);line-height:1}.ui-ring__sub{font-size:var(--fs-xs);color:var(--color-text-muted)}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.ui-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary)}.ui-empty__title{font-size:var(--fs-md);font-weight:700;color:var(--color-text)}.ui-empty__desc{font-size:var(--fs-sm);color:var(--color-text-muted);max-width:420px}.ui-empty__action{margin-top:var(--space-2)}.ui-modal__overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay)}.ui-modal{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-height:calc(100vh - var(--space-8));padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.ui-modal--sm{max-width:400px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:720px}.ui-modal__header{display:flex;align-items:flex-start;gap:var(--space-3)}.ui-modal__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-text)}.ui-modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.ui-modal__close:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-modal__body{overflow-y:auto}.ui-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-3)}.ui-stat-tile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2)}.ui-stat-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-600)}.ui-stat-tile__content{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-stat-tile__value{font-size:var(--fs-xl);font-weight:700;line-height:1.2;color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.ui-stat-tile__label{font-size:var(--fs-sm);color:var(--color-text-muted)}.ui-stat-tile__note{font-size:var(--fs-xs);color:var(--color-text-subtle)}.ui-stat-tile--success .ui-stat-tile__value{color:var(--color-success-strong)}.ui-stat-tile--warning .ui-stat-tile__value{color:var(--color-warning-strong)}.ui-stat-tile--danger .ui-stat-tile__value{color:var(--color-error-strong)}.image-crop-modal__overlay{position:fixed;inset:0;z-index:calc(var(--z-modal, 100) + 10);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay, rgba(15, 23, 42, .5));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.image-crop-modal{background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-lg, 0 16px 40px rgba(15, 23, 42, .15));border:1px solid var(--color-border, #e2e8f0);max-width:640px!important;width:95%!important;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));padding:0!important;overflow:hidden;display:flex;flex-direction:column;animation:imageCropModalFadeIn .2s ease-out}@keyframes imageCropModalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.image-crop-modal__close-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm, 8px);border:none;background:transparent;color:var(--color-text-muted, #64748b);cursor:pointer;transition:all .15s ease}.image-crop-modal__close-btn:hover:not(:disabled){background:var(--color-surface-3, #f1f5f9);color:var(--color-text, #0f172a)}.image-crop-modal__header{flex-shrink:0;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.image-crop-modal__header h3{font-size:var(--fs-md);font-weight:700;color:var(--color-text);margin:0}.image-crop-modal__badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600}.image-crop-modal__cropper-container{position:relative;width:100%;height:min(360px,45vh);min-height:140px;flex-shrink:1;overflow:hidden;background:#111827;-webkit-user-select:none;user-select:none}.image-crop-modal__controls{flex-shrink:0;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border-top:1px solid var(--color-border)}.image-crop-modal__control-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.image-crop-modal__zoom-control{display:flex;align-items:center;gap:var(--space-2);flex:1}.image-crop-modal__zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);cursor:pointer;transition:all .15s ease}.image-crop-modal__zoom-btn:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-strong)}.image-crop-modal__slider{flex:1;height:6px;accent-color:var(--color-primary);cursor:pointer}.image-crop-modal__btn-group{display:flex;align-items:center;gap:var(--space-2)}.image-crop-modal__tool-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:all .15s ease}.image-crop-modal__tool-btn:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-strong)}.image-crop-modal__footer{flex-shrink:0;padding:var(--space-3) var(--space-5) var(--space-4);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--color-border);background:var(--color-surface-2)}.image-crop-modal__error{flex-shrink:0;padding:var(--space-2) var(--space-5);background:var(--color-error-soft);color:var(--color-error);font-size:var(--fs-xs);font-weight:500}@media(max-height:560px){.image-crop-modal__cropper-container{height:min(360px,40vh);min-height:100px;overflow-y:auto}.image-crop-modal__controls{padding:var(--space-3) var(--space-5)}}.subject-image-field{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.subject-image-field__header{display:flex;align-items:center;justify-content:space-between}.subject-image-field__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.subject-image-field__hint{font-size:var(--fs-xs);color:var(--color-text-subtle)}.subject-image-field__tabs{display:inline-flex;background:var(--color-surface-3);padding:3px;border-radius:var(--radius-md);gap:3px;width:fit-content;margin-bottom:var(--space-1)}.subject-image-field__tab{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-muted);font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:all .15s ease}.subject-image-field__tab.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #00000014}.subject-image-field__container{position:relative;width:100%;max-width:480px;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-2);border:2px dashed var(--color-border);transition:all .2s ease}.subject-image-field__container.is-dragover{border-color:var(--color-primary);background:var(--color-primary-soft)}.subject-image-field__container.has-image{border-style:solid;border-color:var(--color-border)}.subject-image-field__preview-img{width:100%;height:100%;object-fit:cover;display:block}.subject-image-field__badge{position:absolute;top:8px;left:8px;padding:3px 8px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:var(--radius-pill);font-size:11px;font-weight:600;pointer-events:none;z-index:2}.subject-image-field__actions-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);opacity:0;transition:opacity .2s ease;z-index:3}.subject-image-field__container:hover .subject-image-field__actions-overlay,.subject-image-field__container:focus-within .subject-image-field__actions-overlay{opacity:1}.subject-image-field__action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:600;cursor:pointer;border:none;background:#fff;color:#1f2937;box-shadow:0 2px 8px #0003;transition:all .15s ease}.subject-image-field__action-btn:hover:not(:disabled){background:#f3f4f6;transform:translateY(-1px)}.subject-image-field__action-btn.is-danger{background:#fee2e2;color:#dc2626}.subject-image-field__action-btn.is-danger:hover:not(:disabled){background:#fecaca}.subject-image-field__dropzone{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);text-align:center;cursor:pointer;color:var(--color-text-muted)}.subject-image-field__dropzone:hover{color:var(--color-primary)}.subject-image-field__icon-wrap{width:44px;height:44px;border-radius:50%;background:var(--color-surface-3);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.subject-image-field__drop-text{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.subject-image-field__drop-sub{font-size:var(--fs-xs);color:var(--color-text-subtle);max-width:280px}.subject-image-field__url-form{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);box-sizing:border-box}.subject-image-field__url-input-group{display:flex;align-items:center;gap:var(--space-2);width:100%;max-width:380px}.subject-image-field__url-input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-sm);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s ease}.subject-image-field__url-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.subject-image-field__url-submit-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:var(--radius-md);border:none;background:var(--color-primary);color:#fff;font-size:var(--fs-xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.subject-image-field__url-submit-btn:hover:not(:disabled){opacity:.9}.subject-image-field__url-submit-btn:disabled{opacity:.5;cursor:not-allowed}.subject-image-field__loading-overlay{position:absolute;inset:0;background:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);z-index:4;font-size:var(--fs-sm);font-weight:600;color:var(--color-primary)}[data-theme=dark] .subject-image-field__loading-overlay{background:#111827d9}.subject-image-field__error{font-size:var(--fs-xs);color:var(--color-error);font-weight:500}
