/* SwebFlow — App CSS (styles personnalisés, tailwind.css chargé séparément) */
@import url('/assets/css/inter.css');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body { font-family: 'Inter', system-ui, sans-serif; max-width: 100vw; overflow-x: hidden; }


input.iti__tel-input { padding-right: 0 !important; }

.nav-link        { color: #6b7280; transition: color .15s; }
.nav-link:hover  { color: #111827; }
.nav-link.active { color: #111827; font-weight: 500; }

.mobile-nav-link        { display: block; padding: .625rem 0; font-size: .875rem; color: #4b5563; transition: color .15s; }
.mobile-nav-link:hover  { color: #111827; }
.mobile-nav-link.active { color: #111827; font-weight: 500; }
.iti:has(.iti__tel-input) { width: 100%; }

@media (max-width: 640px) {
    form .grid.grid-cols-2 { grid-template-columns: 1fr !important; }
}

/* ── Toggle switch ──────────────────────────────────────────────────────────── */
.toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .875rem 1rem;
    border-radius: .75rem;
    border: 1px solid #e5e7eb;
    transition: background .15s;
}
.toggle-row:not(.toggle-row--locked):hover { background: #f9fafb; }
.toggle-switch { display: inline-flex; flex-shrink: 0; cursor: pointer; }
.toggle-switch input { position: absolute; opacity: 0; width: 0; height: 0; }

.toggle-track {
    position: relative;
    width: 44px;
    height: 24px;
    border-radius: 9999px;
    background: #d1d5db;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.12);
    transition: background .2s ease;
}
.toggle-switch input:checked ~ .toggle-track { background: #2563eb; }
.toggle-switch input:focus-visible ~ .toggle-track { outline: 2px solid #93c5fd; outline-offset: 2px; }

.toggle-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.22);
    transition: transform .2s ease;
}
.toggle-switch input:checked ~ .toggle-track .toggle-thumb { transform: translateX(20px); }

/* Toggle always-on (obligatoire) */
.toggle-track--forced {
    background: #2563eb;
    opacity: .5;
    cursor: not-allowed;
}
.toggle-track--forced .toggle-thumb { transform: translateX(20px); }

/* Complète .truncate du build Tailwind (white-space manquant) */
.truncate { white-space: nowrap; }

/* ── Quill editor ───────────────────────────────────────────────────────────── */
.ql-toolbar.ql-snow,
.ql-container.ql-snow { margin-top: 0 !important; }

.ql-toolbar.ql-snow {
    margin-top: 0.75rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
    background: #f9fafb !important;
    padding: 6px 8px !important;
}

.ql-container.ql-snow {
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 0.5rem 0.5rem !important;
    background: #fff !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 0.875rem !important;
}

.ql-editor { min-height: 120px !important; padding: 10px 12px !important; }

.ql-toolbar.ql-snow .ql-formats { margin-right: 8px !important; }

.ql-snow .ql-stroke { stroke: #6b7280 !important; }
.ql-snow .ql-fill  { fill:   #6b7280 !important; }
.ql-snow .ql-picker { color: #6b7280 !important; }

.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke { stroke: #2563eb !important; }

.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill { fill: #2563eb !important; }

.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active {
    background: #eff6ff !important;
    border-radius: 0.25rem !important;
}

.ql-snow .ql-picker-label:hover,
.ql-snow .ql-picker-label.ql-active { color: #2563eb !important; }
