:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-surface);overflow-x:hidden}#root{width:100%;min-height:100vh}*{max-width:100%}@media (max-width: 768px){body{font-size:14px}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}}@media (max-width: 480px){h1{font-size:1.25rem!important}h2{font-size:1.1rem!important}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:root[data-theme=light]{--color-bg: #ffffff;--color-bg-secondary: #f1f3f5;--color-surface: #f8f9fa;--color-surface-alt: #e9ecef;--color-text: #213547;--color-text-muted: #6c757d;--color-muted: #6c757d;--color-primary: #dc2626;--color-accent: #dc2626;--color-accent-hover: #b91c1c;--color-border: #dee2e6;--color-error: #dc3545;--color-success: #28a745;--color-input-bg: #ffffff;--color-warning-bg: #fff3cd;--color-warning-border: #ffc107;--color-chart-grid: #e9ecef;--color-chart-marker: #495057;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--size-container: 1100px;--color-header-bg: #1a1a1a;--color-header-text: #ffffff}:root[data-theme=dark]{--color-bg: #1a1a1a;--color-bg-secondary: #2d2d2d;--color-surface: #2d2d2d;--color-surface-alt: #3a3a3a;--color-text: #e9ecef;--color-text-muted: #adb5bd;--color-muted: #adb5bd;--color-primary: #ef4444;--color-accent: #ef4444;--color-accent-hover: #dc2626;--color-border: #495057;--color-error: #f56565;--color-success: #48bb78;--color-input-bg: #2d2d2d;--color-warning-bg: #3d3520;--color-warning-border: #b8860b;--color-chart-grid: #3a3a3a;--color-chart-marker: #ffffff;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .5);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--size-container: 1100px;--color-header-bg: #1a1a1a;--color-header-text: #e9ecef}body{background-color:var(--color-surface);color:var(--color-text);font-family:var(--font-sans)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-compact{padding:var(--space-4)}.btn{padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:600;font-family:var(--font-sans);background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease,transform .1s ease;display:inline-block;text-decoration:none;text-align:center}.btn:hover{background-color:var(--color-accent-hover)}.btn:active{transform:translateY(1px)}.btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-border)}.btn-icon{padding:var(--space-2);width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.input{padding:var(--space-3);font-size:1rem;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease;width:100%}.input:hover{border-color:var(--color-accent)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007bff1a}.input:disabled{opacity:.5;cursor:not-allowed}select.input,.input[type=select],select{appearance:none;-webkit-appearance:none;-moz-appearance:none;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='%239ca3af' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem}select option{background-color:var(--color-bg);color:var(--color-text)}:root[data-theme=dark] select option{background-color:#1a1a1a;color:#e9ecef}@media (prefers-color-scheme: dark){select option{background-color:#1a1a1a;color:#e9ecef}}.label{display:block;margin-bottom:var(--space-2);font-weight:500;color:var(--color-text)}.radio-group{display:flex;gap:var(--space-4);flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text)}.radio-label input[type=radio]{cursor:pointer;accent-color:var(--color-accent)}.table{width:100%;border-collapse:collapse;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.table thead{background-color:var(--color-surface)}.table th{padding:var(--space-3);text-align:left;border-bottom:2px solid var(--color-border);font-weight:600;color:var(--color-text)}.table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text)}.table tbody tr:nth-child(2n){background-color:var(--color-surface)}.table tbody tr:hover{background-color:var(--color-border)}.table th.align-right,.table td.align-right{text-align:right}.table td.mono{font-family:Courier New,Courier,monospace}.link{color:var(--color-accent);text-decoration:none;transition:color .2s ease}.link:hover{color:var(--color-accent-hover);text-decoration:underline}.error{padding:var(--space-5);background-color:#dc35451a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.success{padding:var(--space-5);background-color:#28a7451a;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success)}.chip{display:inline-block;padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500}.chip-success{background-color:#28a7451a;border-color:var(--color-success);color:var(--color-success)}.chip-error{background-color:#dc35451a;border-color:var(--color-error);color:var(--color-error)}.container{max-width:var(--size-container);margin:0 auto;padding:var(--space-6)}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex;gap:var(--space-4)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mt-4{margin-top:var(--space-4)}.text-center{text-align:center}.text-muted{color:var(--color-muted)}@media (max-width: 768px){.container{padding:var(--space-4)}.grid-2,.grid-3,.grid-4,.grid-auto-fit{grid-template-columns:1fr}}@media (max-width: 480px){.container{padding:var(--space-3)}}
