:root{--color-primary:#2d7d46;--color-primary-hover:#236b3a;--color-primary-light:#4a9d64;--color-secondary:#1a5276;--color-secondary-light:#2980b9;--color-success:#27ae60;--color-success-light:#2ecc71;--color-warning:#d4a017;--color-warning-light:#f1c40f;--color-danger:#c0392b;--color-danger-light:#e74c3c;--color-bg-primary:#f5f1e8;--color-bg-secondary:#ebe6db;--color-bg-tertiary:#e0dacf;--color-bg-card:#fff;--color-text-primary:#2c3e2d;--color-text-secondary:#5d6d5e;--color-text-muted:#8b9a8c;--color-border:#d4cfbf;--color-border-hover:#b8b3a3;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.05);--shadow-glow:0 0 20px rgba(45,125,70,.2);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",Consolas,Monaco,monospace;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:var(--color-success-light)}.btn-warning{background:var(--color-warning);color:#fff}.btn-warning:hover{background:var(--color-warning-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-light)}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.btn-outline:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(45,125,70,.15)}.input::placeholder{color:var(--color-text-muted)}.label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;color:var(--color-text-secondary)}.badge,.label{font-weight:500}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.75rem}.badge-success{background:rgba(39,174,96,.15);color:var(--color-success)}.badge-warning{background:rgba(212,160,23,.15);color:var(--color-warning)}.badge-danger{background:rgba(192,57,43,.15);color:var(--color-danger)}.badge-neutral{background:rgba(93,109,94,.15);color:var(--color-text-secondary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}h1{font-size:2rem;font-weight:700;line-height:1.2;color:var(--color-text-primary)}h2{font-size:1.5rem;line-height:1.3}h2,h3{font-weight:600}h3{font-size:1.25rem;line-height:1.4}@media (max-width:640px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background:var(--color-bg-secondary)}