:root{--primary: #2E7D32;--primary-light: #4CAF50;--primary-dark: #1B5E20;--primary-bg: #E8F5E9;--secondary: #F57C00;--secondary-bg: #FFF3E0;--bg: #F5F5F5;--surface: #FFFFFF;--border: #E0E0E0;--divider: #EEEEEE;--text-primary: #212121;--text-secondary: #757575;--text-light: #9E9E9E;--error: #D32F2F;--error-bg: #FFEBEE;--success: #2E7D32;--success-bg: #E8F5E9;--warning: #F57C00;--warning-bg: #FFF3E0;--info: #1976D2;--info-bg: #E3F2FD;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 2px 8px rgba(0,0,0,.12)}body{background:var(--bg);color:var(--text-primary);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff}.btn-outline{background:transparent;border:1.5px solid var(--primary);color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-bg)}.btn-danger{background:var(--error);color:#fff}.btn-ghost{background:transparent;color:var(--primary)}.badge{display:inline-flex;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:#eceff1;color:#546e7a}input,select,textarea{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:var(--bg);width:100%;transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg)}table{width:100%;border-collapse:collapse}table th,table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--divider)}table th{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg)}table tbody tr:hover{background:#fafafa}
