:root{--color-primary: #1976d2;--color-primary-light: rgba(25, 118, 210, .15);--color-primary-dark: #1565c0;--color-danger: #d32f2f;--color-success: #2e7d32;--color-warning: #f57c00;--color-bg: #f5f5f5;--color-bg-secondary: #e8e8e8;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-border: #ddd;--color-text: #212121;--color-text-secondary: #757575;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5}.tabular-nums{font-variant-numeric:tabular-nums}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s;touch-action:manipulation;min-height:2.75rem}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-full{width:100%}input,select,textarea,button{font-family:inherit;font-size:inherit;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button,a,input,select{min-height:2.75rem}@media(prefers-color-scheme:dark){:root{--color-bg: #121212;--color-bg-secondary: #1e1e1e;--color-surface: #1e1e1e;--color-surface-raised: #2d2d2d;--color-border: #333;--color-text: #e0e0e0;--color-text-secondary: #999}}
