:root{--color-primary: #1E40AF;--color-primary-hover: #1E3A8A;--color-on-primary: #FFFFFF;--color-secondary: #3B82F6;--color-accent: #059669;--color-accent-hover: #047857;--color-background: #0F172A;--color-surface: #1E293B;--color-surface-hover: #334155;--color-foreground: #FFFFFF;--color-muted: #94A3B8;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .15);--color-danger: #DC2626;--color-danger-hover: #B91C1C;--color-success: #059669;--color-warning: #F59E0B;--chart-1: #3B82F6;--chart-2: #059669;--chart-3: #F59E0B;--chart-4: #EF4444;--chart-5: #8B5CF6;--chart-6: #EC4899;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 50;--z-modal: 100;--z-toast: 150}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-background);color:var(--color-foreground);line-height:1.6;font-size:var(--text-base);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-foreground)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--color-muted);line-height:1.7}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.btn-success{background:var(--color-success);color:var(--color-on-primary)}.btn-success:hover:not(:disabled){background:var(--color-accent-hover)}.btn-cancel{background:var(--color-surface-hover);color:var(--color-foreground)}.btn-cancel:hover:not(:disabled){background:var(--color-surface)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--color-surface);color:var(--color-foreground);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);color:var(--color-on-primary)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-foreground)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-foreground);margin-bottom:var(--space-2)}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e40af33}.form-input::placeholder{color:var(--color-muted)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' 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;padding-right:var(--space-10)}textarea.form-input{resize:vertical;min-height:100px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);width:20px;height:20px;cursor:pointer}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-fast)}.card:hover{border-color:var(--color-border-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-lg);font-weight:600}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-muted)}.badge-primary{background:#1e40af33;color:var(--color-secondary)}.badge-success{background:#05966933;color:var(--color-success)}.badge-danger{background:#dc262633;color:var(--color-danger)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.table tbody tr:hover{background:var(--color-surface-hover)}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:400px;box-shadow:var(--shadow-lg);box-sizing:border-box;overflow-x:hidden}.modal-header{margin-bottom:var(--space-5)}.modal-title{font-size:var(--text-xl);font-weight:600}.modal-description{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:slideIn .3s ease}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-message{font-size:var(--text-sm);color:var(--color-foreground)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.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-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.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-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.w-full{width:100%}.max-w-sm{max-width:400px}.max-w-md{max-width:500px}.max-w-lg{max-width:600px}.max-w-xl{max-width:700px}.max-w-2xl{max-width:800px}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.bg-surface{background:var(--color-surface)}.bg-surface-hover{background:var(--color-surface-hover)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor-pointer{cursor:pointer}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){:root{--text-4xl: 28px;--text-3xl: 24px;--text-2xl: 20px}.hide-mobile{display:none!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.toast-container{top:72px;left:var(--space-4);right:var(--space-4)}}@media (min-width: 769px){.hide-desktop{display:none!important}}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--color-foreground);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);margin-bottom:var(--space-6)}.loading{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted)}.loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-surface-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}
