/* Full-page account security (Clerk UserProfile): same page shell and header as the other
   Mon compte pages (account-ui.css .account-page / .account-page-header), platform header on top. */
body.security-page { background: #f8f8f7; display: block; }
body.security-page .account-page { padding-bottom: 96px; }
.security-content { width: 100%; }
.security-intro {
  margin: 0 0 20px;
  font-size: 15px;
  color: var(--gray-500);
  line-height: 1.5;
}
/* Desktop: the platform header spans the full width and sticks, exactly as on /account.html. */
@media (min-width: 900px) {
  body.security-page > .platform-header { position: sticky; top: 0; max-width: none; box-shadow: 0 1px 0 rgba(11,15,20,.06); padding-inline-start: max(16px, calc((100% - 1120px) / 2 + 16px)); padding-inline-end: max(16px, calc((100% - 1120px) / 2 + 16px)); }
}
/* Phone: same left-aligned page title as Enregistrées / Mes recherches / Notifications
   (account-reference-shell.css); the platform header is hidden like on every account page. */
@media (max-width: 760px) {
  body.security-page .account-page { background: #f6f5f2; padding-top: 22px; padding-bottom: 40px; }
  body.security-page .account-page-header { justify-content: flex-start; padding-block:8px 22px;padding-inline:36px 0; }
  body.security-page .account-page-header h1 { font-size: 28px; letter-spacing: -.9px; text-align:start; }
  body.security-page .account-page-header [data-action="back"] { display: block; }
  body.security-page .account-page-body { padding-top: 0; }
  .security-intro { font-size: 14px; margin-bottom: 16px; }
}
.security-content .auth-state { padding: 24px 0; text-align: center; color: var(--gray-500); font-size: 14px; }
.security-content .auth-state[hidden] { display: none !important; }

.security-mount { width: 100%; }
.security-mount[hidden] { display: none; }

/* Status line above the cards (saved / error) */
.sec-status { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 700; background: #f5f3ee; color: #0b0f14; }
.sec-status.is-error { background: #fdece4; color: #c74200; }
.sec-status[hidden] { display: none; }

/* Cards: the same white surfaces as the account menu (.acc-menu-list) */
.sec-card { background: #fff; border: 1px solid #ecebe6; border-radius: 16px; padding: 6px 0 0; margin-bottom: 16px; overflow: hidden; }
.sec-card-title { margin: 0; padding: 12px 16px 6px; font: 800 13px/1.2 "Manrope", system-ui, sans-serif; letter-spacing: .4px; text-transform: uppercase; color: #5b6470; }
.sec-row { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-top: 1px solid #f2f2f2; }
.sec-row-icon { width: 24px; height: 24px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #0b0f14; }
.sec-row-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.sec-row-label { font-size: 13px; font-weight: 700; color: #5b6470; }
.sec-row-value { font-size: 15px; font-weight: 800; color: #0b0f14; word-break: break-all; }
.sec-row-value.is-empty { color: #8a93a0; font-weight: 700; }
.sec-row-hint { font-size: 12px; color: #8a93a0; line-height: 1.4; }
.sec-row-hint[hidden] { display: none; }
.sec-row-action { flex-shrink: 0; border: 0; background: transparent; padding: 8px 4px; font: 800 14px "Manrope", system-ui, sans-serif; color: #c74200; cursor: pointer; }
.sec-row-action[hidden] { display: none; }
.sec-row-action:disabled { color: #b0b6bf; cursor: default; }
.sec-empty { margin: 0; padding: 10px 16px 16px; font-size: 14px; color: #5b6470; line-height: 1.5; }

/* Devices */
.sec-device { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-top: 1px solid #f2f2f2; }
.sec-device-icon { width: 40px; height: 40px; border-radius: 12px; background: #f5f3ee; display: flex; align-items: center; justify-content: center; color: #0b0f14; flex-shrink: 0; }
.sec-device-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sec-device-name { font-size: 15px; font-weight: 800; color: #0b0f14; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sec-device-current { font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 99px; background: #ff5400; color: #fff; }
.sec-device-meta { font-size: 12px; color: #8a93a0; }

/* Danger zone */
.sec-card-danger { border-color: #f6d9cc; }
.sec-card-danger .sec-card-title { color: #c74200; }
.sec-danger-btn { margin: 0 16px 16px; padding: 12px 16px; border-radius: 12px; border: 1px solid #f0b9a1; background: #fff; color: #c74200; font: 800 14px "Manrope", system-ui, sans-serif; cursor: pointer; }
.sec-danger-btn:hover { background: #fdece4; }

/* Sheet contents */
.sec-sheet[hidden] { display: none; }
.sec-sheet .sh { padding-top: 10px; }
.sec-sheet-close { border: 0; background: #f5f3ee; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #0b0f14; cursor: pointer; }
.sec-sheet-body { padding-top: 4px; }
.sec-sheet-text { margin: 0 0 14px; font-size: 14px; color: #5b6470; line-height: 1.5; }
.sec-sheet-text:empty { display: none; }
.sec-field { display: block; margin-bottom: 12px; padding: 10px 14px; border: 1px solid #e3e1da; border-radius: 12px; background: #f5f3ee; }
.sec-field span { display: block; margin-bottom: 2px; font-size: 12px; font-weight: 700; color: #5b6470; }
.sec-field input { width: 100%; border: 0; outline: 0; background: transparent; font: 700 16px "Manrope", system-ui, sans-serif; color: #0b0f14; letter-spacing: 0; }
.sec-field input.sec-code { letter-spacing: 6px; font-size: 22px; text-align: center; }
.sec-sheet-error { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #c74200; }
.sec-sheet-error[hidden] { display: none; }
.sec-sheet-submit { width: 100%; margin-top: 4px; }
.sec-sheet-submit.is-danger { background: #c74200; color: #fff; }
.sec-sheet-submit:disabled { opacity: .55; cursor: default; }
