:root {
    --sunny: #FDB813;
    --sunny-dark: #E09400;
    --sunny-light: #FFE466;
}
body { font-family: 'Inter', system-ui, sans-serif; }
::selection { background: #FFF8D6; color: #664200; }

.loading-spinner { width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:var(--sunny);border-radius:50%;animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@keyframes scaleIn { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.animate-fade-in { animation:fadeIn .3s ease-out; }
.animate-slide-up { animation:slideUp .4s ease-out; }
.animate-scale-in { animation:scaleIn .3s ease-out; }

.sidebar-item { transition:all .2s; }
.sidebar-item:hover { background:rgba(253,184,19,.1);color:var(--sunny-dark); }
.sidebar-item.active { background:linear-gradient(135deg,var(--sunny),var(--sunny-dark));color:#fff;box-shadow:0 4px 12px rgba(253,184,19,.3); }

.card { background:#fff;border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #f3f4f6; }

.input-field { width:100%;padding:.625rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:.875rem;transition:all .2s;background:#fff; }
.input-field:focus { outline:none;border-color:var(--sunny);box-shadow:0 0 0 3px rgba(253,184,19,.15); }

.btn-sunny { background:linear-gradient(135deg,var(--sunny),var(--sunny-dark));color:#fff;padding:.625rem 1.25rem;border-radius:.75rem;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px rgba(253,184,19,.25);transition:all .2s; }
.btn-sunny:hover { transform:translateY(-1px);box-shadow:0 6px 16px rgba(253,184,19,.35); }
.btn-sunny:disabled { opacity:.5;cursor:not-allowed;transform:none; }

.status-pending { background:#fef3c7;color:#d97706; }
.status-confirmed { background:#dbeafe;color:#1d4ed8; }
.status-paid { background:#dcfce7;color:#15803d; }
.status-cancelled { background:#f3f4f6;color:#6b7280; }
.status-completed { background:#dcfce7;color:#15803d; }
.status-unpaid { background:#fee2e2;color:#dc2626; }
.status-refunded { background:#f3f4f6;color:#6b7280; }

.data-table { width:100%;border-collapse:collapse; }
.data-table th,.data-table td { padding:.75rem 1rem;text-align:left;border-bottom:1px solid #f3f4f6; }
.data-table th { font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em; }
.data-table tbody tr { transition:background .15s; }
.data-table tbody tr:hover { background:#fafafa; }

.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(4px);animation:fadeIn .2s; }
.modal-content { background:#fff;border-radius:1rem;box-shadow:0 25px 50px rgba(0,0,0,.25);width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s; }

.toast { position:fixed;bottom:1.5rem;right:1.5rem;padding:1rem 1.5rem;border-radius:.75rem;color:#fff;font-weight:500;z-index:100;animation:slideUp .3s; }
.toast-success { background:#22c55e; }
.toast-error { background:#ef4444; }

@media(max-width:768px) {
    .sidebar-mobile { position:fixed;left:-16rem;top:0;height:100vh;z-index:40;transition:left .3s; }
    .sidebar-mobile.open { left:0; }
}
