:root {
  --identity-paper:#f4ecdd;
  --identity-muted:rgba(244,236,221,.64);
  --identity-faint:rgba(244,236,221,.42);
  --identity-line:rgba(244,236,221,.1);
  --identity-line-strong:rgba(224,185,125,.28);
  --identity-gold:#ddb980;
  --identity-cyan:#91c8cb;
  --identity-danger:#dd9387;
  --identity-surface:rgba(25,22,18,.88);
}

body.identity-modal-open { overflow:hidden; }
[data-identity-page] *,[data-identity-admin] *,.identity-header-actions *,.identity-private-header * { box-sizing:border-box; }

/* Public and private identity entry */
.identity-header-actions,.identity-mobile-entry { display:flex;align-items:center;gap:7px;min-width:0; }
.identity-header-signin,.identity-header-create { min-height:42px;padding:0 15px;border:1px solid var(--identity-line);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--identity-muted);font-size:.82rem;font-weight:630;white-space:nowrap;transition:border-color .18s ease,color .18s ease,background .18s ease; }
.identity-header-signin:hover,.identity-header-signin:focus-visible { color:var(--identity-paper);border-color:var(--identity-line-strong); }
.identity-header-create { color:#1a140e;border-color:transparent;background:linear-gradient(135deg,#efdbb9,#c99c62);box-shadow:0 8px 28px rgba(183,128,65,.13); }
.identity-header-create:hover,.identity-header-create:focus-visible { background:linear-gradient(135deg,#f5e5c9,#d4aa72); }
.identity-header-profile { position:relative;min-width:0; }
.identity-header-profile>button { min-height:44px;max-width:210px;padding:5px 8px 5px 6px;border:1px solid var(--identity-line);border-radius:14px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.025);color:var(--identity-paper); }
.identity-header-profile>button>span:nth-child(2) { min-width:0;display:grid;text-align:left; }
.identity-header-profile>button small { color:var(--identity-faint);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase; }
.identity-header-profile>button strong { overflow:hidden;text-overflow:ellipsis;font-size:.76rem;white-space:nowrap; }
.identity-header-profile>[role="menu"] { position:absolute;z-index:120;top:calc(100% + 9px);right:0;width:220px;padding:7px;border:1px solid var(--identity-line);border-radius:16px;background:rgba(17,15,12,.98);box-shadow:0 24px 80px rgba(0,0,0,.46);backdrop-filter:blur(22px); }
.identity-header-profile>[role="menu"] a,.identity-header-profile>[role="menu"] button { width:100%;min-height:42px;padding:0 11px;border:0;border-radius:10px;display:flex;align-items:center;background:transparent;color:var(--identity-muted);font:inherit;font-size:.78rem;text-align:left; }
.identity-header-profile>[role="menu"] hr { height:1px;margin:6px 4px;border:0;background:var(--identity-line); }
.identity-header-profile>[role="menu"] a:hover,.identity-header-profile>[role="menu"] button:hover,.identity-header-profile>[role="menu"] a:focus-visible,.identity-header-profile>[role="menu"] button:focus-visible { outline:0;background:rgba(255,255,255,.055);color:var(--identity-paper); }
.identity-header-profile>[role="menu"] button { margin-top:4px;border-top:1px solid var(--identity-line);color:#d9a097; }
.identity-private-header .identity-header-profile>button>span:nth-child(2),.identity-private-header .identity-header-profile>button>svg { display:none; }
.identity-private-header .identity-header-profile>button { width:44px;padding:5px;border-radius:50%; }
.identity-private-header { flex:none; }
.identity-avatar { flex:none;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e2c799,#906d47);color:#18110b;font-size:.78rem;font-weight:760;letter-spacing:.01em;box-shadow:inset 0 1px rgba(255,255,255,.28); }
.identity-avatar img { width:100%;height:100%;object-fit:cover; }
.identity-avatar--large { width:76px;height:76px;border-radius:25px;font-size:1.45rem; }
.identity-avatar--loading { opacity:.3;animation:identity-pulse 1.3s ease-in-out infinite; }
[data-identity-admin-links] { display:contents; }

/* Authentication */
.identity-form { display:grid;gap:15px;margin-top:28px; }
.identity-form label:not(.identity-check) { min-width:0;display:grid;gap:7px; }
.identity-form label>span:first-child { color:var(--identity-muted);font-size:.77rem;letter-spacing:.045em; }
.identity-form label em { color:var(--identity-faint);font-style:normal; }
.identity-form input,.identity-form select,.identity-form textarea { width:100%;min-width:0;min-height:52px;padding:0 15px;border:1px solid var(--identity-line);border-radius:14px;outline:0;background:rgba(0,0,0,.23);color:var(--identity-paper);font:inherit; }
.identity-form textarea { min-height:88px;padding-block:13px;resize:vertical; }
.identity-form input:focus,.identity-form select:focus,.identity-form textarea:focus { border-color:rgba(221,185,128,.48);box-shadow:0 0 0 4px rgba(221,185,128,.08); }
.identity-form input::placeholder { color:rgba(244,236,221,.27); }
.identity-form small { color:var(--identity-faint);font-size:.67rem;line-height:1.45; }
.identity-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.identity-password-field { position:relative;display:block; }
.identity-password-field input { padding-right:68px; }
.identity-password-field button { position:absolute;right:6px;top:6px;min-width:55px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.045);color:var(--identity-muted);font-size:.69rem; }
.identity-password-field button:hover,.identity-password-field button:focus-visible { color:var(--identity-paper);background:rgba(255,255,255,.075); }
.identity-form-tools { display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--identity-faint);font-size:.72rem; }
.identity-form-tools a { color:var(--identity-muted); }
.identity-submit { width:100%;min-height:52px;margin-top:2px;justify-content:center; }
.identity-form[aria-busy="true"] { cursor:progress; }
.identity-form[aria-busy="true"] .identity-submit { opacity:.72; }
.identity-check { display:flex;align-items:start;gap:9px;color:var(--identity-muted);font-size:.74rem;line-height:1.4; }
.identity-check input { width:17px;height:17px;min-height:0;margin:1px 0 0;accent-color:var(--identity-gold); }
.identity-form-error { margin:0;padding:12px 14px;border:1px solid rgba(221,147,135,.22);border-radius:12px;background:rgba(136,55,44,.09);color:#e4a59b;font-size:.75rem;line-height:1.45; }
.identity-strength { --strength:0%;display:grid;gap:7px; }
.identity-strength>span { height:3px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden; }
.identity-strength i { display:block;width:var(--strength);height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd796e,var(--identity-gold),#9fc6a4);transition:width .2s ease; }
.identity-strength small { color:var(--identity-faint); }
.identity-policy-state,.identity-invite-state,.identity-recovery-note { margin-top:27px;padding:20px;border:1px solid var(--identity-line);border-radius:18px;display:flex;align-items:start;gap:14px;background:rgba(255,255,255,.018); }
.identity-policy-state>span { width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--identity-gold);box-shadow:0 0 20px rgba(221,185,128,.4); }
.identity-policy-state div,.identity-recovery-note div { display:grid;gap:6px; }
.identity-policy-state strong,.identity-invite-state strong,.identity-recovery-note strong { color:var(--identity-paper); }
.identity-policy-state p,.identity-invite-state p,.identity-recovery-note p { color:var(--identity-muted);font-size:.79rem;line-height:1.5; }
.identity-policy-state a,.identity-invite-state a { margin-top:6px;color:var(--identity-paper);font-size:.77rem; }
.identity-invite-state { min-height:190px;align-content:center;justify-items:center;text-align:center;display:grid; }
.identity-invite-state[data-state="error"] { color:var(--identity-danger); }
.identity-loader { width:34px;height:34px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--identity-gold);border-radius:50%;animation:identity-spin .8s linear infinite; }
.identity-invite-summary { margin-top:24px;padding:14px;border:1px solid rgba(151,198,202,.15);border-radius:15px;display:flex;align-items:center;gap:12px;background:rgba(113,176,181,.045); }
.identity-invite-summary>span { color:var(--identity-cyan); }
.identity-invite-summary div { display:grid;gap:3px; }
.identity-invite-summary p { color:var(--identity-muted);font-size:.72rem; }
.identity-recovery-note { margin-top:18px; }
.identity-recovery-note>svg { flex:none;color:var(--identity-gold); }

/* App account and onboarding */
.identity-primary { min-height:42px;padding:0 15px;border:1px solid rgba(221,185,128,.25);border-radius:12px;background:rgba(221,185,128,.1);color:#f0d9b5;font:inherit; }
.identity-inline-link { display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:var(--identity-gold); }


/* Administration */

/* Dialogs */
.identity-modal { position:fixed;z-index:520;inset:0;display:grid;place-items:center;padding:18px; }
.identity-modal__scrim { position:absolute;inset:0;border:0;background:rgba(4,3,2,.78);backdrop-filter:blur(16px); }
.identity-modal>section { position:relative;width:min(620px,100%);max-height:min(780px,calc(100dvh - 36px));overflow:auto;padding:25px;border:1px solid var(--identity-line);border-radius:24px;background:#17140f;box-shadow:0 34px 120px rgba(0,0,0,.58); }
.identity-modal>section>header { display:flex;align-items:start;justify-content:space-between;gap:18px; }
.identity-modal>section>header p { color:var(--identity-gold);font-size:.62rem;letter-spacing:.14em; }
.identity-modal>section>header h2 { margin:.15em 0 .45em;font-size:clamp(2rem,5vw,3.5rem);font-weight:480;line-height:.95;letter-spacing:-.05em; }
.identity-modal>section>header>button { width:42px;height:42px;border:1px solid var(--identity-line);border-radius:12px;display:grid;place-items:center;background:transparent;color:var(--identity-muted); }
.identity-modal>section>p { color:var(--identity-muted);line-height:1.55; }
.identity-modal ol { margin:20px 0;padding:16px 16px 16px 48px;border:1px solid var(--identity-line);border-radius:16px;columns:2;background:rgba(0,0,0,.18); }
.identity-modal li { margin:7px 0;break-inside:avoid;color:var(--identity-faint); }
.identity-modal code { color:var(--identity-paper);font-size:.8rem; }
.identity-modal footer { margin-top:20px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap; }
.identity-modal footer button { min-height:42px;padding:0 12px;border:1px solid var(--identity-line);border-radius:11px;background:rgba(255,255,255,.025);color:var(--identity-muted); }
.identity-copy-field { margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto; }
.identity-copy-field input { min-width:0;height:50px;padding:0 13px;border:1px solid var(--identity-line);border-radius:13px 0 0 13px;background:rgba(0,0,0,.25);color:var(--identity-paper); }
.identity-copy-field button { min-height:50px;padding:0 14px;border:1px solid var(--identity-line);border-left:0;border-radius:0 13px 13px 0;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.04);color:var(--identity-paper); }
.identity-fatal { width:min(680px,100%);margin:60px auto;padding:24px;border:1px solid var(--identity-line);border-radius:20px;display:flex;gap:16px;background:rgba(255,255,255,.02); }
.identity-fatal>svg { flex:none;color:var(--identity-gold); }
.identity-fatal div { display:grid;gap:7px; }
.identity-fatal p { color:var(--identity-faint);font-size:.7rem; }
.identity-fatal a { color:var(--identity-paper); }

/* Public release and homepage */
.page--identity-update { background:#090806;color:var(--identity-paper); }

@keyframes identity-spin { to { transform:rotate(360deg); } }
@keyframes identity-pulse { 50% { opacity:.6; } }
@keyframes identity-shimmer { to { background-position:-120% 0; } }
@keyframes identity-rise { from { opacity:0;transform:translateY(10px); } }

@media (max-width:1100px) {
  .betra-header__actions .betra-header__news { display:none; }
}

@media (max-width:850px) {
}

@media (max-width:620px) {
  .identity-form { margin-top:22px; }
  .identity-form-grid { grid-template-columns:1fr;gap:15px; }
  .identity-form input,.identity-form select { min-height:50px;font-size:16px; }
  .identity-avatar--large { width:60px;height:60px;border-radius:19px; }
  .identity-modal { padding:10px; }
  .identity-modal>section { max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:20px; }
  .identity-modal ol { columns:1; }
  .identity-copy-field { grid-template-columns:1fr;gap:7px; }
  .identity-copy-field input,.identity-copy-field button { border:1px solid var(--identity-line);border-radius:12px; }
  .identity-copy-field button { justify-content:center; }
  .identity-header-profile>button { max-width:160px; }
}

@media (max-width:380px) {
}

@media (prefers-reduced-motion:reduce) {
  .identity-loader,.identity-avatar--loading { animation:none!important; }
  .identity-strength i { transition:none!important; }
}
