/* Status badge (§13.3) */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid;border-radius:var(--ot-radius-sm);
  font-family:var(--ot-font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;white-space:nowrap}
.badge svg{width:12px;height:12px;flex:none}
.badge--pending{color:var(--ot-pending-text);background:var(--ot-pending-bg);border-color:var(--ot-pending-border)}
.badge--success{color:var(--ot-success-text);background:var(--ot-success-bg);border-color:var(--ot-success-border)}
.badge--neutral{color:var(--ot-neutral-text);background:var(--ot-neutral-bg);border-color:var(--ot-neutral-border)}
.badge--navy{color:var(--ot-navy);background:rgba(14,31,61,.08);border-color:rgba(14,31,61,.2)}
.spin{animation:spin 1.6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;padding:0;list-style:none}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--ot-surface-card);border:1px solid var(--ot-border);border-radius:var(--ot-radius-sm);
  font-family:var(--ot-font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ot-text-secondary)}
.tag svg{width:12px;height:12px;color:var(--ot-text-muted)}

/* Early access form (§13.1/§13.2) */
.access{margin-top:44px;max-width:480px}
.access label{display:block;margin-bottom:8px;font-family:var(--ot-font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ot-text-muted)}
.field{display:flex;gap:8px}
.field input{flex:1;min-width:0;height:48px;padding:0 14px;background:var(--ot-surface-card);border:1px solid var(--ot-border);border-radius:var(--ot-radius-md);
  font:400 15px/1 var(--ot-font-sans);color:var(--ot-text-primary);transition:border-color var(--ot-motion-fast) var(--ot-ease),box-shadow var(--ot-motion-fast) var(--ot-ease)}
.field input::placeholder{color:var(--ot-text-muted)}
.field input:hover{border-color:var(--ot-border-strong)}
.field input:focus{outline:none;border-color:var(--ot-teal);box-shadow:var(--ot-focus-ring-input)}
.field input[aria-invalid="true"]{border-color:var(--ot-error-text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border:1px solid var(--ot-navy);border-radius:var(--ot-radius-md);
  background:var(--ot-navy);color:#fff;font:600 14px/1 var(--ot-font-sans);cursor:pointer;white-space:nowrap;
  transition:background var(--ot-motion-fast) var(--ot-ease),border-color var(--ot-motion-fast) var(--ot-ease)}
.btn:hover{background:var(--ot-navy-mid);border-color:var(--ot-navy-mid)}
.btn:active{background:var(--ot-navy-light)}
.btn svg{width:15px;height:15px}
.helper{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--ot-text-muted)}
.helper.error{color:var(--ot-error-text);display:flex;align-items:center;gap:6px}
.confirm{display:none;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--ot-success-bg);border:1px solid var(--ot-success-border);border-radius:var(--ot-radius-md);color:var(--ot-success-text);font-size:14px;line-height:1.5}
.confirm svg{width:18px;height:18px;flex:none;margin-top:1px}
.confirm strong{display:block;color:var(--ot-text-primary);font-weight:600}
.confirm span{color:var(--ot-text-secondary);font-size:13px}
.access.is-done .field,.access.is-done .helper,.access.is-done label{display:none}
.access.is-done .confirm{display:flex}

/* Language switcher */
.lang{display:inline-flex;align-items:center;gap:4px;margin:0}
.lang a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;height:28px;min-width:34px;padding:0 8px;border:1px solid var(--ot-border);border-radius:var(--ot-radius-sm);background:var(--ot-surface-card);
  font:600 10.5px/1 var(--ot-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ot-text-muted);cursor:pointer}
.lang a:hover{border-color:var(--ot-border-strong)}
.lang a[aria-current="true"]{background:var(--ot-navy);border-color:var(--ot-navy);color:#fff}
.header-actions{display:flex;align-items:center;gap:12px}
/* Consent banner + footer link button */
.btn--ghost{background:transparent;color:var(--ot-navy)}
.btn--ghost:hover{background:var(--ot-surface-elevated);border-color:var(--ot-navy)}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:20px;
  padding:16px 20px;background:var(--ot-surface-card);border:1px solid var(--ot-border);border-radius:var(--ot-radius-xl);box-shadow:var(--ot-shadow-modal)}
.consent[hidden]{display:none}
.consent-body strong{display:block;font-size:14px;color:var(--ot-navy)}
.consent-body p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--ot-text-secondary)}
.consent-actions{display:flex;gap:8px;flex:none}
.consent .btn{height:40px;padding:0 16px}
.link-btn{padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--ot-teal);cursor:pointer;text-decoration:underline}
@media (max-width:640px){.consent{flex-direction:column;align-items:stretch;gap:12px}.consent-actions{justify-content:flex-end}.consent .btn{width:auto;flex:1}}
