:root{--primary-color:#0070f3;--primary-dark:#0051a2;--primary-light:#3291ff;--secondary-color:#666;--secondary-dark:#555;--secondary-light:#888;--success-color:#10b981;--success-bg:#ecfdf5;--success-border:#a7f3d0;--error-color:#ef4444;--error-bg:#fef2f2;--error-border:#fecaca;--error-dark:#dc2626;--warning-color:#f59e0b;--warning-bg:#fffbeb;--warning-border:#fed7aa;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--surface-color:#ffffff;--surface-secondary:#f9fafb;--surface-tertiary:#f3f4f6;--border-color:#e5e7eb;--border-light:#f3f4f6;--border-dark:#d1d5db;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md: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-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;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--transition-fast:0.15s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}*,:after,:before{box-sizing:border-box}html{font-size:16px;line-height:1.5;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;background-color:#f8fafc;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);will-change:auto;transform:translateZ(0)}img{max-width:100%;height:auto;display:block}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;border:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}code{border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.875em;color:var(--text-primary)}code,pre{background:var(--surface-tertiary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}pre{border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;font-size:.875rem;line-height:1.5}pre code{background:transparent;padding:0;border-radius:0}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}ol,ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1,h2,h3,h4,h5,h6,p{margin:0;color:var(--text-primary)}p{line-height:var(--line-height-normal)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-primary);font-size:var(--font-size-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,112,243,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:1;text-align:center;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;background:transparent}.btn-primary{background:var(--primary-color);color:white;border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface-color);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--surface-secondary);border-color:var(--border-dark)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden}.card-header{border-bottom:1px solid var(--border-light)}.card-body,.card-footer,.card-header{padding:var(--spacing-lg)}.card-footer{border-top:1px solid var(--border-light);background:var(--surface-secondary)}.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}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}@media (max-width:768px){:root{--spacing-xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:2.5rem}}@media (max-width:480px){:root{--spacing-lg:1rem;--spacing-xl:1.25rem;--spacing-2xl:1.5rem;--spacing-3xl:2rem}}