/* SENAGORA V5 — App CSS (dist)
 * Ce fichier est chargé via wp_enqueue_style sur toutes les pages [sng_app]
 * Les styles principaux sont injectés dynamiquement par senagora-app.js
 * Ce fichier contient les overrides WordPress et les reset globaux
 */

/* ── Reset WordPress conflicts ───────────────────────────────────────────── */
#senagora-app,
#senagora-app * {
    box-sizing: border-box;
}

#senagora-app .sng-app {
    /* Reset common WP theme styles that bleed in */
    line-height: 1.5;
}

#senagora-app input[type="text"],
#senagora-app input[type="email"],
#senagora-app input[type="password"],
#senagora-app input[type="tel"],
#senagora-app input[type="url"],
#senagora-app textarea,
#senagora-app select {
    /* Override WP/theme input styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}

#senagora-app button {
    cursor: pointer;
    font-family: inherit;
}

#senagora-app a {
    text-decoration: none;
}

#senagora-app img {
    max-width: 100%;
    height: auto;
}

/* ── Scrollbar styling ───────────────────────────────────────────────────── */
#senagora-app ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
#senagora-app ::-webkit-scrollbar-track {
    background: #f1f5f9;
}
#senagora-app ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
#senagora-app ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ── Loading spinner ─────────────────────────────────────────────────────── */
#sng-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    flex-direction: column;
    gap: 16px;
}

/* ── Print styles ────────────────────────────────────────────────────────── */
@media print {
    .sng-nav,
    .sng-footer,
    .sng-form-nav,
    .sng-btn {
        display: none !important;
    }
    .sng-main {
        max-width: 100% !important;
        padding: 0 !important;
    }
}

/* ── Responsive tweaks ───────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .sng-access-title {
        font-size: 1.5rem !important;
    }
    .sng-auth-card {
        padding: 24px 16px !important;
    }
    .sng-role-btns {
        flex-direction: column !important;
    }
    .sng-nav-inner {
        padding: 0 12px !important;
    }
    .sng-main {
        padding: 20px 12px !important;
    }
    .sng-step-labels {
        gap: 4px !important;
    }
    .sng-step-label {
        font-size: 10px !important;
        padding: 4px 8px !important;
    }
}

@media (max-width: 768px) {
    .sng-projects-grid {
        grid-template-columns: 1fr !important;
    }
    .sng-project-view-body {
        grid-template-columns: 1fr !important;
    }
    .sng-access-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .sng-nav-uname {
        display: none;
    }
}

/* ── Animations ──────────────────────────────────────────────────────────── */
@keyframes sng-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.sng-main > * {
    animation: sng-fade-in 0.2s ease-out;
}

@keyframes sng-spin {
    to { transform: rotate(360deg); }
}

/* ── Utility classes ─────────────────────────────────────────────────────── */
.sng-text-center { text-align: center; }
.sng-mt-0  { margin-top: 0; }
.sng-mt-8  { margin-top: 8px; }
.sng-mt-16 { margin-top: 16px; }
.sng-mt-24 { margin-top: 24px; }
.sng-mb-0  { margin-bottom: 0; }
.sng-mb-8  { margin-bottom: 8px; }
.sng-mb-16 { margin-bottom: 16px; }
.sng-mb-24 { margin-bottom: 24px; }
.sng-hidden { display: none !important; }
.sng-flex   { display: flex; }
.sng-flex-col { flex-direction: column; }
.sng-gap-8  { gap: 8px; }
.sng-gap-16 { gap: 16px; }
.sng-w-full { width: 100%; }
