:root{--color-primary: #4b5563;--color-primary-hover: #374151;--color-primary-active: #1f2937;--color-primary-light: #f3f4f6;--color-primary-dark: #1f2937;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-inverse: #f9fafb;--color-text-disabled: #9ca3af;--color-bg-primary: #f9fafb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f3f4f6;--color-bg-inverse: #111827;--color-bg-disabled: #e5e7eb;--color-border-primary: #e5e7eb;--color-border-secondary: #d1d5db;--color-border-focus: #6b7280;--color-border-error: #6b7280;--color-border-success: #6b7280;--color-border-warning: #6b7280;--color-success: #6b7280;--color-success-light: #f3f4f6;--color-success-dark: #374151;--color-warning: #6b7280;--color-warning-light: #f3f4f6;--color-warning-dark: #374151;--color-error: #6b7280;--color-error-light: #f3f4f6;--color-error-dark: #374151;--color-info: #6b7280;--color-info-light: #f3f4f6;--color-info-dark: #374151;--font-family-primary: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: JetBrains Mono, Fira Code, Monaco, Consolas, Courier New, monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--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;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: none;--shadow-base: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--shadow-2xl: none;--transition-fast: 0s linear;--transition-base: 0s linear;--transition-slow: 0s linear;--sidebar-width: 280px;--sidebar-width-collapsed: 80px;--header-height: 64px;--container-max-width: 1200px;--container-padding: 1.5rem;--z-dropdown: 1000;--z-sticky: 1100;--z-modal: 1400;--z-toast: 1700;--z-tooltip: 1800;--gradient-sidebar: var(--color-bg-secondary);--gradient-logo: var(--color-bg-secondary);--gradient-auth: var(--color-bg-secondary);--alpha-sidebar-divider: rgba(255, 255, 255, .1);--alpha-sidebar-text: rgba(255, 255, 255, .8);--alpha-sidebar-button: rgba(255, 255, 255, .1);--alpha-sidebar-button-hover: rgba(255, 255, 255, .2);--alpha-sidebar-input: rgba(255, 255, 255, .1);--alpha-sidebar-input-hover: rgba(255, 255, 255, .15);--alpha-sidebar-input-focus: rgba(255, 255, 255, .2);--alpha-sidebar-bg-light: rgba(255, 255, 255, .05);--alpha-sidebar-bg-active: rgba(255, 255, 255, .15);--alpha-sidebar-text-muted: rgba(255, 255, 255, .7);--alpha-sidebar-border-focus: rgba(255, 255, 255, .3);--alpha-sidebar-border-strong: rgba(255, 255, 255, .5);--alpha-overlay-modal: rgba(0, 0, 0, .5);--alpha-overlay-loading: rgba(255, 255, 255, .8);--alpha-overlay: rgba(0, 0, 0, .5);--alpha-selection: rgba(107, 114, 128, .2);--alpha-auth-pattern: rgba(255, 255, 255, .1);--alpha-auth-logo: rgba(255, 255, 255, .2);--alpha-auth-border: rgba(255, 255, 255, .1);--alpha-auth-footer: rgba(255, 255, 255, .8);--alpha-auth-footer-muted: rgba(255, 255, 255, .7);--alpha-auth-footer-icon: rgba(255, 255, 255, .6);--alpha-auth-footer-sep: rgba(255, 255, 255, .4);--shadow-text-light: none;--modal-sm-width: 400px;--modal-md-width: 500px;--modal-lg-width: 85vw;--modal-xl-width: 900px;--modal-max-height: 90vh;--modal-full-width: calc(100vw - 2rem) ;--modal-full-height: calc(100vh - 2rem) ;--actions-column-width: 120px;--routine-list-height: 300px;--exercise-list-height: 400px;--ripple-size: 300px;--ripple-color: rgba(255, 255, 255, .3);--glow-shadow-alpha: .1;--focus-shadow-alpha: .1;--kbd-shadow-inset: inset 0 -1px 0 rgba(0, 0, 0, .25);--toast-min-width: 300px;--toast-max-width: 500px;--toast-progress-height: 3px;--scrollbar-width: 4px;--scrollbar-height: 4px;--form-max-width-sm: 500px;--form-max-width-md: 600px;--form-max-width-lg: 800px;--form-min-field-width: 200px;--form-button-min-width: 120px;--card-max-width-content: 1000px;--card-min-height: 120px;--table-min-width-mobile: 600px;--table-action-cell-width: 120px;--table-checkbox-width: 40px;--nav-item-min-height: 44px;--dropdown-min-width: 200px;--dropdown-max-width: 400px;--content-max-width-narrow: 600px;--content-max-width-wide: 1000px;--content-max-width-full: 1200px;--button-min-width: 80px;--input-min-height: 44px;--touch-target-min: 44px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px}@media (prefers-color-scheme: dark){:root{--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #111827;--color-text-disabled: #4b5563;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-inverse: #f8fafc;--color-bg-disabled: #374151;--color-border-primary: #475569;--color-border-secondary: #64748b;--color-border-focus: #9ca3af;--color-primary: #6b7280;--color-primary-hover: #9ca3af;--color-primary-active: #4b5563;--color-primary-light: #111827;--color-primary-dark: #f3f4f6;--color-success: #9ca3af;--color-success-light: #111827;--color-success-dark: #d1d5db;--color-warning: #9ca3af;--color-warning-light: #111827;--color-warning-dark: #d1d5db;--color-error: #9ca3af;--color-error-light: #111827;--color-error-dark: #d1d5db;--color-info: #9ca3af;--color-info-light: #111827;--color-info-dark: #d1d5db}}[data-theme=dark]{--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #111827;--color-text-disabled: #4b5563;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-inverse: #f8fafc;--color-bg-disabled: #374151;--color-border-primary: #475569;--color-border-secondary: #64748b;--color-border-focus: #9ca3af;--color-primary: #6b7280;--color-primary-hover: #9ca3af;--color-primary-active: #4b5563;--color-primary-light: #111827;--color-primary-dark: #f3f4f6;--color-success: #9ca3af;--color-success-light: #111827;--color-success-dark: #d1d5db;--color-warning: #9ca3af;--color-warning-light: #111827;--color-warning-dark: #d1d5db;--color-error: #9ca3af;--color-error-light: #111827;--color-error-dark: #d1d5db;--color-info: #9ca3af;--color-info-light: #111827;--color-info-dark: #d1d5db}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}a:not([class]){text-decoration-skip-ink:auto}img,picture,svg{max-width:100%;height:auto;display:block}button{font:inherit;background:none;border:none;cursor:pointer}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}h1{font-family:var(--font-family-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:-.025em}@media (max-width: 639px){h1{font-size:var(--font-size-3xl)}}h2{font-family:var(--font-family-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:-.025em}@media (max-width: 639px){h2{font-size:var(--font-size-2xl)}}h3{font-family:var(--font-family-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);color:var(--color-text-primary);letter-spacing:-.025em}@media (max-width: 639px){h3{font-size:var(--font-size-xl)}}h4{font-family:var(--font-family-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-primary)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}p{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}small{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-tertiary)}strong,b{font-weight:var(--font-weight-semibold)}em{font-style:italic}i:not([class*=fa]){font-style:italic}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}li{margin-bottom:var(--space-1)}li:last-child{margin-bottom:0}code,pre,samp,kbd{font-family:var(--font-family-mono)}code{font-size:.875em;padding:var(--space-1) var(--space-2);background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-primary)}pre{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;margin-bottom:var(--space-4)}pre code{padding:0;background:none;border-radius:0}kbd{font-size:.875em;padding:var(--space-1) var(--space-2);background-color:var(--color-neutral-800);color:#fff;border-radius:var(--radius-sm);box-shadow:inset 0 -1px #00000040}input,textarea,select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}input:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus){border-color:var(--color-border-secondary);box-shadow:var(--shadow-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-base);background:var(--color-bg-secondary)}input:disabled,textarea:disabled,select:disabled{background:var(--color-bg-disabled);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.6}input.error,textarea.error,select.error{border-color:var(--color-border-error);background:var(--color-error-light)}input.error:focus,textarea.error:focus,select.error:focus{box-shadow:0 0 0 3px #ef44441a,var(--shadow-base)}input.success,textarea.success,select.success{border-color:var(--color-border-success);background:var(--color-success-light)}label{display:block;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}fieldset{border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}legend{font-weight:var(--font-weight-semibold);padding:0 var(--space-2);color:var(--color-text-primary)}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-6);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-primary)}th{background-color:var(--color-bg-tertiary);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm)}td{color:var(--color-text-secondary)}tr:last-child td{border-bottom:none}blockquote{border-left:4px solid var(--color-primary);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);font-style:italic}blockquote p:last-child{margin-bottom:0}hr{border:none;height:1px;background-color:var(--color-border-primary);margin:var(--space-8) 0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:#667eea33;color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:flex-start}.flex-end{display:flex;align-items:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-success-light{background-color:var(--color-success-light)}.bg-warning-light{background-color:var(--color-warning-light)}.bg-error-light{background-color:var(--color-error-light)}.bg-info-light{background-color:var(--color-info-light)}.border{border:1px solid var(--color-border-primary)}.border-0{border:0}.border-t{border-top:1px solid var(--color-border-primary)}.border-b{border-bottom:1px solid var(--color-border-primary)}.border-l{border-left:1px solid var(--color-border-primary)}.border-r{border-right:1px solid var(--color-border-primary)}.border-primary{border-color:var(--color-border-primary)}.border-secondary{border-color:var(--color-border-secondary)}.border-focus{border-color:var(--color-border-focus)}.border-error{border-color:var(--color-border-error)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-full{max-width:100%}.max-w-none{max-width:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.inset-0{inset:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (min-width: 640px){.sm\:block{display:block}.sm\:hidden{display:none}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:text-base{font-size:var(--font-size-base)}.sm\:text-lg{font-size:var(--font-size-lg)}}@media (min-width: 768px){.md\:block{display:block}.md\:hidden{display:none}.md\:flex{display:flex}.md\:grid{display:grid}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-lg{font-size:var(--font-size-lg)}.md\:text-xl{font-size:var(--font-size-xl)}.md\:text-2xl{font-size:var(--font-size-2xl)}}@media (min-width: 1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}#app-root{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh;background-color:var(--color-bg-primary)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);overflow-x:auto}.main-content.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}@media (max-width: 639px){.main-content{margin-left:0}}.page-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--container-padding)}.page-header{margin-bottom:var(--space-8)}.page-header h1{margin-bottom:var(--space-2)}.page-header .page-description{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:0}.page-content .actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);gap:var(--space-4)}@media (max-width: 639px){.page-content .actions-bar{flex-direction:column;align-items:stretch}}.page-content .actions-bar .primary-actions{display:flex;gap:var(--space-3);align-items:center}@media (max-width: 639px){.page-content .actions-bar .primary-actions{flex-direction:column;width:100%}}.page-content .actions-bar .search-filters{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}@media (max-width: 639px){.page-content .actions-bar .search-filters{width:100%;justify-content:space-between}}.page-content .actions-bar .search-filters .search-bar{position:relative;min-width:280px}@media (max-width: 639px){.page-content .actions-bar .search-filters .search-bar{min-width:100%}}.page-content .actions-bar .search-filters .search-bar input{padding-left:calc(var(--space-4) + 1.5rem);width:100%}.page-content .actions-bar .search-filters .search-bar .search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:var(--font-size-base);pointer-events:none}.page-content .content-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);overflow:hidden;transition:all var(--transition-base);padding:var(--space-6)}.btn{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.btn.btn-primary{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);white-space:nowrap;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border:1px solid var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.btn.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary-active) 100%);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md);box-shadow:var(--shadow-lg)}.btn.btn-primary:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.btn.btn-secondary{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);white-space:nowrap;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.btn.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-secondary:active{background:var(--color-bg-tertiary);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.btn.btn-ghost{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:1;text-decoration:none;border-radius:var(--radius-md);white-space:nowrap;background:transparent;color:var(--color-text-secondary);border:1px solid transparent;font-weight:var(--font-weight-medium)}.btn.btn-ghost:disabled{cursor:not-allowed;opacity:.6}.btn.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm)}.btn.btn-ghost:active{background:var(--color-bg-tertiary);transform:translateY(0)}.btn.btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.btn.btn-danger{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);white-space:nowrap;background:linear-gradient(135deg,var(--color-error) 0%,var(--color-error-dark) 100%);color:#fff;border:1px solid var(--color-error);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.btn.btn-danger:disabled{cursor:not-allowed;opacity:.6}.btn.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.btn.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,var(--color-error-dark) 0%,var(--color-error) 100%);border-color:var(--color-error-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);box-shadow:var(--shadow-lg)}.btn.btn-danger:active{background:var(--color-error-dark);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-error),.1)}.btn.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base)}.btn .icon{font-size:1.2em}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);overflow:hidden;transition:all var(--transition-base);padding:var(--space-6)}.card.card-interactive{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);overflow:hidden;transition:all var(--transition-base);transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid var(--color-border-primary)}.card.card-interactive:disabled{cursor:not-allowed;opacity:.6}.card.card-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--color-primary);box-shadow:var(--shadow-lg);background:var(--color-bg-secondary)}.card.card-interactive:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.card.card-sm{padding:var(--space-4)}.card.card-lg{padding:var(--space-8)}.card .card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-primary)}.card .card-header h2,.card .card-header h3,.card .card-header h4{margin-bottom:var(--space-1)}.card .card-header .card-subtitle{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-tertiary);margin-bottom:0}.card .card-body{flex:1}.card .card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-primary);display:flex;justify-content:flex-end;gap:var(--space-3)}.form-group{margin-bottom:var(--space-4)}.form-group label{margin-bottom:var(--space-2)}.form-group .form-error{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-tertiary);color:var(--color-error);margin-top:var(--space-1)}.form-group .form-help{font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-tertiary);margin-top:var(--space-1)}.form-row{display:flex;gap:var(--space-4)}@media (max-width: 639px){.form-row{flex-direction:column;gap:var(--space-3)}}.form-row .form-group{flex:1}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.input::placeholder{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.input:hover:not(:disabled):not(:focus){border-color:var(--color-border-secondary);box-shadow:var(--shadow-base)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-base);background:var(--color-bg-secondary)}.input:disabled{background:var(--color-bg-disabled);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.6}.input.error{border-color:var(--color-border-error);background:var(--color-error-light)}.input.error:focus{box-shadow:0 0 0 3px #ef44441a,var(--shadow-base)}.input.success{border-color:var(--color-border-success);background:var(--color-success-light)}.input.input-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.input.input-lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg)}.select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);box-shadow:var(--shadow-sm);cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:1rem;padding-right:calc(var(--space-4) + 1.5rem);appearance:none}.select::placeholder{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.select:hover:not(:disabled):not(:focus){border-color:var(--color-border-secondary);box-shadow:var(--shadow-base)}.select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-base);background:var(--color-bg-secondary)}.select:disabled{background:var(--color-bg-disabled);color:var(--color-text-disabled);border-color:var(--color-border-primary);cursor:not-allowed;opacity:.6}.select.error{border-color:var(--color-border-error);background:var(--color-error-light)}.select.error:focus{box-shadow:0 0 0 3px #ef44441a,var(--shadow-base)}.select.success{border-color:var(--color-border-success);background:var(--color-success-light)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table{width:100%;background:var(--color-bg-secondary)}.table th{background:var(--color-bg-tertiary);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-primary)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-primary);color:var(--color-text-secondary)}.table tr:hover td{background-color:var(--color-bg-tertiary)}.table tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal .modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center}.modal .modal-header h2{margin:0}.modal .modal-header .close-btn{transition:var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:1;text-decoration:none;border-radius:var(--radius-md);white-space:nowrap;background:transparent;color:var(--color-text-secondary);border:1px solid transparent;font-weight:var(--font-weight-medium);padding:var(--space-2);font-size:var(--font-size-lg)}.modal .modal-header .close-btn:disabled{cursor:not-allowed;opacity:.6}.modal .modal-header .close-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm)}.modal .modal-header .close-btn:active{background:var(--color-bg-tertiary);transform:translateY(0)}.modal .modal-header .close-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary),.1)}.modal .modal-body{padding:var(--space-6)}.modal .modal-footer{padding:var(--space-6);border-top:1px solid var(--color-border-primary);display:flex;justify-content:flex-end;gap:var(--space-3)}
