.tour-overlay[data-v-df2dcd39]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;pointer-events:auto}.tour-mask[data-v-df2dcd39]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tour-glow-rect[data-v-df2dcd39]{filter:drop-shadow(0 0 8px rgba(20,184,166,.5));animation:tourPulse-df2dcd39 2s ease-in-out infinite}@keyframes tourPulse-df2dcd39{0%,to{stroke-opacity:1}50%{stroke-opacity:.5}}.tour-tooltip[data-v-df2dcd39]{position:absolute;width:340px;max-width:calc(100vw - 32px);background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 40px #0003;z-index:100000;pointer-events:auto;animation:tooltipIn-df2dcd39 .3s ease}.tour-tooltip-final[data-v-df2dcd39]{top:50%!important;left:50%!important;transform:translate(-50%,-50%);text-align:center;width:400px}@keyframes tooltipIn-df2dcd39{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip-final .tour-actions[data-v-df2dcd39]{justify-content:center}:root[data-theme=dark] .tour-tooltip[data-v-df2dcd39]{background:#1e293b;color:#e2e8f0;box-shadow:0 8px 40px #00000080}.tour-step-badge[data-v-df2dcd39]{display:inline-block;padding:2px 10px;border-radius:99px;background:#14b8a61f;color:#14b8a6;font-size:.7rem;font-weight:700;margin-bottom:8px}.tour-tooltip h3[data-v-df2dcd39]{font-size:1.05rem;font-weight:800;margin:0 0 8px;color:#1e293b}:root[data-theme=dark] .tour-tooltip h3[data-v-df2dcd39]{color:#f1f5f9}.tour-tooltip p[data-v-df2dcd39]{font-size:.85rem;line-height:1.6;color:#64748b;margin:0 0 16px}:root[data-theme=dark] .tour-tooltip p[data-v-df2dcd39]{color:#94a3b8}.tour-actions[data-v-df2dcd39]{display:flex;align-items:center;gap:8px}.tour-spacer[data-v-df2dcd39]{flex:1}.tour-btn[data-v-df2dcd39]{padding:7px 16px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:inherit}.tour-btn-primary[data-v-df2dcd39]{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 2px 8px #14b8a64d}.tour-btn-primary[data-v-df2dcd39]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.tour-btn-secondary[data-v-df2dcd39]{background:transparent;color:#64748b;border:1px solid #e2e8f0}:root[data-theme=dark] .tour-btn-secondary[data-v-df2dcd39]{border-color:#475569;color:#94a3b8}.tour-btn-secondary[data-v-df2dcd39]:hover{background:#f8fafc}:root[data-theme=dark] .tour-btn-secondary[data-v-df2dcd39]:hover{background:#334155}.tour-btn-ghost[data-v-df2dcd39]{background:transparent;color:#64748b}.tour-btn-ghost[data-v-df2dcd39]:hover{color:#1e293b}:root[data-theme=dark] .tour-btn-ghost[data-v-df2dcd39]:hover{color:#f1f5f9}.tour-progress[data-v-df2dcd39]{margin-top:16px;height:3px;background:#e2e8f0;border-radius:2px;overflow:hidden}:root[data-theme=dark] .tour-progress[data-v-df2dcd39]{background:#334155}.tour-progress-fill[data-v-df2dcd39]{height:100%;background:linear-gradient(90deg,#14b8a6,#8b5cf6);border-radius:2px;transition:width .4s ease}.tour-fade-enter-active[data-v-df2dcd39],.tour-fade-leave-active[data-v-df2dcd39]{transition:opacity .3s ease}.tour-fade-enter-from[data-v-df2dcd39],.tour-fade-leave-to[data-v-df2dcd39]{opacity:0}@media (max-width: 768px){.tour-tooltip[data-v-df2dcd39]{width:calc(100vw - 32px);bottom:16px!important;top:auto!important;left:16px!important;right:16px;position:fixed}.tour-tooltip-final[data-v-df2dcd39]{top:auto!important;left:16px!important;transform:none;bottom:16px;width:calc(100vw - 32px)}}:root{--cs-primary-50: #f0fdfa;--cs-primary-100: #ccfbf1;--cs-primary-200: #99f6e4;--cs-primary-300: #5eead4;--cs-primary-400: #2dd4bf;--cs-primary-500: #14b8a6;--cs-primary-600: #0d9488;--cs-primary-700: #0f766e;--cs-primary-800: #115e59;--cs-primary-900: #134e4a;--cs-primary-950: #042f2e;--cs-accent-50: #fffbeb;--cs-accent-100: #fef3c7;--cs-accent-200: #fde68a;--cs-accent-300: #fcd34d;--cs-accent-400: #fbbf24;--cs-accent-500: #f59e0b;--cs-accent-600: #d97706;--cs-accent-700: #b45309;--cs-stone-50: #fafaf9;--cs-stone-100: #f5f5f4;--cs-stone-200: #e7e5e4;--cs-stone-300: #d6d3d1;--cs-stone-400: #a8a29e;--cs-stone-500: #78716c;--cs-stone-600: #57534e;--cs-stone-700: #44403c;--cs-stone-800: #292524;--cs-stone-900: #1c1917;--cs-stone-950: #0c0a09;--cs-success: #10b981;--cs-success-light: #d1fae5;--cs-warning: #f59e0b;--cs-warning-light: #fef3c7;--cs-error: #ef4444;--cs-error-light: #fee2e2;--cs-info: #0ea5e9;--cs-info-light: #e0f2fe;--color-primary: var(--cs-primary-600);--color-primary-hover: var(--cs-primary-700);--color-primary-light: var(--cs-primary-100);--color-primary-subtle: var(--cs-primary-50);--color-accent: var(--cs-accent-500);--color-accent-hover: var(--cs-accent-600);--color-bg: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: var(--cs-stone-50);--color-bg-tertiary: var(--cs-stone-100);--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text: var(--cs-stone-900);--color-text-primary: var(--cs-stone-900);--color-text-secondary: var(--cs-stone-600);--color-muted: var(--cs-stone-500);--color-primary-dark: var(--cs-primary-700);--color-border: var(--cs-stone-200);--color-border-hover: var(--cs-stone-300);--color-border-subtle: var(--cs-stone-100);--color-certified: var(--cs-accent-600);--color-certified-bg: var(--cs-accent-100);--color-certified-border: var(--cs-accent-300);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tighter: -.04em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(28, 25, 23, .03);--shadow-sm: 0 1px 3px rgba(28, 25, 23, .04), 0 1px 2px rgba(28, 25, 23, .02);--shadow-md: 0 4px 6px -1px rgba(28, 25, 23, .06), 0 2px 4px -2px rgba(28, 25, 23, .03);--shadow-lg: 0 10px 15px -3px rgba(28, 25, 23, .06), 0 4px 6px -4px rgba(28, 25, 23, .03);--shadow-xl: 0 20px 25px -5px rgba(28, 25, 23, .08), 0 8px 10px -6px rgba(28, 25, 23, .03);--shadow-2xl: 0 25px 50px -12px rgba(28, 25, 23, .15);--shadow-glow-sm: 0 0 15px rgba(13, 148, 136, .15);--shadow-glow: 0 0 25px rgba(13, 148, 136, .2);--shadow-glow-lg: 0 0 40px rgba(13, 148, 136, .25);--shadow-glow-accent: 0 0 25px rgba(245, 158, 11, .25);--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--z-hide: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-toast: 700;--z-tooltip: 800;--sidebar-width: 280px;--sidebar-collapsed: 72px;--header-height: 56px;--panel-width: 360px;--max-content-width: 1400px}[data-theme=dark]{--color-bg: #0f172a;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-surface: #1e293b;--color-surface-elevated: #293548;--color-text: #f1f5f9;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-muted: #64748b;--color-border: #334155;--color-border-hover: #475569;--color-border-subtle: #1e293b;--shadow-xs: 0 1px 2px rgba(0,0,0,.2);--shadow-sm: 0 1px 3px rgba(0,0,0,.25);--shadow-md: 0 4px 6px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px rgba(0,0,0,.35);--shadow-xl: 0 20px 25px rgba(0,0,0,.4);--shadow-2xl: 0 25px 50px rgba(0,0,0,.5);color-scheme:dark}[data-theme=dark] ::selection{background:var(--cs-primary-700);color:var(--cs-primary-100)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--cs-stone-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--cs-stone-500)}[data-theme=dark] .card-glass{background:#1e293bd9;border-color:#33415599}[data-theme=dark] .preview-overlay{background:#000000eb}[data-theme=dark] .login-form-container{background:#1e293b}[data-theme=dark] .login-header h2{color:#f1f5f9}[data-theme=dark] .login-header p{color:#94a3b8}[data-theme=dark] .login-form .form-label{color:#cbd5e1}[data-theme=dark] .login-form .input{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .login-form .input::placeholder{color:#475569}[data-theme=dark] .login-form .input:focus{border-color:#14b8a6}[data-theme=dark] .login-form .input-icon{color:#64748b}[data-theme=dark] .login-form .input-wrapper:focus-within .input-icon{color:#14b8a6}[data-theme=dark] .password-toggle{color:#64748b}[data-theme=dark] .password-toggle:hover{color:#e2e8f0;background:#ffffff0f}[data-theme=dark] .forgot-link{color:#64748b}[data-theme=dark] .forgot-link:hover{color:#14b8a6}[data-theme=dark] .copyright{color:#475569}[data-theme=dark] .login-container{background:#1e293be6;box-shadow:0 0 0 1px #33415580,var(--shadow-2xl)}[data-theme=dark] .login-bg-gradient{background:radial-gradient(ellipse 100% 80% at 20% 20%,rgba(20,184,166,.15) 0%,transparent 50%),radial-gradient(ellipse 80% 100% at 80% 80%,rgba(245,158,11,.08) 0%,transparent 50%),linear-gradient(160deg,#0f172a,#1e293b)}[data-theme=dark] .login-bg-pattern{background-image:radial-gradient(rgba(13,148,136,.06) 1.5px,transparent 1.5px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);min-height:100vh;min-height:100dvh}::selection{background:var(--cs-primary-200);color:var(--cs-primary-900)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--cs-stone-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--cs-stone-400)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}@media (min-width: 768px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}}p{line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-150) var(--ease-out)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-mono);font-size:.875em}code{background:var(--color-bg-tertiary);padding:.125em .375em;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1;border-radius:var(--radius-xl);border:none;cursor:pointer;transition:all var(--duration-200) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--duration-150) var(--ease-out)}.btn:hover:before{opacity:1}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn svg{flex-shrink:0;transition:transform var(--duration-200) var(--ease-out)}.btn-primary{background:linear-gradient(135deg,var(--cs-primary-500) 0%,var(--cs-primary-600) 50%,var(--cs-primary-700) 100%);color:#fff;box-shadow:var(--shadow-md),inset 0 1px #ffffff26,inset 0 -1px #0000001a}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow),inset 0 1px #fff3;transform:translateY(-2px)}.btn-primary:hover:not(:disabled) svg{transform:translate(2px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text)}.btn-accent{background:linear-gradient(135deg,var(--cs-accent-400) 0%,var(--cs-accent-500) 50%,var(--cs-accent-600) 100%);color:#fff;box-shadow:var(--shadow-md),inset 0 1px #fff3}.btn-accent:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-accent);transform:translateY(-2px)}.btn-sm{height:34px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-lg)}.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-xl{height:56px;padding:0 var(--space-8);font-size:var(--text-lg)}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:34px}.btn-icon.btn-lg{width:48px}.input{width:100%;height:48px;padding:0 var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--duration-200) var(--ease-out);-webkit-appearance:none}.input:hover{border-color:var(--color-border-hover)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--cs-primary-100),var(--shadow-glow-sm)}.input::placeholder{color:var(--color-muted)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:all var(--duration-300) var(--ease-out);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-secondary)}.card-glass{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2-5);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.03em}.badge-success{background:var(--cs-success-light);color:var(--cs-success)}.badge-warning{background:var(--cs-warning-light);color:var(--cs-accent-700)}.badge-error{background:var(--cs-error-light);color:var(--cs-error)}.badge-info{background:var(--cs-info-light);color:var(--cs-info)}.badge-certified{background:linear-gradient(135deg,var(--cs-accent-100) 0%,var(--cs-accent-200) 100%);color:var(--cs-accent-600);border:1px solid var(--cs-accent-300);padding:var(--space-1);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #f59e0b33}.badge-certified svg{display:block;width:14px;height:14px}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-secondary)}@media (min-width: 768px){.app-layout{flex-direction:row}}.sidebar{order:2;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;flex-direction:row;align-items:flex-end;justify-content:center;padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;z-index:var(--z-fixed);gap:0;min-height:60px}@media (min-width: 768px){.sidebar{order:0;position:relative;width:var(--sidebar-width);flex-direction:column;align-items:stretch;justify-content:flex-start;border-top:none;border-right:1px solid var(--color-border);padding:0;flex-shrink:0}}.sidebar-header{display:none}@media (min-width: 768px){.sidebar-header{display:flex;padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo svg{flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(13,148,136,.2))}.logo span{font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,var(--cs-primary-700) 0%,var(--cs-primary-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;flex:1;gap:0;width:100%;max-width:400px}@media (min-width: 768px){.sidebar-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:1;padding:var(--space-4);gap:var(--space-2);max-width:none;width:auto}}.sidebar-nav .btn{flex-direction:column;height:auto;padding:8px 6px 4px;gap:3px;font-size:10px;border-radius:var(--radius-md);min-width:56px;max-width:72px;flex:1;align-items:center;justify-content:flex-end;min-height:44px;background:transparent;color:var(--color-text-tertiary);transition:color .15s ease}.sidebar-nav .btn:hover,.sidebar-nav .btn:focus{color:var(--color-text-primary);background:transparent}.sidebar-nav .btn.active{color:var(--cs-primary, #0d9488)}.sidebar-nav .btn svg{width:22px;height:22px;flex-shrink:0;opacity:.85}.sidebar-nav .btn.active svg{opacity:1}.nav-divider{display:none}@media (min-width: 768px){.sidebar-nav .btn{flex-direction:row;height:44px;padding:0 var(--space-4);gap:var(--space-3);font-size:var(--text-sm);justify-content:flex-start;border-radius:var(--radius-xl);flex:unset;min-height:unset;min-width:unset;max-width:unset;color:var(--color-text-secondary);background:transparent}.sidebar-nav .btn:hover,.sidebar-nav .btn:focus{background:var(--color-bg-secondary);color:var(--color-text-primary)}.sidebar-nav .btn.active{background:var(--cs-primary-50, rgba(13, 148, 136, .08));color:var(--cs-primary, #0d9488)}.sidebar-nav .btn svg{width:18px;height:18px;opacity:1}.nav-divider{display:block;height:1px;background:var(--color-border-subtle);margin:var(--space-2) 0}}.sidebar-footer{display:none}@media (min-width: 768px){.sidebar-footer{display:flex;padding:var(--space-4);border-top:1px solid var(--color-border-subtle);align-items:center;justify-content:space-between;gap:var(--space-3)}}.user-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.user-avatar{width:40px;height:40px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--cs-primary-500) 0%,var(--cs-primary-600) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0;box-shadow:var(--shadow-md),var(--shadow-glow-sm)}.user-details{min-width:0}.user-name{font-weight:var(--font-semibold);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.user-email{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--color-bg-secondary);padding-bottom:80px}@media (min-width: 768px){.main-content{padding-bottom:0}}.main-content.with-panel{margin-right:0}.header{height:var(--header-height);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:sticky;top:0;z-index:var(--z-sticky)}@media (min-width: 768px){.header{padding:0 var(--space-6);gap:var(--space-4)}}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.breadcrumbs::-webkit-scrollbar{display:none}.breadcrumb-sep{color:var(--color-muted);font-size:var(--text-sm);flex-shrink:0}.breadcrumb-item{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-out);white-space:nowrap;flex-shrink:0}.breadcrumb-item:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.breadcrumb-item.active{color:var(--color-primary);font-weight:var(--font-semibold)}.content{flex:1;padding:var(--space-4);overflow-y:auto}@media (min-width: 768px){.content{padding:var(--space-6)}}.file-grid{display:flex;flex-direction:column;gap:var(--space-2)}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-200) var(--ease-out);-webkit-tap-highlight-color:transparent;overflow:hidden}@media (min-width: 768px){.file-item{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl)}}.file-item:hover{background:var(--color-bg-secondary);border-color:var(--color-border-subtle);transform:translate(4px)}.file-item:active{transform:scale(.99)}.file-item.selected{background:var(--cs-primary-50);border-color:var(--cs-primary-200);box-shadow:var(--shadow-sm),var(--shadow-glow-sm)}.file-item.folder .file-icon{background:linear-gradient(135deg,var(--cs-primary-100) 0%,var(--cs-primary-200) 100%)}.file-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-xl);font-size:1.5rem;flex-shrink:0;transition:all var(--duration-200) var(--ease-out)}@media (min-width: 768px){.file-icon{width:52px;height:52px}}.file-item:hover .file-icon{transform:scale(1.05)}.file-info{flex:1;min-width:0;overflow:hidden}.file-name{font-weight:var(--font-semibold);font-size:.82rem;color:var(--color-text);display:flex;align-items:center;gap:4px;max-width:100%;line-height:1.3;min-width:0;overflow:hidden}.file-name .file-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.file-name .badge-certified,.file-name .badge-workflow,.file-name .badge-inline{flex-shrink:0}@media (min-width: 768px){.file-name{font-size:var(--text-base);gap:var(--space-2)}}.file-meta{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:.7rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-wrap:nowrap;min-width:0;max-width:100%}.file-meta span{flex-shrink:0}.file-meta span:first-child{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.file-meta{font-size:var(--text-xs);gap:var(--space-2);margin-top:var(--space-1)}}@media (max-width: 767px){.file-item{gap:var(--space-3);padding:10px 8px 10px 12px;min-height:60px}.file-icon{width:42px;height:42px;border-radius:var(--radius-lg);font-size:1.25rem}.file-icon svg{width:22px;height:22px}.file-name{font-size:.82rem;line-height:1.3}.file-name .file-name-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 40px)}.file-meta{font-size:.68rem;gap:4px;margin-top:1px;color:var(--color-muted);display:flex;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.file-actions{display:none}.file-menu-btn{width:40px;height:40px;opacity:.7}}.meta-sep{opacity:.4}.file-menu-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-muted);cursor:pointer;opacity:.5;transition:all var(--duration-150) var(--ease-out);-webkit-tap-highlight-color:transparent}.file-item:hover .file-menu-btn{opacity:1}.file-menu-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.details-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100dvh;background:var(--color-bg-primary, #ffffff);border-left:none;display:flex;flex-direction:column;z-index:calc(var(--z-modal) + 10);transform:translate(0);animation:panelSlideIn var(--duration-300) var(--ease-out);overflow:hidden;color:var(--color-text, #1c1917)}@supports not (height: 100dvh){.details-panel{height:100vh}}@keyframes panelSlideIn{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}@media (min-width: 768px){.details-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:var(--panel-width);max-width:none;z-index:var(--z-base);flex-shrink:0;border-left:1px solid var(--color-border);padding-bottom:0;height:auto;background:var(--color-surface)}}:root.dark .details-panel,:root[data-theme=dark] .details-panel{background:#0f172a;color:#e2e8f0}:root.dark .panel-header,:root[data-theme=dark] .panel-header{background:#1e293b;border-bottom-color:#334155}:root.dark .panel-content,:root[data-theme=dark] .panel-content{background:#0f172a}:root.dark .panel-actions,:root[data-theme=dark] .panel-actions{border-bottom-color:#334155}:root.dark .panel-tabs,:root[data-theme=dark] .panel-tabs{border-bottom-color:#334155}:root.dark .panel-tabs button,:root[data-theme=dark] .panel-tabs button{color:#64748b}:root.dark .panel-tabs button:hover,:root[data-theme=dark] .panel-tabs button:hover{color:#e2e8f0;background:#ffffff0d}:root.dark .panel-tabs button.active,:root[data-theme=dark] .panel-tabs button.active{color:#5eead4}:root.dark .info-label,:root[data-theme=dark] .info-label{color:#94a3b8}:root.dark .info-value,:root[data-theme=dark] .info-value{color:#e2e8f0}.panel-header{padding:var(--space-4) var(--space-4);padding-top:max(var(--space-4),env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border-subtle, #e5e7eb);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--color-bg-primary, #ffffff);color:var(--color-text, #1c1917);z-index:2}@media (min-width: 768px){.panel-header{padding:var(--space-4) var(--space-5)}}.panel-title{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.panel-icon{font-size:1.5rem}.panel-name{font-weight:var(--font-semibold);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-muted);cursor:pointer;transition:all var(--duration-150) var(--ease-out)}.btn-close:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.panel-preview{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(180deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%)}.panel-preview img{width:100%;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-300) var(--ease-out);box-shadow:var(--shadow-lg)}.panel-preview img:hover{transform:scale(1.02);box-shadow:var(--shadow-xl)}.panel-actions{padding:var(--space-3) var(--space-4);display:flex;flex-wrap:nowrap;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.panel-actions::-webkit-scrollbar{display:none}@media (min-width: 768px){.panel-actions{flex-wrap:wrap;overflow-x:visible}}.panel-tabs{display:flex;border-bottom:1px solid var(--color-border-subtle)}.panel-tabs button{flex:1;padding:var(--space-3-5);background:transparent;border:none;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-muted);cursor:pointer;position:relative;transition:all var(--duration-150) var(--ease-out)}.panel-tabs button:hover{color:var(--color-text);background:var(--color-bg-secondary)}.panel-tabs button.active{color:var(--color-primary)}.panel-tabs button.active:after{content:"";position:absolute;bottom:0;left:var(--space-4);right:var(--space-4);height:2px;background:linear-gradient(90deg,var(--cs-primary-500),var(--cs-primary-600));border-radius:var(--radius-full)}.panel-scroll-body{flex:1 1 0%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0;display:flex;flex-direction:column;touch-action:pan-y;-webkit-transform:translateZ(0);position:relative;z-index:1}.panel-content{flex:1 0 auto;overflow-y:visible;overflow-x:hidden;padding:var(--space-4);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px);min-height:0}@media (min-width: 768px){.panel-scroll-body{overflow-y:auto}.panel-content{padding-bottom:var(--space-6)}}.info-list{display:flex;flex-direction:column;gap:var(--space-4)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.info-value{font-size:var(--text-sm);color:var(--color-text);word-break:break-word}.info-value.path{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-bg-tertiary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg)}.versions-list{display:flex;flex-direction:column;gap:var(--space-2)}.version-item{padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:space-between;transition:all var(--duration-150) var(--ease-out)}.version-item:hover{background:var(--color-bg-tertiary);transform:translate(4px)}.version-info{display:flex;flex-direction:column;gap:var(--space-1)}.version-date{font-size:var(--text-sm);font-weight:var(--font-medium)}.version-size{font-size:var(--text-xs);color:var(--color-muted)}.badge-current{background:linear-gradient(135deg,var(--cs-primary-500),var(--cs-primary-600));color:#fff;font-size:var(--text-xs);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-lg);font-weight:var(--font-bold)}.compliance-section{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}.compliance-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.compliance-row+.compliance-row{border-top:1px solid var(--color-border-light)}.compliance-info{display:flex;flex-direction:column;gap:1px}.compliance-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.compliance-desc{font-size:var(--text-xs);color:var(--color-muted)}.toggle-switch{position:relative;display:inline-flex;cursor:pointer}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-track{width:36px;height:20px;background:var(--color-border);border-radius:12px;position:relative;transition:background var(--duration-200) var(--ease-out)}.toggle-switch.active .toggle-track{background:var(--cs-primary-500)}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform var(--duration-200) var(--ease-out);box-shadow:0 1px 3px #00000026}.toggle-switch.active .toggle-thumb{transform:translate(16px)}.retention-date-input{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text);cursor:pointer;max-width:130px}.retention-date-input:focus{outline:none;border-color:var(--cs-primary-400);box-shadow:0 0 0 2px #14b8a626}.compliance-badges{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.compliance-badge{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.02em}.badge-hold{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.badge-retention{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.badge-retention.badge-expiring{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.25);animation:retentionPulse 2s ease-in-out infinite}.badge-retention.badge-expired{background:#7f1d1d26;color:#991b1b;border:1px solid rgba(127,29,29,.3)}@keyframes retentionPulse{0%,to{opacity:1}50%{opacity:.7}}.audit-list{display:flex;flex-direction:column;gap:var(--space-1)}.audit-entry{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-lg);transition:background var(--duration-150) var(--ease-out)}.audit-entry:hover{background:var(--color-bg-tertiary)}.audit-icon{flex-shrink:0;font-size:var(--text-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-lg)}.audit-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.audit-ip:hover{opacity:1}.audit-list{display:flex;flex-direction:column;gap:var(--space-2)}.audit-entry{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-xl);transition:all var(--duration-150) var(--ease-out)}.audit-entry:hover{background:var(--color-bg-tertiary);transform:translate(4px)}.audit-icon{font-size:15px;flex-shrink:0;width:24px;text-align:center}.audit-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.audit-action{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.audit-time{font-size:var(--text-xs);color:var(--color-muted)}.audit-ip{flex-shrink:0;color:var(--color-muted);opacity:.5}.context-menu{position:fixed;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);min-width:200px;padding:var(--space-2);z-index:var(--z-popover);animation:contextMenuIn var(--duration-200) var(--ease-spring)}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.context-menu button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-3);background:transparent;border:none;border-radius:var(--radius-lg);font-family:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:all var(--duration-150) var(--ease-out);text-align:left}.context-menu button:hover{background:var(--color-bg-secondary)}.context-menu button:active{background:var(--color-bg-tertiary)}.context-menu button.danger{color:var(--cs-error)}.context-menu button.danger:hover{background:var(--cs-error-light)}.menu-divider{height:1px;background:var(--color-border-subtle);margin:var(--space-2) 0}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0a09e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-200) var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-modal{background:var(--color-surface);border-radius:var(--radius-2xl);width:100%;max-width:1200px;height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:900px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-2xl);animation:modalIn var(--duration-300) var(--ease-spring)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.preview-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;font-weight:var(--font-semibold)}.preview-header button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-muted);cursor:pointer;transition:all var(--duration-150) var(--ease-out)}.preview-header button:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--cs-stone-900)}.preview-content iframe{width:100%;height:100%;border:none}.preview-content img{max-width:100%;max-height:100%;object-fit:contain}.preview-unsupported{color:var(--cs-stone-400);padding:var(--space-12);text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);border-radius:var(--radius-3xl);color:var(--color-muted);margin-bottom:var(--space-6);animation:emptyIconFloat 3s ease-in-out infinite}@keyframes emptyIconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state h3{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.empty-state p{color:var(--color-muted);font-size:var(--text-sm);max-width:280px;margin-bottom:var(--space-6)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-4)}.spinner-sm{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:var(--space-4)}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 100% 80% at 20% 20%,rgba(20,184,166,.2) 0%,transparent 50%),radial-gradient(ellipse 80% 100% at 80% 80%,rgba(245,158,11,.12) 0%,transparent 50%),linear-gradient(160deg,var(--cs-stone-50) 0%,var(--cs-stone-100) 100%);animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%;filter:hue-rotate(0deg)}50%{background-position:100% 50%;filter:hue-rotate(5deg)}}.login-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(13,148,136,.08) 1.5px,transparent 1.5px);background-size:32px 32px;animation:patternMove 20s linear infinite}@keyframes patternMove{0%{background-position:0 0}to{background-position:32px 32px}}.login-container{display:flex;flex-direction:column;width:100%;max-width:480px;background:#ffffffe6;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:var(--radius-3xl);box-shadow:0 0 0 1px #ffffff80,var(--shadow-2xl);overflow:hidden;position:relative;z-index:1}@media (min-width: 900px){.login-container{flex-direction:row;max-width:1000px;min-height:600px}}.login-branding{background:linear-gradient(160deg,var(--cs-primary-600) 0%,var(--cs-primary-700) 40%,var(--cs-primary-800) 100%);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;position:relative;overflow:hidden}@media (min-width: 900px){.login-branding{flex:1;padding:var(--space-10);justify-content:space-between}}.login-branding:before{content:"";position:absolute;top:-50%;right:-50%;width:150%;height:150%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);animation:orbitSlow 20s linear infinite;pointer-events:none}@keyframes orbitSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.branding-content{position:relative;z-index:1}.brand-logo{margin-bottom:var(--space-5)}.brand-logo svg{filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.login-branding h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff;letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}@media (min-width: 900px){.login-branding h1{font-size:var(--text-3xl)}}.brand-tagline{font-size:var(--text-base);color:#ffffffd9;margin-bottom:var(--space-8)}.features-list{display:none;flex-direction:column;gap:var(--space-5)}@media (min-width: 900px){.features-list{display:flex}}.feature-item{display:flex;align-items:flex-start;gap:var(--space-4);opacity:0;animation:featureSlideIn var(--duration-500) var(--ease-out) forwards}.feature-item:nth-child(1){animation-delay:.1s}.feature-item:nth-child(2){animation-delay:.2s}.feature-item:nth-child(3){animation-delay:.3s}@keyframes featureSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-xl);color:#fff;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.feature-text{display:flex;flex-direction:column;gap:var(--space-1)}.feature-title{font-weight:var(--font-semibold);color:#fff;font-size:var(--text-base)}.feature-desc{font-size:var(--text-sm);color:#ffffffb3}.brand-footer{display:none;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:#ffffff80;position:relative;z-index:1;margin-top:var(--space-8)}@media (min-width: 900px){.brand-footer{display:flex}}.brand-footer .dot{opacity:.4}.login-form-container{flex:1;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;justify-content:center;background:#fff}@media (min-width: 900px){.login-form-container{padding:var(--space-12) var(--space-10)}}.login-card{max-width:360px;margin:0 auto;width:100%}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h2{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#1e293b;margin-bottom:var(--space-2)}.login-header p{color:var(--color-muted);font-size:var(--text-base)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.input-wrapper{position:relative}.input-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-muted);pointer-events:none;transition:color var(--duration-150) var(--ease-out)}.input-wrapper .input{padding-left:calc(var(--space-4) + 20px + var(--space-3))}.input-wrapper .input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--color-primary)}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--cs-error-light);color:var(--cs-error);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-medium);animation:shake var(--duration-300) var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.btn-spinner{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-footer{text-align:center;margin-top:var(--space-6)}.forgot-link{font-size:var(--text-sm);color:var(--color-muted);text-decoration:none;transition:color var(--duration-150) var(--ease-out)}.forgot-link:hover{color:var(--color-primary)}.copyright{text-align:center;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.text-success{color:var(--cs-success)}.text-warning{color:var(--cs-warning)}.text-error{color:var(--cs-error)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-sm{margin-top:var(--space-2)}.mt-md{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4,.mb-md{margin-bottom:var(--space-4)}.py-md{padding-top:var(--space-6);padding-bottom:var(--space-6)}.w-full{width:100%}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
