@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root { --primary: #10b981; }
* { font-family: 'Inter', system-ui, sans-serif; -webkit-tap-highlight-color: transparent; }

html { color-scheme: light; }
html.dark { color-scheme: dark; }

/* Stabilitas UI Mobile */
body { min-height: 100vh; min-height: 100dvh; } /* dvh fallback untuk Safari < 15.4 */
#main-app { height: 100vh; height: 100dvh; }

/* Cegah auto-zoom iOS Safari saat tap input (font-size minimum 16px) */
input, select, textarea { font-size: max(16px, 1rem); }

/* Safe area padding untuk iPhone X+/notch/home bar */
main#content { padding-bottom: max(6rem, calc(1.5rem + env(safe-area-inset-bottom))); }

/* FIX KRITIS: iOS webapp – header & sidebar tidak bisa dipencet karena tertutup status bar */
header { padding-top: env(safe-area-inset-top); min-height: calc(4rem + env(safe-area-inset-top)); }
#sidebar { padding-top: env(safe-area-inset-top); }

/* AI Chat Box: posisi aman di atas FAB button, tidak overflow di layar kecil */
#avian-floating-chat { bottom: calc(5.5rem + env(safe-area-inset-bottom)) !important; max-height: min(500px, calc(100dvh - 10rem)) !important; }
@media (min-width: 768px) { #avian-floating-chat { bottom: calc(6.5rem + env(safe-area-inset-bottom)) !important; } }

/* Animasi & Komponen */
.sidebar-link.active { background-color: #10b981; color: white; border-radius: 9999px; box-shadow: 0 4px 14px 0 rgba(16,185,129,0.39); }
.modal-enter { animation: modalPop 0.3s cubic-bezier(0.175,0.885,0.32,1.275) forwards; }
@keyframes modalPop { 0%{transform:scale(0.95) translateY(10px);opacity:0} 100%{transform:scale(1) translateY(0);opacity:1} }

/* Webkit backdrop-filter untuk Safari */
[class*="backdrop-blur"] { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.pulse-red { animation: pulseRed 2s infinite; }
@keyframes pulseRed { 0%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)} 70%{box-shadow:0 0 0 10px rgba(239,68,68,0)} 100%{box-shadow:0 0 0 0 rgba(239,68,68,0)} }
.spin-anim { animation: spin 1s linear infinite; }
@keyframes spin { 100%{transform:rotate(360deg)} }

/* Utilitas */
.no-scrollbar::-webkit-scrollbar { display: none; }
.brand-gradient { background: linear-gradient(135deg,#10b981 0%,#0d9488 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.adaptive-input { background-color:#f9fafb; color:#111827; }
.dark .adaptive-input { background-color:#1f2937; color:#f9fafb; border-color:transparent; }
.dark .adaptive-input::placeholder { color:#9ca3af; }
.hidden-balance { filter:blur(4px); opacity:0.7; user-select:none; transition:all 0.3s ease; }

/* Aksesibilitas & State */
button:disabled { opacity: 0.5; cursor: not-allowed; }
.text-safe-xs { font-size: max(11px, 0.7rem); }