/* Account pages share the site's restrained charcoal, peach and warm paper palette. */
.account-page {
  --account-surface:#211e25;
  --account-field:#18161b;
  --account-line:rgba(234,216,210,.14);
  --account-ink:#f5efe9;
  --account-muted:#b7aeb9;
  --account-accent:#f2b49a;
  --account-accent-ink:#2c1c18;
  --account-error:#ffc4ba;
  --account-success:#bfd8bf;
  --account-shadow:0 18px 65px rgba(0,0,0,.18);
  color:var(--account-ink);
  padding:76px 24px 104px;
  min-height:calc(100vh - 240px);
}
html[data-theme=light] .account-page {
  --account-surface:#fffdfa;
  --account-field:#f5f1ed;
  --account-line:rgba(72,45,37,.17);
  --account-ink:#2b2428;
  --account-muted:#71666d;
  --account-accent:#834632;
  --account-accent-ink:#fffaf6;
  --account-error:#9b3024;
  --account-success:#365e3d;
  --account-shadow:0 18px 60px rgba(70,42,29,.075);
}
.account-wrap { width:100%; max-width:500px; margin-inline:auto; }
.account-intro { margin-bottom:28px; }
.account-page .account-eyebrow { font-family:'Geist','Noto Sans',sans-serif; font-size:12px; letter-spacing:.07em; color:var(--account-muted); margin:0 0 15px; }
.account-page h1 { font-size:clamp(32px,4vw,43px); line-height:1.22; letter-spacing:-.035em; margin:0 0 13px; font-weight:550; }
.account-page:lang(ar) h1 { font-family:'Thmanyah Sans','Plex Arabic',sans-serif; letter-spacing:0; font-size:clamp(30px,4vw,38px); line-height:1.5; font-weight:500; }
.account-intro>p:last-child,.contact-intro>p { color:var(--account-muted); font-size:14px; line-height:1.85; margin-block:0; }
.account-card { background:var(--account-surface); border-radius:22px; padding:32px; box-shadow:var(--account-shadow); min-width:0; }
.account-page .account-field { display:flex; flex-direction:column; gap:8px; margin-bottom:21px; min-width:0; }
.account-field>label { color:var(--account-ink); font-size:13px; font-weight:500; line-height:1.5; }
.account-page .account-field input,.account-page .account-field select,.account-page .account-field textarea {
  width:100%; min-width:0; min-height:47px; padding:12px 14px; border:1px solid var(--account-line); border-radius:10px; background:var(--account-field); color:var(--account-ink); font:inherit; font-size:14px; line-height:1.5; transition:border-color .16s,box-shadow .16s;
}
.account-page .account-field textarea { resize:vertical; min-height:166px; }
.account-page .account-field select { padding-inline-end:28px; }
.account-page .account-field :is(input,select,textarea):focus-visible { outline:none; border-color:var(--account-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--account-accent) 13%,transparent); }
.account-page .account-field [aria-invalid=true] { border-color:var(--account-error); }
.account-page .account-field input[readonly] { opacity:.72; cursor:default; }
.account-page .account-field input::placeholder { color:var(--account-muted); opacity:.72; }
.account-field-error { color:var(--account-error); font-size:12px; line-height:1.6; }
.account-field-error:empty { display:none; }
.account-hint { color:var(--account-muted); font-size:11.5px; line-height:1.75; }
.account-password { position:relative; }
.account-page .account-password input { padding-inline-end:69px; }
.account-password>button { position:absolute; inset-inline-end:5px; top:5px; bottom:5px; min-width:53px; border:0; border-radius:7px; background:transparent; color:var(--account-muted); cursor:pointer; font-size:11px; font-family:inherit; }
.account-password>button:hover { color:var(--account-ink); background:color-mix(in srgb,var(--account-muted) 8%,transparent); }
.account-page .account-password input[dir=ltr] { padding-left:14px; padding-right:69px; }
.account-page:lang(ar) .account-password>button { inset-inline-end:auto; right:5px; }
.account-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.account-extra { margin:8px 0 25px; }
.account-extra>summary { display:flex; gap:10px; justify-content:space-between; align-items:center; cursor:pointer; list-style:none; font-size:13px; padding:10px 0; color:var(--account-ink); }
.account-extra>summary::-webkit-details-marker { display:none; }
.account-extra>summary span { margin-inline-start:auto; font-size:11px; color:var(--account-muted); }
.account-extra>summary::after { content:'+'; font-size:18px; color:var(--account-muted); line-height:1; width:12px; }
.account-extra[open]>summary::after { content:'−'; }
.account-extra-fields { padding-top:16px; }
.account-extra-fields .account-field-row .account-field { margin-bottom:0; }
.account-submit { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:47px; border:0; border-radius:10px; padding:12px 18px; font:inherit; font-size:13px; font-weight:600; text-decoration:none; background:var(--account-accent); color:var(--account-accent-ink); cursor:pointer; transition:filter .18s,transform .18s; }
.account-submit:hover { filter:brightness(1.06); transform:translateY(-1px); }
.account-submit:disabled { cursor:wait; opacity:.65; transform:none; }
.account-submit-secondary { background:var(--account-field); color:var(--account-ink); box-shadow:inset 0 0 0 1px var(--account-line); }
.account-page :is(a,button,summary):focus-visible,.account-nav :is(a,button,summary):focus-visible { outline:2px solid var(--account-accent,#f2b49a); outline-offset:4px; }
.account-form-link { text-align:end; margin:-4px 0 23px; }
.account-page a:not(.account-submit) { color:var(--account-accent); text-underline-offset:4px; }
.account-form-link a,.account-resend-link { font-size:12px; }
.account-resend-link { display:inline-block; margin-top:12px; }
.account-resend-link[hidden] { display:none; }
.account-data-note { color:var(--account-muted); font-size:11px; line-height:1.85; margin:18px 0 0; }
.account-footer { text-align:center; font-size:13px; color:var(--account-muted); margin:24px 0 0; line-height:1.9; }
.account-footer a { font-weight:500; margin-inline-start:3px; }
.account-result { border-radius:9px; padding:12px 14px; font-size:12px; line-height:1.8; margin-top:16px; background:color-mix(in srgb,var(--account-error) 7%,transparent); color:var(--account-error); }
.account-result[data-kind=success] { background:color-mix(in srgb,var(--account-success) 8%,transparent); color:var(--account-success); }
.account-result[hidden] { display:none; }
.account-loading { text-align:center; color:var(--account-muted); font-size:14px; padding:22px 0; }
.account-receipt { text-align:center; padding:6px 0 20px; }
.account-state-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin:0 auto 20px; border-radius:50%; background:color-mix(in srgb,var(--account-accent) 10%,transparent); color:var(--account-accent); }
.account-state-icon svg { width:24px; height:24px; stroke-linecap:round; stroke-linejoin:round; }
.account-page .account-receipt h2 { font-size:23px; font-weight:500; line-height:1.5; margin:0 0 10px; letter-spacing:-.02em; }
.account-page:lang(ar) .account-receipt h2 { font-family:'Thmanyah Sans','Plex Arabic',sans-serif; letter-spacing:0; }
.account-receipt p { color:var(--account-muted); font-size:13px; line-height:1.9; margin:0; }
.account-receipt-email { margin:0 0 20px; text-align:center; font-size:14px; overflow-wrap:anywhere; }
.account-text-button { display:block; margin:auto; border:0; border-radius:6px; padding:8px 12px; cursor:pointer; background:transparent; color:var(--account-accent); font:inherit; font-size:12px; }
.account-section-heading { display:flex; flex-wrap:wrap; align-items:center; gap:10px; justify-content:space-between; margin-bottom:25px; }
.account-page .account-section-heading h2 { margin:0; font-family:inherit; font-size:17px; font-weight:550; line-height:1.5; }
.account-verified { font-size:10px; color:var(--account-muted); }
.account-section-divider { height:1px; background:var(--account-line); margin:34px 0; }
.account-session-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:11px; margin-top:27px; }
.account-session-footer>button { color:var(--account-muted); border:0; background:none; padding:8px 0; font:inherit; cursor:pointer; }
.account-session-footer>[data-header-account-error] { flex-basis:100%; color:var(--account-error); }

.contact-page .contact-wrap { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,100px); align-items:start; max-width:1120px; }
.contact-intro { padding-block:9px; }
.contact-page h1 { max-width:500px; font-size:clamp(35px,4.4vw,49px); }
.contact-page:lang(ar) h1 { font-size:clamp(32px,4.4vw,42px); }
.contact-intro>p { max-width:390px; }
.contact-guide-links { display:grid; margin-top:37px; gap:3px; }
.contact-guide-links>a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; text-decoration:none; font-size:13px; line-height:1.65; }
.contact-guide-links>a svg { width:17px; height:17px; flex-shrink:0; opacity:.75; stroke-linecap:round; stroke-linejoin:round; }
html[dir=rtl] .contact-guide-links>a svg { transform:scaleX(-1); }
.contact-intro .contact-note { font-size:11.5px; line-height:1.9; margin-top:33px; }
.contact-card { padding:32px; }
.contact-card .account-field-row { grid-template-columns:1fr; gap:0; }
.contact-reference { text-align:center; margin-bottom:28px; padding:18px; border-radius:12px; background:var(--account-field); }
.contact-reference span { display:block; color:var(--account-muted); font-size:11px; margin-bottom:8px; }
.contact-reference strong { display:block; font-family:'Mono',monospace; font-size:17px; letter-spacing:.02em; }
.privacy-wrap { max-width:740px; margin-inline:auto; }
.privacy-wrap .account-intro { margin-bottom:44px; }
.privacy-section { margin-block:30px; }
.account-page .privacy-section h2 { font-family:inherit; font-size:18px; font-weight:550; margin:0 0 11px; line-height:1.6; }
.privacy-section p { color:var(--account-muted); font-size:14px; line-height:1.95; margin:0; }
.privacy-contact { display:inline-flex; align-items:center; gap:14px; margin-top:10px; font-size:13px; color:var(--account-accent); text-decoration:none; }
.privacy-contact svg { width:18px; height:18px; }
html[dir=rtl] .privacy-contact svg { transform:scaleX(-1); }

/* Header account controls are compact; layout and placement belong to the header. */
.account-nav { color:inherit; font:inherit; font-size:12px; }
.account-nav-guest { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.account-nav-guest>a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; border-radius:8px; padding:0 12px; text-decoration:none; line-height:1.3; color:inherit; }
.account-nav-guest>.account-nav-signup { background:#f3d4c1; color:#38251c; font-weight:550; }
.account-nav-guest>.account-nav-signin:hover { background:var(--control-hover,rgba(255,255,255,.06)); }
html[data-theme=light] .account-nav-guest>.account-nav-signup { background:#30272b; color:#fff9f4; }
.account-nav-member { position:relative; }
.account-nav-member>summary { display:flex; align-items:center; gap:8px; min-height:38px; padding:3px 6px; border-radius:9px; list-style:none; cursor:pointer; }
.account-nav-member>summary::-webkit-details-marker { display:none; }
.account-nav-member>summary:hover { background:var(--control-hover,rgba(255,255,255,.06)); }
.account-avatar { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:29px; height:29px; border-radius:50%; font-family:inherit; font-weight:600; font-size:12px; background:#443038; color:#f6c9b3; }
html[data-theme=light] .account-avatar { background:#ead6cd; color:#70422e; }
.account-nav-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:110px; }
.account-nav-member>summary>svg { width:12px; height:12px; opacity:.6; }
.account-dropdown { position:absolute; z-index:100; top:calc(100% + 12px); inset-inline-end:0; width:min(270px,calc(100vw - 32px)); padding:12px; border-radius:15px; background:#28222b; color:#f4eee9; box-shadow:0 15px 45px rgba(0,0,0,.27); }
html[data-theme=light] .account-dropdown { background:#fffdfa; color:#2d2428; box-shadow:0 15px 45px rgba(52,34,26,.15); }
.account-dropdown>p { margin:0 0 8px; padding:8px 9px 14px; border-bottom:1px solid rgba(150,130,140,.16); }
.account-dropdown>p strong { display:block; font-size:13px; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
.account-dropdown>p span { display:block; font-size:11px; opacity:.65; margin-top:3px; overflow-wrap:anywhere; text-align:start; }
.account-dropdown>a,.account-dropdown>button { display:block; width:100%; text-align:start; font:inherit; font-size:12px; color:inherit; padding:11px 9px; border:0; border-radius:8px; background:none; text-decoration:none; cursor:pointer; }
.account-dropdown>a:hover,.account-dropdown>button:hover { background:rgba(150,130,140,.1); }
.account-dropdown>[data-header-account-error]:not(:empty) { display:block; padding:8px; font-size:11px; color:#e99f8b; line-height:1.7; }
@media(max-width:850px) {
  .account-page { padding:53px 20px 80px; }
  .contact-page .contact-wrap { grid-template-columns:1fr; max-width:600px; gap:30px; padding-inline:0; }
  .contact-guide-links { margin-top:22px; }
  .contact-intro .contact-note { margin-top:20px; max-width:none; }
  .contact-intro>p { max-width:none; }
}
@media(max-width:600px) {
  .account-page { padding:38px 16px 64px; }
  .account-card,.contact-card { padding:24px 20px; border-radius:18px; }
  .account-field-row { grid-template-columns:1fr; gap:0; }
  .account-extra-fields .account-field-row .account-field { margin-bottom:18px; }
  .account-extra-fields .account-field-row .account-field:last-child { margin-bottom:0; }
  .account-nav-guest { gap:2px; }
  .account-nav-guest>a { padding-inline:8px; font-size:11px; min-height:34px; }
  .account-nav-name { max-width:70px; }
  .account-dropdown { position:fixed; top:70px; inset-inline-end:16px; }
}
@media(prefers-reduced-motion:reduce) { .account-submit,.account-page .account-field :is(input,select,textarea) { transition:none; } }
