@charset "UTF-8";:root{--color-primary: #0F172A;--color-primary-light: #1E293B;--color-secondary: #475569;--color-secondary-light: #94A3B8;--color-dark: #1E293B;--color-dark-light: #334155;--color-accent: #F97316;--color-accent-light: #FB923C;--color-accent-shimmer: rgba(249, 115, 22, .2);--color-success: #10B981;--color-success-dark: #059669;--color-danger: #EF4444;--color-danger-light: #F87171;--color-warning: #F59E0B;--color-info: #0EA5E9;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-text: #1E293B;--color-text-secondary: #64748B;--color-text-inverse: #FFFFFF;--color-bg-body: #F8FAFC;--color-bg-card: #FFFFFF;--color-bg-input: #FFFFFF;--color-bg-hover: #F1F5F9;--color-bg-disabled: #E2E8F0;--font-display: "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Inter", monospace;--font-display-3xl: 2.25rem;--font-display-2xl: 1.75rem;--font-display-xl: 1.375rem;--font-display-lg: 1.125rem;--font-body-md: 1rem;--font-body-sm: .875rem;--font-mono-md: .875rem;--font-mono-sm: .75rem;--font-weight-light: 400;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--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;--border-width-thin: 1px;--border-width-base: 1px;--border-width-thick: 2px;--border-radius-none: 0;--border-radius-sm: 2px;--border-radius-md: 4px;--border-radius-lg: 6px;--border-radius-xl: 8px;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -1px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-focus: 0 0 0 2px #FFFFFF, 0 0 0 4px rgba(15, 23, 42, .1);--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-splash: 900;--sidebar-width: 280px;--sidebar-width-collapsed: 64px;--topbar-height: 64px;--max-content-width: 1400px;--gutter: 16px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn var(--transition-base) var(--ease-out) forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-base) var(--ease-out) forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-base) var(--ease-out) forwards}.animate-fade-in-left{animation:fadeInLeft var(--transition-base) var(--ease-out) forwards}.animate-fade-in-right{animation:fadeInRight var(--transition-base) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--transition-base) var(--ease-out) forwards}.animate-slide-up-fade{animation:slideUpFade var(--transition-base) var(--ease-out) forwards}.animate-spin{animation:spin .8s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-shake{animation:shake .5s var(--ease-in-out)}.stagger-children>*{opacity:0;animation:slideUpFade var(--transition-base) var(--ease-out) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.stagger-children>*:nth-child(9){animation-delay:.4s}.stagger-children>*:nth-child(10){animation-delay:.45s}.hover-lift{transition-property:transform box-shadow;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.hover-scale{transition-property:transform;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.hover-scale:hover{transform:scale(1.02)}.transition-all{transition:all var(--transition-base) var(--ease-in-out)}.transition-transform{transition:transform var(--transition-base) var(--ease-in-out)}.transition-opacity{transition:opacity var(--transition-base) var(--ease-in-out)}.transition-colors{transition:color var(--transition-base) var(--ease-in-out),background-color var(--transition-base) var(--ease-in-out),border-color var(--transition-base) var(--ease-in-out)}.duration-fast{animation-duration:var(--transition-fast);transition-duration:var(--transition-fast)}.duration-base{animation-duration:var(--transition-base);transition-duration:var(--transition-base)}.duration-slow{animation-duration:var(--transition-slow);transition-duration:var(--transition-slow)}.ease-in-out{animation-timing-function:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{animation-timing-function:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-in{animation-timing-function:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-bounce{animation-timing-function:var(--ease-bounce);transition-timing-function:var(--ease-bounce)}*,*: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}body{font-family:var(--font-body);font-size:var(--font-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg-body);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);margin-bottom:var(--space-4)}h1{font-size:var(--font-display-3xl)}h2{font-size:var(--font-display-2xl)}h3{font-size:var(--font-display-xl)}h4{font-size:var(--font-display-lg)}h5,h6{font-size:var(--font-body-md);font-weight:var(--font-weight-bold)}p{margin-bottom:var(--space-4);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;transition-property:color;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}a:hover{color:var(--color-accent-light);text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-accent)}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}code,kbd,pre{font-family:var(--font-mono);font-size:var(--font-mono-md)}code{background-color:var(--color-bg-hover);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);border:1px solid var(--color-border)}pre{background-color:var(--color-bg-hover);padding:var(--space-4);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);overflow-x:auto;margin-bottom:var(--space-4)}pre::-webkit-scrollbar{width:8px;height:8px}pre::-webkit-scrollbar-track{background:var(--color-bg-hover)}pre::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}pre::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}pre code{background:none;padding:0}img,video,svg{max-width:100%;height:auto;display:block}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:var(--border-width-thin) solid var(--color-border)}th{font-family:var(--font-display);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);background-color:var(--color-primary)}label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text)}input,textarea,select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--font-body-md);background-color:var(--color-bg-input);color:var(--color-text);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-md);transition-property:border-color box-shadow;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-text-secondary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-disabled);cursor:not-allowed;opacity:.6}input.error,textarea.error,select.error{border-color:var(--color-danger)}input.error:focus,textarea.error:focus,select.error:focus{box-shadow:0 0 0 2px var(--color-danger-light)}textarea{resize:vertical;min-height:100px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B87333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-body-md);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:var(--letter-spacing-normal);border:var(--border-width-base) solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition-property:all;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-accent)}hr{border:none;border-top:var(--border-width-base) solid var(--color-border);margin:var(--space-6) 0}.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}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-dark);padding:var(--space-2) var(--space-4);z-index:var(--z-toast);transition-property:top;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.skip-link:focus{top:var(--space-2)}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:var(--color-bg-hover)}html::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}html::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-body-md);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:var(--letter-spacing-normal);border:var(--border-width-base) solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition-property:all;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-accent)}.ui-button--primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:transparent}.ui-button--primary:hover:not(:disabled){filter:brightness(1.1)}.ui-button--primary:active:not(:disabled){transform:translateY(1px);filter:brightness(.95);box-shadow:none}.ui-button--primary{box-shadow:var(--shadow-sm)}.ui-button--primary:hover:not(:disabled){box-shadow:var(--shadow-md)}.ui-button--secondary{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.ui-button--secondary:hover:not(:disabled){filter:brightness(1.1)}.ui-button--secondary:active:not(:disabled){transform:translateY(1px);filter:brightness(.95);box-shadow:none}.ui-button--secondary:hover:not(:disabled){background-color:var(--color-secondary)}.ui-button--danger{background-color:var(--color-danger);color:var(--color-text-inverse);border-color:transparent}.ui-button--danger:hover:not(:disabled){filter:brightness(1.1)}.ui-button--danger:active:not(:disabled){transform:translateY(1px);filter:brightness(.95);box-shadow:none}.ui-button--danger:hover:not(:disabled){background-color:var(--color-danger-light)}.ui-button--ghost{background-color:transparent;color:var(--color-primary);border-color:transparent}.ui-button--ghost:hover:not(:disabled){filter:brightness(1.1)}.ui-button--ghost:active:not(:disabled){transform:translateY(1px);filter:brightness(.95);box-shadow:none}.ui-button--ghost:hover:not(:disabled){background-color:var(--color-bg-hover)}.ui-button--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-body-sm)}.ui-button--lg{padding:var(--space-4) var(--space-6);font-size:var(--font-body-md)}.ui-button--loading{position:relative;color:transparent!important}.ui-button--loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.ui-button--block{width:100%}@keyframes spin{to{transform:rotate(360deg)}}.ui-card{background:var(--color-bg-card);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-6)}.ui-card--bordered{border:var(--border-width-base) solid var(--color-border)}.ui-card--elevated{box-shadow:var(--shadow-md)}.ui-card__header{border-bottom:var(--border-width-base) solid var(--color-border);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.ui-card__header h1,.ui-card__header h2,.ui-card__header h3,.ui-card__header h4,.ui-card__header h5,.ui-card__header h6{margin:0}.ui-card__footer{border-top:var(--border-width-base) solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.ui-card--hover{transition-property:transform box-shadow;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ui-form-field{margin-bottom:var(--space-4)}.ui-form-field__label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text)}.ui-form-field__label--required:after{content:" *";color:var(--color-danger)}.ui-form-field__input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--font-body-md);background-color:var(--color-bg-input);color:var(--color-text);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-md);transition-property:border-color box-shadow;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-form-field__input::placeholder{color:var(--color-text-secondary)}.ui-form-field__input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.ui-form-field__input:disabled{background-color:var(--color-bg-disabled);cursor:not-allowed;opacity:.6}.ui-form-field__input.error{border-color:var(--color-danger)}.ui-form-field__input.error:focus{box-shadow:0 0 0 2px var(--color-danger-light)}.ui-form-field__hint{font-size:var(--font-body-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.ui-form-field__error{font-size:var(--font-body-sm);color:var(--color-danger);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.ui-form-field__error:before{content:"\26a0"}.ui-form-field--error .ui-form-field__input{border-color:var(--color-danger)}.ui-form-field--error .ui-form-field__input:focus{box-shadow:0 0 0 2px var(--color-danger-light)}.ui-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--font-body-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);border-radius:var(--border-radius-sm);border:var(--border-width-thin) solid transparent}.ui-badge--primary{background-color:var(--color-accent);color:var(--color-text-inverse)}.ui-badge--success{background-color:var(--color-success);color:var(--color-text-inverse)}.ui-badge--danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.ui-badge--warning{background-color:var(--color-warning);color:var(--color-text)}.ui-badge--info{background-color:var(--color-info);color:var(--color-text-inverse)}.ui-badge--secondary{background-color:transparent;border-color:var(--color-border);color:var(--color-text)}.ui-badge--sm{padding:calc(var(--space-1) / 2) var(--space-2);font-size:var(--font-mono-sm)}.ui-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background-color:var(--color-bg-card);border:var(--border-width-base) solid var(--color-border);border-left:var(--border-width-base) solid;border-radius:var(--border-radius-md)}.ui-alert--success{border-left-color:var(--color-success)}.ui-alert--success .ui-alert__icon{color:var(--color-success)}.ui-alert--error{border-left-color:var(--color-danger)}.ui-alert--error .ui-alert__icon{color:var(--color-danger)}.ui-alert--warning{border-left-color:var(--color-warning)}.ui-alert--warning .ui-alert__icon{color:var(--color-warning)}.ui-alert--info{border-left-color:var(--color-info)}.ui-alert--info .ui-alert__icon{color:var(--color-info)}.ui-alert__icon{flex-shrink:0;font-size:var(--font-body-md)}.ui-alert__content{flex:1}.ui-alert__title{font-family:var(--font-display);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--color-text)}.ui-alert__message{color:var(--color-text-secondary);margin:0}.ui-alert__close{flex-shrink:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);transition-property:color;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-alert__close:hover{color:var(--color-text)}.ui-table{width:100%;border-collapse:separate;border-spacing:0;border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden}.ui-table__container{max-height:min(65vh,42rem);overflow-x:auto;overflow-y:auto}.ui-table__container::-webkit-scrollbar{width:8px;height:8px}.ui-table__container::-webkit-scrollbar-track{background:var(--color-bg-hover)}.ui-table__container::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}.ui-table__container::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.ui-table__container{border-radius:var(--border-radius-md)}.ui-table th{font-family:var(--font-display);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);background-color:var(--color-primary);padding:var(--space-3) var(--space-4);text-align:left;border-bottom:var(--border-width-base) solid var(--color-border);white-space:nowrap}.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width-thin) solid var(--color-border);color:var(--color-text)}.ui-table tbody tr{transition-property:background-color;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-table tbody tr:hover{background-color:var(--color-bg-hover)}.ui-table--striped tbody tr:nth-child(2n){background-color:var(--color-bg-hover)}.ui-table--compact th,.ui-table--compact td{padding:var(--space-2) var(--space-3)}.ui-modal__overlay{position:fixed;inset:0;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.ui-modal__content{background:var(--color-bg-card);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-6);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;position:relative;z-index:var(--z-modal)}.ui-modal__header{border-bottom:var(--border-width-base) solid var(--color-border);padding-bottom:var(--space-4);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ui-modal__header h1,.ui-modal__header h2,.ui-modal__header h3,.ui-modal__header h4,.ui-modal__header h5,.ui-modal__header h6{margin:0}.ui-modal__close{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-display-lg);font-family:var(--font-display);cursor:pointer;padding:var(--space-2);line-height:1;transition-property:color;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-modal__close:hover{color:var(--color-text)}.ui-modal__body{flex:1;overflow-y:auto;padding-right:var(--space-2);min-height:100px}.ui-modal__footer{border-top:var(--border-width-base) solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4);display:flex;justify-content:flex-end;gap:var(--space-3);flex-shrink:0}.ui-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.ui-loading__spinner{width:40px;height:40px;border:3px solid var(--color-secondary);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.ui-loading__skeleton{background:linear-gradient(90deg,var(--color-bg-hover) 0%,var(--color-bg-disabled) 50%,var(--color-bg-hover) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--border-radius-md)}.ui-loading__skeleton--text{height:1em;margin-bottom:var(--space-2)}.ui-loading__skeleton--text:last-child{width:80%}.ui-loading__skeleton--avatar{width:40px;height:40px;border-radius:50%}.ui-loading__skeleton--card{height:200px;margin-bottom:var(--space-4)}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.ui-empty-state__icon{font-size:var(--font-display-2xl);color:var(--color-border);margin-bottom:var(--space-4)}.ui-empty-state__title{font-family:var(--font-display);font-size:var(--font-display-xl);color:var(--color-text);margin-bottom:var(--space-3)}.ui-empty-state__description{color:var(--color-text-secondary);margin-bottom:var(--space-6);max-width:400px}.ui-empty-state__action{margin-top:var(--space-4)}.ui-toast{position:fixed;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-bg-card);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);min-width:300px;max-width:500px}.ui-toast--top-right{top:var(--space-4);right:var(--space-4)}.ui-toast--bottom-right{bottom:var(--space-4);right:var(--space-4)}.ui-toast--top-left{top:var(--space-4);left:var(--space-4)}.ui-toast--bottom-left{bottom:var(--space-4);left:var(--space-4)}.ui-toast--success{border-left:var(--border-width-base) solid var(--color-success)}.ui-toast--error{border-left:var(--border-width-base) solid var(--color-danger)}.ui-toast--warning{border-left:var(--border-width-base) solid var(--color-warning)}.ui-toast--info{border-left:var(--border-width-base) solid var(--color-info)}.ui-toast__icon{flex-shrink:0;font-size:var(--font-body-md)}.ui-toast__content{flex:1}.ui-toast__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--color-text)}.ui-toast__message{font-size:var(--font-body-sm);color:var(--color-text-secondary);margin:0}.ui-toast__close{flex-shrink:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);transition-property:color;transition-duration:var(--transition-base);transition-timing-function:var(--ease-in-out)}.ui-toast__close:hover{color:var(--color-text)}.p-1{padding:var(--space-1)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.pt-1{padding-top:var(--space-1)}.pr-1{padding-right:var(--space-1)}.pb-1{padding-bottom:var(--space-1)}.pl-1{padding-left:var(--space-1)}.m-1{margin:var(--space-1)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.mt-1{margin-top:var(--space-1)}.mr-1{margin-right:var(--space-1)}.mb-1{margin-bottom:var(--space-1)}.ml-1{margin-left:var(--space-1)}.p-2{padding:var(--space-2)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.pt-2{padding-top:var(--space-2)}.pr-2{padding-right:var(--space-2)}.pb-2{padding-bottom:var(--space-2)}.pl-2{padding-left:var(--space-2)}.m-2{margin:var(--space-2)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.mt-2{margin-top:var(--space-2)}.mr-2{margin-right:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.ml-2{margin-left:var(--space-2)}.p-3{padding:var(--space-3)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.pt-3{padding-top:var(--space-3)}.pr-3{padding-right:var(--space-3)}.pb-3{padding-bottom:var(--space-3)}.pl-3{padding-left:var(--space-3)}.m-3{margin:var(--space-3)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.mt-3{margin-top:var(--space-3)}.mr-3{margin-right:var(--space-3)}.mb-3{margin-bottom:var(--space-3)}.ml-3{margin-left:var(--space-3)}.p-4{padding:var(--space-4)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.pt-4{padding-top:var(--space-4)}.pr-4{padding-right:var(--space-4)}.pb-4{padding-bottom:var(--space-4)}.pl-4{padding-left:var(--space-4)}.m-4{margin:var(--space-4)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mr-4{margin-right:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.ml-4{margin-left:var(--space-4)}.p-5{padding:var(--space-5)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.pt-5{padding-top:var(--space-5)}.pr-5{padding-right:var(--space-5)}.pb-5{padding-bottom:var(--space-5)}.pl-5{padding-left:var(--space-5)}.m-5{margin:var(--space-5)}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5)}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5)}.mt-5{margin-top:var(--space-5)}.mr-5{margin-right:var(--space-5)}.mb-5{margin-bottom:var(--space-5)}.ml-5{margin-left:var(--space-5)}.p-6{padding:var(--space-6)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.pt-6{padding-top:var(--space-6)}.pr-6{padding-right:var(--space-6)}.pb-6{padding-bottom:var(--space-6)}.pl-6{padding-left:var(--space-6)}.m-6{margin:var(--space-6)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.mt-6{margin-top:var(--space-6)}.mr-6{margin-right:var(--space-6)}.mb-6{margin-bottom:var(--space-6)}.ml-6{margin-left:var(--space-6)}.p-8{padding:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.pt-8{padding-top:var(--space-8)}.pr-8{padding-right:var(--space-8)}.pb-8{padding-bottom:var(--space-8)}.pl-8{padding-left:var(--space-8)}.m-8{margin:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.mt-8{margin-top:var(--space-8)}.mr-8{margin-right:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.ml-8{margin-left:var(--space-8)}.p-10{padding:var(--space-10)}.px-10{padding-left:var(--space-10);padding-right:var(--space-10)}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10)}.pt-10{padding-top:var(--space-10)}.pr-10{padding-right:var(--space-10)}.pb-10{padding-bottom:var(--space-10)}.pl-10{padding-left:var(--space-10)}.m-10{margin:var(--space-10)}.mx-10{margin-left:var(--space-10);margin-right:var(--space-10)}.my-10{margin-top:var(--space-10);margin-bottom:var(--space-10)}.mt-10{margin-top:var(--space-10)}.mr-10{margin-right:var(--space-10)}.mb-10{margin-bottom:var(--space-10)}.ml-10{margin-left:var(--space-10)}.p-12{padding:var(--space-12)}.px-12{padding-left:var(--space-12);padding-right:var(--space-12)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.pt-12{padding-top:var(--space-12)}.pr-12{padding-right:var(--space-12)}.pb-12{padding-bottom:var(--space-12)}.pl-12{padding-left:var(--space-12)}.m-12{margin:var(--space-12)}.mx-12{margin-left:var(--space-12);margin-right:var(--space-12)}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12)}.mt-12{margin-top:var(--space-12)}.mr-12{margin-right:var(--space-12)}.mb-12{margin-bottom:var(--space-12)}.ml-12{margin-left:var(--space-12)}.p-16{padding:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.pt-16{padding-top:var(--space-16)}.pr-16{padding-right:var(--space-16)}.pb-16{padding-bottom:var(--space-16)}.pl-16{padding-left:var(--space-16)}.m-16{margin:var(--space-16)}.mx-16{margin-left:var(--space-16);margin-right:var(--space-16)}.my-16{margin-top:var(--space-16);margin-bottom:var(--space-16)}.mt-16{margin-top:var(--space-16)}.mr-16{margin-right:var(--space-16)}.mb-16{margin-bottom:var(--space-16)}.ml-16{margin-left:var(--space-16)}.p-20{padding:var(--space-20)}.px-20{padding-left:var(--space-20);padding-right:var(--space-20)}.py-20{padding-top:var(--space-20);padding-bottom:var(--space-20)}.pt-20{padding-top:var(--space-20)}.pr-20{padding-right:var(--space-20)}.pb-20{padding-bottom:var(--space-20)}.pl-20{padding-left:var(--space-20)}.m-20{margin:var(--space-20)}.mx-20{margin-left:var(--space-20);margin-right:var(--space-20)}.my-20{margin-top:var(--space-20);margin-bottom:var(--space-20)}.mt-20{margin-top:var(--space-20)}.mr-20{margin-right:var(--space-20)}.mb-20{margin-bottom:var(--space-20)}.ml-20{margin-left:var(--space-20)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.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)}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.max-w-full{max-width: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-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-content{max-width:var(--max-content-width)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-regular)}.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-xs{font-size:var(--font-mono-sm)}.text-sm{font-size:var(--font-body-sm)}.text-base{font-size:var(--font-body-md)}.text-lg{font-size:var(--font-display-lg)}.text-xl{font-size:var(--font-display-xl)}.text-2xl{font-size:var(--font-display-2xl)}.text-3xl{font-size:var(--font-display-3xl)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.text-text{color:var(--color-text)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-inverse{color:var(--color-text-inverse)}.text-border{color:var(--color-border)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-dark{background-color:var(--color-dark)}.bg-dark-light{background-color:var(--color-dark-light)}.border{border:var(--border-width-base) solid var(--color-border)}.border-0{border:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-t{border-top:var(--border-width-base) solid var(--color-border)}.border-r{border-right:var(--border-width-base) solid var(--color-border)}.border-b{border-bottom:var(--border-width-base) solid var(--color-border)}.border-l{border-left:var(--border-width-base) solid var(--color-border)}.rounded-none{border-radius:var(--border-radius-none)}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.invisible{visibility:hidden}.visible{visibility:visible}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-not-allowed{cursor:not-allowed}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}body{font-family:var(--font-body);background-color:var(--color-bg-body);color:var(--color-text)}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-bg-body);padding:var(--space-4)}.auth-card{background:var(--color-bg-card);padding:var(--space-8);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:400px;text-align:center}.auth-card h1{font-family:var(--font-display);color:var(--color-text);margin-top:0;margin-bottom:var(--space-4)}.auth-card h2{font-family:var(--font-display);color:var(--color-primary);margin:0 0 var(--space-5) 0}.auth-card form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{width:100%;padding:var(--space-3) var(--space-4);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-body-md);font-family:var(--font-body);background-color:var(--color-bg-input);color:var(--color-text);box-sizing:border-box;transition:border-color var(--transition-base) var(--ease-in-out),box-shadow var(--transition-base) var(--ease-in-out)}.auth-card input::placeholder{color:var(--color-text-secondary)}.auth-card input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.layout-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-bg-card);color:var(--color-text);padding:var(--space-4);border-right:var(--border-width-base) solid var(--color-border);display:flex;flex-direction:column}.nav-links{list-style:none;padding:0;margin:0}.nav-links a{color:var(--color-text);text-decoration:none;display:block;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:var(--font-body-sm);border-left:var(--border-width-base) solid transparent;transition:all var(--transition-base) var(--ease-in-out)}.nav-links a:hover{color:var(--color-primary);background-color:var(--color-bg-hover)}.nav-links a.active{color:var(--color-primary);border-left-color:var(--color-primary);background-color:var(--color-bg-hover)}.main-content{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-body);overflow:hidden}.top-bar{background:var(--color-bg-card);padding:var(--space-3) var(--space-6);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-width-base) solid var(--color-border);gap:var(--space-4);box-shadow:var(--shadow-sm)}.page-content{padding:var(--space-6);overflow:auto;flex:1}.page-content::-webkit-scrollbar{width:8px;height:8px}.page-content::-webkit-scrollbar-track{background:var(--color-bg-hover)}.page-content::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}.page-content::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.brand{font-family:var(--font-display);font-size:var(--font-display-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-8);letter-spacing:var(--letter-spacing-wide)}.user-menu{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text)}.user-menu .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:var(--border-width-base) solid var(--color-border);transition:border-color var(--transition-base) var(--ease-in-out)}.user-menu .avatar:hover{border-color:var(--color-accent)}.dashboard .card{background:var(--color-bg-card);padding:var(--space-8);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.dashboard pre{background:var(--color-bg-hover);padding:var(--space-4);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);overflow-x:auto;color:var(--color-text);font-family:var(--font-mono)}.dashboard pre::-webkit-scrollbar{width:8px;height:8px}.dashboard pre::-webkit-scrollbar-track{background:var(--color-bg-hover)}.dashboard pre::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}.dashboard pre::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.admin-panel{background:var(--color-bg-card);padding:var(--space-8);border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-lg)}.admin-panel h1{font-family:var(--font-display);color:var(--color-danger)}.login-actions{text-align:center}.discovery-page p{margin:var(--space-2) 0;color:var(--color-text)}.discovery-page .error{color:var(--color-danger)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-text-inverse);border:var(--border-width-base) solid var(--color-primary);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-md);font-family:var(--font-body);font-size:var(--font-body-md);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:var(--letter-spacing-normal);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-base) var(--ease-in-out)}.btn-primary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px);box-shadow:none}.btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.hint{color:var(--color-text-secondary);font-size:var(--font-body-sm);margin-bottom:var(--space-3)}.loading{text-align:center;margin-top:var(--space-8);color:var(--color-text-secondary);font-family:var(--font-display);font-size:var(--font-display-lg)}.table{display:block;width:100%;max-height:min(65vh,42rem);border-collapse:separate;border-spacing:0;border:var(--border-width-base) solid var(--color-border);border-radius:var(--border-radius-md);overflow-x:auto;overflow-y:auto;background:var(--color-bg-card)}.table::-webkit-scrollbar{width:8px;height:8px}.table::-webkit-scrollbar-track{background:var(--color-bg-hover)}.table::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:var(--border-radius-sm)}.table::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media(max-width:767px){.sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;flex-direction:row;padding:var(--space-2);border-right:none;border-top:var(--border-width-base) solid var(--color-border);z-index:var(--z-fixed)}.nav-links{display:flex;justify-content:space-around;width:100%}.nav-links a{padding:var(--space-2);font-size:var(--font-mono-sm);border-left:none;border-bottom:var(--border-width-base) solid transparent}.nav-links a.active{border-left-color:transparent;border-bottom-color:var(--color-primary)}.main-content{margin-bottom:60px}.page-content{padding:var(--space-4)}.auth-card{margin:var(--space-4)}}
