:root{color-scheme:light;--color-background:210 40% 98%;--color-foreground:222 47% 11%;--color-surface:0 0% 100%;--color-surface-2:210 40% 96%;--color-surface-muted:210 40% 96%;--color-border:214 32% 91%;--color-accent:221 83% 53%;--color-accent-foreground:210 40% 98%;--color-primary:221 83% 53%;--color-primary-foreground:210 40% 98%;--color-secondary:262 83% 58%;--color-secondary-foreground:210 40% 98%;--color-success:142 71% 45%;--color-warning:38 92% 50%;--color-danger:0 84% 60%;--color-info:199 89% 48%;--color-muted-foreground:215 19% 38%;--color-accent-text:221 83% 40%;--color-success-text:142 72% 24%;--color-warning-text:32 95% 28%;--color-danger-text:0 72% 42%;--color-info-text:199 89% 28%;--color-secondary-text:262 70% 42%;--font-sans:"Inter","Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Cascadia Code",monospace;--text-xs:12px;--text-sm:14px;--text-base:14px;--text-lg:20px;--text-xl:24px;--leading-xs:16px;--leading-sm:20px;--leading-base:20px;--leading-lg:28px;--leading-xl:32px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.5rem;--radius-control:0.375rem;--radius-card:0.5rem;--space-0:0rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-sm:0 1px 2px hsl(222 47% 11%/0.05);--shadow-md:0 4px 12px hsl(222 47% 11%/0.1);--shadow-lg:0 10px 30px hsl(222 47% 11%/0.15)}[data-theme=dark]{color-scheme:dark;--color-background:222 47% 11%;--color-foreground:210 40% 98%;--color-surface:222 40% 15%;--color-surface-2:217 33% 20%;--color-surface-muted:217 33% 20%;--color-border:217 33% 27%;--color-accent:217 91% 60%;--color-accent-foreground:222 47% 11%;--color-primary:217 91% 60%;--color-primary-foreground:222 47% 11%;--color-secondary:263 70% 66%;--color-secondary-foreground:222 47% 11%;--color-success:142 69% 58%;--color-warning:43 96% 56%;--color-danger:0 91% 71%;--color-info:199 91% 60%;--color-muted-foreground:215 20% 65%;--color-accent-text:213 94% 72%;--color-success-text:142 69% 62%;--color-warning-text:43 96% 62%;--color-danger-text:0 91% 76%;--color-info-text:199 91% 66%;--color-secondary-text:263 85% 78%;--shadow-sm:0 1px 2px hsl(0 0% 0%/0.25);--shadow-md:0 4px 12px hsl(0 0% 0%/0.35);--shadow-lg:0 10px 30px hsl(0 0% 0%/0.45)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-background:222 47% 11%;--color-foreground:210 40% 98%;--color-surface:222 40% 15%;--color-surface-2:217 33% 20%;--color-surface-muted:217 33% 20%;--color-border:217 33% 27%;--color-accent:217 91% 60%;--color-accent-foreground:222 47% 11%;--color-primary:217 91% 60%;--color-primary-foreground:222 47% 11%;--color-secondary:263 70% 66%;--color-secondary-foreground:222 47% 11%;--color-success:142 69% 58%;--color-warning:43 96% 56%;--color-danger:0 91% 71%;--color-info:199 91% 60%;--color-muted-foreground:215 20% 65%;--color-accent-text:213 94% 72%;--color-success-text:142 69% 62%;--color-warning-text:43 96% 62%;--color-danger-text:0 91% 76%;--color-info-text:199 91% 66%;--color-secondary-text:263 85% 78%;--shadow-sm:0 1px 2px hsl(0 0% 0%/0.25);--shadow-md:0 4px 12px hsl(0 0% 0%/0.35);--shadow-lg:0 10px 30px hsl(0 0% 0%/0.45)}}@layer base{:root{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);background:hsl(var(--color-background));color:hsl(var(--color-foreground))}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-control);font-family:var(--font-sans);font-weight:var(--weight-medium);cursor:pointer;transition:all .15s ease-in-out;outline:none;text-decoration:none;white-space:nowrap}.ui-button:focus-visible{box-shadow:0 0 0 2px hsl(var(--color-background)),0 0 0 4px hsl(var(--color-accent))}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button-sm{height:1.75rem;padding:0 var(--space-2);font-size:var(--text-xs)}.ui-button-md{height:2.25rem;padding:0 var(--space-3);font-size:var(--text-sm)}.ui-button-lg{height:2.5rem;padding:0 var(--space-4);font-size:var(--text-base)}.ui-button-primary{background:hsl(var(--color-primary));color:hsl(var(--color-primary-foreground))}.ui-button-primary:hover:not(:disabled){opacity:.92}.ui-button-secondary{background:hsl(var(--color-surface));color:hsl(var(--color-foreground));border-color:hsl(var(--color-border))}.ui-button-secondary:hover:not(:disabled){background:hsl(var(--color-surface-2))}.ui-button-ghost{background:transparent;color:hsl(var(--color-foreground))}.ui-button-ghost:hover:not(:disabled){background:hsl(var(--color-surface-2))}.ui-button-danger{background:hsl(var(--color-danger));color:hsl(0 0% 100%)}.ui-button-danger:hover:not(:disabled){opacity:.92}.ui-input-wrapper{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.ui-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:hsl(var(--color-muted-foreground))}.ui-input,.ui-select{width:100%;height:2.25rem;padding:0 var(--space-3);border:1px solid hsl(var(--color-border));border-radius:var(--radius-control);background:hsl(var(--color-surface));color:hsl(var(--color-foreground));font-family:var(--font-sans);font-size:var(--text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.ui-input:focus,.ui-select:focus{border-color:hsl(var(--color-accent));box-shadow:0 0 0 1px hsl(var(--color-accent))}.ui-input-error,.ui-select-error{border-color:hsl(var(--color-danger))}.ui-input-error:focus,.ui-select-error:focus{border-color:hsl(var(--color-danger));box-shadow:0 0 0 1px hsl(var(--color-danger))}.ui-input-error-text{font-size:var(--text-xs);color:hsl(var(--color-danger-text));margin:0}.ui-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-xs);border:1px solid transparent}.ui-badge-default{background:hsl(var(--color-surface-2));color:hsl(var(--color-foreground));border-color:hsl(var(--color-border))}.ui-badge-success{background:hsl(var(--color-success)/.15);color:hsl(var(--color-success-text))}.ui-badge-warning{background:hsl(var(--color-warning)/.15);color:hsl(var(--color-warning-text))}.ui-badge-danger{background:hsl(var(--color-danger)/.15);color:hsl(var(--color-danger-text))}.ui-badge-info{background:hsl(var(--color-info)/.15);color:hsl(var(--color-info-text))}.ui-card{border:1px solid hsl(var(--color-border));border-radius:var(--radius-card);background:hsl(var(--color-surface));color:hsl(var(--color-foreground))}.ui-card-header{border-bottom:1px solid hsl(var(--color-border))}.ui-card-content,.ui-card-header{padding:var(--space-4)}.ui-table-container{width:100%;overflow-x:auto;border:1px solid hsl(var(--color-border));border-radius:var(--radius-card)}.ui-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);text-align:left}.ui-table-head{padding:0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:hsl(var(--color-muted-foreground));background:hsl(var(--color-surface-2))}.ui-table-head,.ui-table-row{height:2.25rem;border-bottom:1px solid hsl(var(--color-border))}.ui-table-row{transition:background-color .1s ease}.ui-table-row:last-child{border-bottom:none}.ui-table-row:hover{background:hsl(var(--color-surface-2)/.6)}.ui-table-cell{padding:0 var(--space-3);color:hsl(var(--color-foreground))}.ui-tabs-root{display:flex;flex-direction:column;gap:var(--space-4)}.ui-tabs-list{display:inline-flex;border-bottom:1px solid hsl(var(--color-border));gap:var(--space-4)}.ui-tab-trigger{padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:hsl(var(--color-muted-foreground));background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.ui-tab-trigger:hover:not(:disabled){color:hsl(var(--color-foreground))}.ui-tab-active{color:hsl(var(--color-accent-text));border-bottom-color:hsl(var(--color-accent))}.ui-tab-trigger:disabled{opacity:.5;cursor:not-allowed}.ui-tab-panel{outline:none}.ui-dialog-backdrop{position:fixed;inset:0;background:hsl(0 0% 0%/.5);display:grid;place-items:center;z-index:50;padding:var(--space-4)}.ui-dialog-content{width:100%;max-width:32rem;background:hsl(var(--color-surface));border:1px solid hsl(var(--color-border));border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.ui-dialog-header{padding:var(--space-4);border-bottom:1px solid hsl(var(--color-border))}.ui-dialog-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:hsl(var(--color-foreground))}.ui-dialog-description{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:hsl(var(--color-muted-foreground))}.ui-dialog-body{padding:var(--space-4)}.ui-tooltip-wrapper{position:relative;display:inline-flex}.ui-tooltip-content{position:absolute;bottom:calc(100% + var(--space-1));left:50%;transform:translateX(-50%);padding:var(--space-1) var(--space-2);background:hsl(var(--color-foreground));color:hsl(var(--color-background));font-size:var(--text-xs);white-space:nowrap;pointer-events:none;z-index:40;box-shadow:var(--shadow-sm)}.ui-skeleton,.ui-tooltip-content{border-radius:var(--radius-control)}.ui-skeleton{background:hsl(var(--color-surface-2));animation:ui-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.ui-skeleton-circle{border-radius:9999px}@keyframes ui-pulse{0%,to{opacity:1}50%{opacity:.4}}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-4)}.ui-empty-state-icon{margin-bottom:var(--space-3);color:hsl(var(--color-muted-foreground))}.ui-empty-state-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:hsl(var(--color-foreground))}.ui-empty-state-description{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:hsl(var(--color-muted-foreground));max-width:24rem}.ui-empty-state-action{margin-top:var(--space-4)}.ui-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:hsl(var(--color-surface));border:1px solid hsl(var(--color-border));border-radius:var(--radius-card);box-shadow:var(--shadow-md);font-size:var(--text-sm);min-width:18rem;max-width:24rem}.ui-toast-title{display:block;font-weight:var(--weight-semibold);color:hsl(var(--color-foreground))}.ui-toast-dismiss,.ui-toast-message{color:hsl(var(--color-muted-foreground))}.ui-toast-dismiss{background:transparent;border:none;font-size:var(--text-lg);line-height:1;cursor:pointer;padding:0}.ui-toast-dismiss:hover{color:hsl(var(--color-foreground))}.ui-toast-success{border-left:3px solid hsl(var(--color-success))}.ui-toast-warning{border-left:3px solid hsl(var(--color-warning))}.ui-toast-danger{border-left:3px solid hsl(var(--color-danger))}.ui-toast-info{border-left:3px solid hsl(var(--color-info))}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.ui-page-header-text{display:flex;flex-direction:column;gap:var(--space-1)}.ui-page-header-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:hsl(var(--color-foreground));line-height:var(--leading-lg)}.ui-page-header-description{margin:0;font-size:var(--text-sm);color:hsl(var(--color-muted-foreground));line-height:var(--leading-sm)}.ui-page-header-actions{display:flex;align-items:center;gap:var(--space-2)}.ui-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid hsl(var(--alert-color)/.35);border-radius:var(--radius-card);background:hsl(var(--alert-color)/.08);font-size:var(--text-sm);line-height:var(--leading-sm)}.ui-alert-info{--alert-color:var(--color-info)}.ui-alert-warning{--alert-color:var(--color-warning)}.ui-alert-danger{--alert-color:var(--color-danger)}.ui-alert-success{--alert-color:var(--color-success)}.ui-alert-icon{display:inline-flex;flex:none;color:hsl(var(--alert-color))}.ui-alert-body{display:grid;min-width:0;flex:1 1;grid-gap:var(--space-1);gap:var(--space-1)}.ui-alert-title{font-weight:var(--weight-semibold)}.ui-alert-text{margin:0;color:hsl(var(--color-muted-foreground));overflow-wrap:anywhere}.ui-alert-action{flex:none}@media (max-width:520px){.ui-alert{flex-wrap:wrap}.ui-alert-action{width:100%}}