:root{--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-lighter: #60a5fa;--color-primary-dark: #1e40af;--color-primary-darker: #1e3a8a;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--border-color: #e2e8f0;--border-light: #f1f5f9;--shadow-color: rgba(15, 23, 42, .08);--shadow-color-lg: rgba(15, 23, 42, .12);--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2;--info: #2563eb;--info-light: #dbeafe;--header-bg: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--header-text: #ffffff;--header-shadow: 0 4px 12px rgba(37, 99, 235, .15);--footer-bg: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);--footer-text: #e0e7ff;--footer-text-secondary: #93c5fd;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--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-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px 0 var(--shadow-color);--shadow-md: 0 4px 6px -1px var(--shadow-color), 0 2px 4px -1px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px -3px var(--shadow-color-lg), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px var(--shadow-color-lg), 0 10px 10px -5px rgba(15, 23, 42, .04);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--border-light: #1e293b;--shadow-color: rgba(0, 0, 0, .3);--shadow-color-lg: rgba(0, 0, 0, .4);--success-light: #064e3b;--warning-light: #78350f;--error-light: #7f1d1d;--info-light: #082f49;--header-bg: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--header-text: #e0e7ff;--header-shadow: 0 4px 12px rgba(37, 99, 235, .25);--footer-bg: linear-gradient(135deg, #0f172a 0%, #1e40af 100%);--footer-text: #f0f9ff;--footer-text-secondary: #bfdbfe}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md);color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5,h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}small{font-size:var(--font-size-sm);color:var(--text-tertiary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-light);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:hover,textarea:hover,select:hover{border-color:var(--color-primary-light)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}textarea{resize:vertical;min-height:120px}select{cursor:pointer;appearance:none;padding-right:var(--spacing-xl);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='%232563eb' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:12px;padding-right:2.5rem}select[data-theme=dark]{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='%23f8fafc' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}input[type=color]{padding:var(--spacing-xs);cursor:pointer;height:48px}input[type=checkbox],input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary)}button,.btn{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);white-space:nowrap;-webkit-user-select:none;user-select:none}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.98)}.btn-primary,button.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-primary:focus-visible,button.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary,button.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled),button.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--color-primary)}.btn-outline,button.btn-outline{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover:not(:disabled),button.btn-outline:hover:not(:disabled){background-color:#2563eb0d}.btn-danger,button.btn-danger{background-color:var(--error);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled),button.btn-danger:hover:not(:disabled){background-color:#dc2626;box-shadow:var(--shadow-md)}.btn-success,button.btn-success{background-color:var(--success);color:#fff;box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled),button.btn-success:hover:not(:disabled){background-color:#059669;box-shadow:var(--shadow-md)}.btn-sm,button.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg,button.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-lighter)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.card-body{margin-bottom:var(--spacing-lg)}.card-footer{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-md)}.container-md{max-width:896px}.container-sm{max-width:640px}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.flex-gap-sm{gap:var(--spacing-sm)}.flex-gap-md{gap:var(--spacing-md)}.flex-gap-lg{gap:var(--spacing-lg)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--info-light);color:var(--info);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-error{background-color:var(--error-light);color:var(--error)}.badge-lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-justify{text-align:justify}.text-muted{color:var(--text-tertiary)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-bold{font-weight:var(--font-weight-bold)}.text-semibold{font-weight:var(--font-weight-semibold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-0{margin:0}.m-1{margin:var(--spacing-sm)}.m-2{margin:var(--spacing-md)}.m-3{margin:var(--spacing-lg)}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.px-1{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-2{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-1{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-2{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.divider{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-in-up{animation:slideInUp var(--transition-base)}.animate-slide-in-down{animation:slideInDown var(--transition-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:var(--bg-secondary)}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-tertiary)}@media(max-width:640px){:root{--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem;--font-size-xl: 1.125rem;--spacing-md: .875rem;--spacing-lg: 1.25rem}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--spacing-md)}.card{padding:var(--spacing-md)}button,.btn{width:100%}}@media(min-width:641px)and (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1025px){.container{padding:0 var(--spacing-xl)}}@media print{body{background-color:#fff;color:#000}.no-print{display:none!important}}
