/* SchoolFlow — custom overrides on top of Tailwind */

/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Touch targets */
button, a, input, select, textarea {
    -webkit-tap-highlight-color: transparent;
}

/* WhatsApp button */
.btn-whatsapp {
    background: #25D366;
    color: #fff;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem 1.5rem;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    transition: background .15s;
    min-height: 44px;
}
.btn-whatsapp:hover { background: #1ebe5d; }

/* Status badges */
.badge-paid      { background:#d1fae5; color:#065f46; }
.badge-partial   { background:#fef3c7; color:#92400e; }
.badge-unpaid    { background:#fee2e2; color:#991b1b; }
.badge-nofees    { background:#f1f5f9; color:#475569; }
.badge-active    { background:#d1fae5; color:#065f46; }
.badge-inactive  { background:#fee2e2; color:#991b1b; }
.badge-trial     { background:#fef3c7; color:#92400e; }
.badge-expired   { background:#fee2e2; color:#991b1b; }
.badge-suspended { background:#fee2e2; color:#991b1b; }
.badge-basic     { background:#dbeafe; color:#1e40af; }
.badge-standard  { background:#ede9fe; color:#5b21b6; }
.badge-premium   { background:#f3e8ff; color:#6b21a8; }
.badge-admin     { background:#dbeafe; color:#1e40af; }
.badge-parent    { background:#ede9fe; color:#5b21b6; }
.badge-superadmin{ background:#0f172a; color:#fff; }

/* Table hover */
.sf-table tbody tr:hover { background: #f8fafc; }

/* Form focus ring */
.sf-input:focus {
    outline: none;
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13,148,136,.15);
}

/* Nav dropdown */
.nav-dropdown { position: relative; }
.nav-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    min-width: 180px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    z-index: 200;
    padding: .4rem 0;
}
.nav-dropdown:hover .nav-dropdown-menu { display: block; }
.nav-dropdown-menu a {
    display: block;
    padding: .5rem 1rem;
    font-size: .875rem;
    color: #334155;
    text-decoration: none;
}
.nav-dropdown-menu a:hover { background: #f0fdfa; color: #0d9488; }
.nav-dropdown > a::after { content: " ▾"; font-size: .65rem; opacity: .7; }

/* Sidebar mobile toggle */
@media (max-width: 768px) {
    .mobile-nav-hidden { display: none; }
    .mobile-nav-open   { display: flex; }
}

/* Metric card gradient accents */
.metric-teal    { border-left: 4px solid #0d9488; }
.metric-emerald { border-left: 4px solid #059669; }
.metric-amber   { border-left: 4px solid #d97706; }
.metric-rose    { border-left: 4px solid #e11d48; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

/* Hero gradient animation */
@keyframes gradient-shift {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}

.animate-pulse {
    animation: gradient-shift 4s ease-in-out infinite;
}
