/* =========================================================
   Findzle Vaults — Readability
   Loaded LAST.
   Application text must remain readable.
   ========================================================= */

:root {
    --vaults-readable-min: 12px;
    --vaults-readable-body: 15px;
    --vaults-readable-nav: 15px;
    --vaults-readable-secondary: 13px;

    --vaults-readable-text: #111827;
    --vaults-readable-muted: #4b5563;
    --vaults-readable-soft: #6b7280;
}

/* =========================================================
   Base
   ========================================================= */

html {
    font-size: 16px;
}

body.vaults-body,
body.vaults-public-body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--vaults-readable-body) !important;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* =========================================================
   Sidebar
   ========================================================= */

body.vaults-body #vaults-sidebar .vaults-sidebar-link {
    min-height: 44px !important;
    padding: 9px 12px !important;
    font-size: var(--vaults-readable-nav) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

body.vaults-body #vaults-sidebar .vaults-sidebar-link.is-active {
    font-weight: 700 !important;
}

body.vaults-body #vaults-sidebar .vaults-sidebar-section-title {
    margin-top: 20px !important;
    margin-bottom: 7px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    letter-spacing: .07em !important;
}

body.vaults-body #vaults-sidebar .vaults-sidebar-link-icon {
    width: 22px !important;
    min-width: 22px !important;
    font-size: 17px !important;
}

body.vaults-body #vaults-sidebar .vaults-brand-text strong {
    font-size: 16px !important;
}

body.vaults-body #vaults-sidebar .vaults-brand-text span {
    margin-top: 2px !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.vaults-body #vaults-sidebar .vaults-context-selector label,
body.vaults-body #vaults-sidebar .vaults-context-badge {
    font-size: 12px !important;
}

body.vaults-body #vaults-sidebar .vaults-context-selector select {
    min-height: 42px !important;
    font-size: 15px !important;
}

body.vaults-body #vaults-sidebar .vaults-security-state {
    font-size: 13px !important;
}

body.vaults-body #vaults-sidebar .vaults-sidebar-status small,
body.vaults-body #vaults-sidebar .vaults-sidebar-user-account {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.vaults-body #vaults-sidebar .vaults-sidebar-user-name {
    font-size: 13px !important;
}

/* =========================================================
   Formulaires / tableaux / actions
   ========================================================= */

body.vaults-body input,
body.vaults-body select,
body.vaults-body textarea,
body.vaults-public-body input,
body.vaults-public-body select,
body.vaults-public-body textarea {
    font-size: 14px !important;
}

body.vaults-body button,
body.vaults-body .btn,
body.vaults-body .vaults-btn,
body.vaults-public-body button,
body.vaults-public-body .btn,
body.vaults-public-body .vaults-btn {
    font-size: 13px !important;
}

body.vaults-body table td,
body.vaults-body .fz-table td,
body.vaults-public-body table td {
    font-size: 13px !important;
}

body.vaults-body table th,
body.vaults-body .fz-table th,
body.vaults-public-body table th {
    font-size: 12px !important;
}

/* =========================================================
   Micro-textes et contenus secondaires
   ========================================================= */

body.vaults-body small,
body.vaults-public-body small,
body.vaults-body .muted,
body.vaults-public-body .muted,
body.vaults-body .vaults-muted,
body.vaults-public-body .vaults-muted,
body.vaults-body .vaults-eyebrow,
body.vaults-public-body .vaults-eyebrow,
body.vaults-body .vaults-page-description,
body.vaults-public-body .vaults-page-description,
body.vaults-body .vaults-context-badge,
body.vaults-body .vaults-risk-pill,
body.vaults-body .fz-badge,
body.vaults-body .fz-status {
    font-size: var(--vaults-readable-min) !important;
    line-height: 1.45 !important;
}

body.vaults-body .vaults-card p,
body.vaults-body .card p,
body.vaults-public-body .vaults-card p,
body.vaults-public-body .card p,
body.vaults-body .vaults-security-control-card > small,
body.vaults-body .vaults-security-feature small,
body.vaults-body .vaults-toast-copy small,
body.vaults-body .vaults-secure-item-main small,
body.vaults-body .vaults-audit-main span,
body.vaults-body .vaults-audit-row code,
body.vaults-body .vaults-audit-meta span,
body.vaults-body .vaults-audit-meta small,
body.vaults-body .vaults-access-person small,
body.vaults-body .vaults-toggle-row small {
    font-size: var(--vaults-readable-secondary) !important;
    line-height: 1.5 !important;
}

/* =========================================================
   Topbar / launcher
   ========================================================= */

body.vaults-body .vaults-global-search input {
    font-size: 14px !important;
}

body.vaults-body .vaults-global-search kbd,
body.vaults-body .vaults-dropdown-header span,
body.vaults-body .vaults-notification-item-content span,
body.vaults-body .vaults-notification-item-content small,
body.vaults-body .vaults-app-launcher-name,
body.vaults-body .vaults-user-menu-identity span,
body.vaults-body .vaults-user-menu-identity small,
body.vaults-body .vaults-user-menu-item small {
    font-size: 12px !important;
}

/* =========================================================
   Public home / Password Lab
   ========================================================= */

body.vaults-public-body .vaults-public-nav a,
body.vaults-public-body .vaults-public-footer,
body.vaults-public-body .vaults-generator-field-label,
body.vaults-public-body .vaults-generator-switch-line,
body.vaults-public-body .vaults-generator-preset small,
body.vaults-public-body .vaults-generator-analysis li,
body.vaults-public-body .vaults-generator-tip,
body.vaults-public-body .vaults-password-quality,
body.vaults-public-body .vaults-inline-message {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* =========================================================
   Toasts
   ========================================================= */

body.vaults-body .vaults-toast {
    min-width: min(420px, calc(100vw - 36px));
    max-width: min(520px, calc(100vw - 36px));
    padding: 14px 16px !important;
    gap: 12px !important;
}

body.vaults-body .vaults-toast-copy b {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

body.vaults-body .vaults-toast-copy small {
    margin-top: 5px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.vaults-body .vaults-toast-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 17px !important;
}

body.vaults-body .vaults-toast-close {
    width: 30px !important;
    height: 30px !important;
    font-size: 20px !important;
}

/* =========================================================
   Modales / dialogues
   ========================================================= */

body.vaults-body .vaults-create-modal,
body.vaults-body .vaults-modal,
body.vaults-body .vaults-dialog,
body.vaults-body .vaults-unlock-modal,
body.vaults-body .vaults-unlock-dialog,
body.vaults-body .vaults-master-password-modal,
body.vaults-body .vaults-master-password-dialog,
body.vaults-body .vaults-master-dialog {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

body.vaults-body .vaults-create-modal .vaults-modal-kicker,
body.vaults-body .vaults-modal .vaults-modal-kicker,
body.vaults-body .vaults-dialog .vaults-modal-kicker {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--vaults-readable-muted) !important;
}

body.vaults-body .vaults-unlock-modal .vaults-modal-kicker,
body.vaults-body .vaults-unlock-dialog .vaults-modal-kicker,
body.vaults-body .vaults-master-password-modal .vaults-modal-kicker {
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #1f2937 !important;
}

body.vaults-body .vaults-create-modal .vaults-modal-title,
body.vaults-body .vaults-modal .vaults-modal-title,
body.vaults-body .vaults-dialog .vaults-modal-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
}

body.vaults-body .vaults-unlock-modal .vaults-modal-title,
body.vaults-body .vaults-unlock-dialog .vaults-modal-title,
body.vaults-body .vaults-master-password-modal .vaults-modal-title {
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
    color: var(--vaults-readable-text) !important;
}

body.vaults-body .vaults-create-modal .vaults-modal-subtitle,
body.vaults-body .vaults-modal .vaults-modal-subtitle,
body.vaults-body .vaults-dialog .vaults-modal-subtitle {
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: var(--vaults-readable-soft) !important;
}

/* Fenêtre de déverrouillage :
   cette règle remplace les anciens blocs FORCE redondants. */
body.vaults-body .vaults-unlock-modal .vaults-modal-subtitle,
body.vaults-body .vaults-unlock-dialog .vaults-modal-subtitle,
body.vaults-body .vaults-unlock-dialog .vaults-dialog-subtitle,
body.vaults-body .vaults-master-password-modal .vaults-modal-subtitle,
body.vaults-body .vaults-unlock-modal p,
body.vaults-body .vaults-unlock-dialog p,
body.vaults-body .vaults-master-password-modal p,
body.vaults-body .vaults-master-password-dialog p,
body.vaults-body .vaults-master-dialog > form > p,
body.vaults-body #vaults-unlock-dialog > form > p {
    max-width: 580px !important;
    margin: 12px auto 24px !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    color: #536174 !important;
    text-align: center !important;
}

/* =========================================================
   Labels
   ========================================================= */

body.vaults-body .vaults-create-modal label,
body.vaults-body .vaults-create-modal .vaults-field-label,
body.vaults-body .vaults-modal label,
body.vaults-body .vaults-modal .vaults-field-label,
body.vaults-body .vaults-dialog label,
body.vaults-body .vaults-dialog .vaults-field-label {
    display: inline-block !important;
    margin-bottom: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--vaults-readable-text) !important;
}

body.vaults-body .vaults-unlock-modal label,
body.vaults-body .vaults-unlock-dialog label,
body.vaults-body .vaults-master-password-modal label {
    display: inline-block !important;
    margin-bottom: 8px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--vaults-readable-text) !important;
}

/* =========================================================
   Champs des modales
   ========================================================= */

body.vaults-body .vaults-create-modal input[type="text"],
body.vaults-body .vaults-create-modal input[type="password"],
body.vaults-body .vaults-create-modal textarea,
body.vaults-body .vaults-create-modal select,
body.vaults-body .vaults-modal input[type="text"],
body.vaults-body .vaults-modal input[type="password"],
body.vaults-body .vaults-modal textarea,
body.vaults-body .vaults-modal select,
body.vaults-body .vaults-dialog input[type="text"],
body.vaults-body .vaults-dialog input[type="password"],
body.vaults-body .vaults-dialog textarea,
body.vaults-body .vaults-dialog select {
    min-height: 48px !important;
    padding: 11px 14px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

body.vaults-body .vaults-create-modal textarea,
body.vaults-body .vaults-modal textarea,
body.vaults-body .vaults-dialog textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

body.vaults-body .vaults-unlock-modal input[type="password"],
body.vaults-body .vaults-unlock-modal input[type="text"],
body.vaults-body .vaults-unlock-dialog input[type="password"],
body.vaults-body .vaults-unlock-dialog input[type="text"],
body.vaults-body .vaults-master-password-modal input[type="password"],
body.vaults-body .vaults-master-password-modal input[type="text"] {
    min-height: 50px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
}

/* =========================================================
   Boutons des modales
   ========================================================= */

body.vaults-body .vaults-create-modal .btn,
body.vaults-body .vaults-create-modal button,
body.vaults-body .vaults-modal .btn,
body.vaults-body .vaults-modal button,
body.vaults-body .vaults-dialog .btn,
body.vaults-body .vaults-dialog button,
body.vaults-body .vaults-unlock-modal button,
body.vaults-body .vaults-unlock-modal .btn,
body.vaults-body .vaults-unlock-dialog button,
body.vaults-body .vaults-unlock-dialog .btn,
body.vaults-body .vaults-master-password-modal button,
body.vaults-body .vaults-master-password-modal .btn {
    min-height: 46px !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

body.vaults-body .vaults-unlock-modal button,
body.vaults-body .vaults-unlock-modal .btn,
body.vaults-body .vaults-unlock-dialog button,
body.vaults-body .vaults-unlock-dialog .btn,
body.vaults-body .vaults-master-password-modal button,
body.vaults-body .vaults-master-password-modal .btn {
    min-height: 48px !important;
    padding: 11px 18px !important;
}

/* =========================================================
   Protection renforcée
   ========================================================= */

body.vaults-body .vaults-security-block,
body.vaults-body .vaults-security-panel,
body.vaults-body .vaults-create-modal .vaults-protection-box {
    padding: 18px !important;
    border-radius: 16px !important;
}

body.vaults-body .vaults-security-block-title,
body.vaults-body .vaults-security-panel-title,
body.vaults-body .vaults-create-modal .vaults-protection-title {
    margin-bottom: 12px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

body.vaults-body .vaults-security-option,
body.vaults-body .vaults-create-modal .vaults-protection-option {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 14px !important;
}

body.vaults-body .vaults-security-option input[type="checkbox"],
body.vaults-body .vaults-create-modal .vaults-protection-option input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-top: 3px !important;
    flex: 0 0 auto !important;
}

body.vaults-body .vaults-security-option-title,
body.vaults-body .vaults-create-modal .vaults-protection-option-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--vaults-readable-text) !important;
}

body.vaults-body .vaults-security-option-help,
body.vaults-body .vaults-create-modal .vaults-protection-option-help {
    margin-top: 4px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--vaults-readable-soft) !important;
}

/* =========================================================
   Apparence — select + pastille couleur
   ========================================================= */

body.vaults-body .vaults-appearance-select-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body.vaults-body .vaults-appearance-preview {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border: 1px solid rgba(17, 24, 39, 0.15) !important;
    border-radius: 4px !important;
    background: #6366f1 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
}

body.vaults-body .vaults-appearance-select {
    font-size: 16px !important;
}

body.vaults-body .vaults-appearance-select option {
    font-size: 15px !important;
}

body.vaults-body .swatch-indigo  { background: #4f46e5 !important; }
body.vaults-body .swatch-blue    { background: #2563eb !important; }
body.vaults-body .swatch-emerald { background: #059669 !important; }
body.vaults-body .swatch-amber   { background: #d97706 !important; }
body.vaults-body .swatch-rose    { background: #e11d48 !important; }
body.vaults-body .swatch-slate   { background: #475569 !important; }
body.vaults-body .swatch-violet  { background: #7c3aed !important; }
body.vaults-body .swatch-teal    { background: #0f766e !important; }

/* =========================================================
   Badges sécurité du dialogue de déverrouillage
   ========================================================= */

body.vaults-body .vaults-unlock-modal .vaults-chip,
body.vaults-body .vaults-unlock-dialog .vaults-chip,
body.vaults-body .vaults-master-password-modal .vaults-chip,
body.vaults-body .vaults-unlock-modal .vaults-badge,
body.vaults-body .vaults-unlock-dialog .vaults-badge,
body.vaults-body .vaults-master-password-modal .vaults-badge {
    padding: 7px 11px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 720px) {
    body.vaults-body,
    body.vaults-public-body {
        font-size: 15px !important;
    }

    body.vaults-body #vaults-sidebar .vaults-sidebar-link {
        font-size: 15px !important;
    }

    body.vaults-body .vaults-toast {
        min-width: 0;
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
    }

    body.vaults-body .vaults-unlock-modal .vaults-modal-subtitle,
    body.vaults-body .vaults-unlock-dialog .vaults-modal-subtitle,
    body.vaults-body .vaults-unlock-dialog .vaults-dialog-subtitle,
    body.vaults-body .vaults-master-password-modal .vaults-modal-subtitle,
    body.vaults-body .vaults-unlock-modal p,
    body.vaults-body .vaults-unlock-dialog p,
    body.vaults-body .vaults-master-password-modal p,
    body.vaults-body .vaults-master-password-dialog p,
    body.vaults-body .vaults-master-dialog > form > p,
    body.vaults-body #vaults-unlock-dialog > form > p {
        font-size: 16px !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
    }
}