.btn-primary{background:linear-gradient(135deg,#007A33,#009e42);color:#fff;padding:.65rem 1.25rem;border-radius:.75rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;font-size:.875rem}
.btn-primary:hover{opacity:.9;transform:translateY(-1px)}
.btn-secondary{background:#f3f4f6;color:#374151;padding:.65rem 1.25rem;border-radius:.75rem;font-weight:500;border:1px solid #d1d5db;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;font-size:.875rem}
.dark .btn-secondary{background:#374151;color:#e5e7eb;border-color:#4b5563}
.btn-danger{background:#ef4444;color:#fff;padding:.65rem 1.25rem;border-radius:.75rem;font-weight:600;border:none;cursor:pointer;font-size:.875rem}
.input-field{width:100%;padding:.65rem 1rem;border-radius:.75rem;border:1px solid #d1d5db;font-size:.875rem;transition:border .2s}
.input-field:focus{outline:none;border-color:#007A33;box-shadow:0 0 0 3px rgba(0,122,51,.1)}
.dark .input-field{background:#374151;border-color:#4b5563;color:#e5e7eb}
.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid #e5e7eb}
.dark .card{background:#1f2937;border-color:#374151}
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:500}
.spinner{display:flex;justify-content:center;padding:5rem}<
.spinner::after{content:'';width:2.5rem;height:2.5rem;border:3px solid #e5e7eb;border-top-color:#007A33;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
