/* Connected account, economy and appearance surfaces (Package F2 · fe-account-economy).
 * Same material hierarchy as the wave-1 connected shell: quiet panels over the world backdrop,
 * antique-metal edges, live text, 44px targets, persona token light. No motion is introduced
 * here beyond what the shared frames already own; reduced-motion needs no overrides. */

.application-sanctuary-panels { display:grid; gap:26px; margin-top:26px; }

/* Ascend entrance — the Sanctuary door to Infernal Ascension. */
.application-ascend__card { padding:22px 20px 20px; text-align:left; }
.application-ascend__card h2 { margin:.1em 0 .3em; font-size:1.5rem; }
.application-ascend__card p { margin:0 0 14px; max-width:52ch; }
.application-ascend__card .application-action { min-width:180px; }

/* Economy summary + persona access rows. */
.application-economy__recent { margin:10px 0 0; padding-left:1.2em; display:grid; gap:6px; }
.application-access__list { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.application-access__row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start; padding:14px; border:1px solid #8f776033; border-radius:8px; background:linear-gradient(160deg,#ffffff08,transparent 55%),#0d0a0ecc; }
.application-access__avatar { width:52px; height:52px; margin-top:2px; }
.application-access__avatar img { width:100%; height:100%; object-fit:cover; }
.application-access__copy h3 { margin:0 0 4px; font:600 1.05rem/1.25 'Cormorant Garamond',Georgia,serif; letter-spacing:.05em; color:var(--h3ll-paper,#e7d5c1); }
.application-access__copy h3 small { display:inline-block; margin-left:.5em; font:500 .72rem/1 Manrope,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--character-accent,#cfad86); vertical-align:middle; }
.application-access__copy p { margin:0 0 6px; font:.86rem/1.55 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.application-access__copy small { display:block; font:.74rem/1.4 Manrope,Arial,sans-serif; color:var(--character-accent,#cfad86); }
.application-access__actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.application-access__actions .application-action { min-height:44px; }
.application-access__actions .application-text-action { min-height:44px; }

/* Preferences form. */
.application-preferences__form { display:grid; gap:16px; margin-top:12px; }
.application-preferences__grid { display:grid; gap:16px; }
.application-preferences__form label { display:grid; gap:6px; font:.86rem/1.4 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.application-preferences__form select,.application-preferences__form input[type="text"],.application-preferences__form input:not([type]),.application-preferences__form input[list],.application-preferences__form input[type="time"] { min-height:44px; padding:9px 12px; border:1px solid #8f77604d; border-radius:6px; background:#120e14; color:var(--h3ll-paper,#e7d5c1); font:inherit; }
.application-preferences__form input[aria-invalid="true"] { border-color:#c0392b; }
.application-preferences__form fieldset { display:grid; gap:10px; margin:0; padding:12px 14px 14px; border:1px solid #8f776033; border-radius:8px; }
.application-preferences__form legend { padding:0 6px; font:600 .78rem/1 Manrope,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--character-accent,#cfad86); }
.application-preferences__check { display:flex!important; grid-template-columns:none; flex-direction:row; align-items:center; gap:10px; min-height:44px; font:.9rem/1.4 Manrope,Arial,sans-serif; color:var(--h3ll-paper,#e7d5c1)!important; }
.application-preferences__check input { width:22px; height:22px; margin:0; accent-color:#a92e3b; flex:none; }
.application-preferences__quiet-times { display:flex; flex-wrap:wrap; gap:12px; }
.application-preferences__quiet-times label { flex:1 1 140px; }
.application-preferences__field-note { margin:0; font:.78rem/1.5 Manrope,Arial,sans-serif; color:var(--character-accent,#cfad86); }
.application-preferences__notice { margin:0; padding:10px 12px; border:1px solid #a92e3b66; border-radius:6px; background:#a92e3b14; color:var(--h3ll-paper,#e7d5c1); font:.86rem/1.5 Manrope,Arial,sans-serif; }
.application-preferences__actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.application-preferences__actions .application-action,.application-preferences__actions .application-text-action { min-height:44px; }

/* Account control cards + operations history. */
.application-operations__grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); }
.application-control-card { padding:16px; display:grid; gap:8px; align-content:start; }
.application-control-card h3 { margin:0; font-size:1.15rem; }
.application-control-card p { margin:0; font:.86rem/1.55 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.application-control-card .application-action { justify-self:start; min-height:44px; margin-top:4px; }
.application-operations__banner { margin:0 0 12px; padding:10px 12px; border:1px solid #a92e3b66; border-radius:6px; background:#a92e3b14; color:var(--h3ll-paper,#e7d5c1); font:.86rem/1.5 Manrope,Arial,sans-serif; }
.application-operations__list { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:10px; }
.application-operations__row { display:grid; gap:10px; padding:12px 14px; border:1px solid #8f776033; border-radius:8px; background:#0d0a0ecc; }
.application-operations__row h3 { margin:0 0 4px; font:600 1rem/1.3 'Cormorant Garamond',Georgia,serif; letter-spacing:.05em; }
.application-operations__row h3 small { margin-left:.5em; font:500 .7rem/1 Manrope,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--character-accent,#cfad86); }
.application-operations__row p { margin:0 0 4px; font:.84rem/1.5 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.application-operations__actions { display:flex; flex-wrap:wrap; gap:8px; }
.application-operations__actions .application-action,.application-operations__actions .application-text-action { min-height:44px; }

/* Appearance panel (inside the persona wardrobe pane). */
.application-wardrobe__appearance { margin-top:22px; }
.application-appearance__family { margin:14px 0 0; padding:12px 14px 14px; border:1px solid #8f776033; border-radius:8px; }
.application-appearance__family legend { padding:0 6px; font:600 .78rem/1 Manrope,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--character-accent,#cfad86); }
.application-appearance__options { display:grid; gap:8px; grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr)); }
.application-appearance__option { display:grid; gap:3px; min-height:44px; padding:10px 12px; border:1px solid #8f77604d; border-radius:6px; background:#120e14; color:var(--h3ll-paper,#e7d5c1); font:inherit; text-align:left; cursor:pointer; }
.application-appearance__option[aria-pressed="true"] { border-color:var(--character-accent,#cfad86); box-shadow:0 0 0 1px var(--character-accent,#cfad86) inset,0 0 12px -4px var(--character-glow,#b8674f); }
.application-appearance__option:disabled { opacity:.55; cursor:default; }
.application-appearance__option-name { font:.92rem/1.3 'Cormorant Garamond',Georgia,serif; letter-spacing:.04em; }
.application-appearance__option small { font:.72rem/1.4 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.application-appearance__form-field { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:6px 0; font:.9rem/1.4 Manrope,Arial,sans-serif; color:var(--h3ll-paper,#e7d5c1); }
.application-appearance__stepper { display:flex; align-items:center; gap:8px; }
.application-appearance__stepper button { width:44px; height:44px; border:1px solid #8f77604d; border-radius:6px; background:#120e14; color:var(--h3ll-paper,#e7d5c1); font-size:1.1rem; cursor:pointer; }
.application-appearance__stepper button:disabled { opacity:.45; cursor:default; }
.application-appearance__stepper output { min-width:2ch; text-align:center; font:600 1rem/1 Manrope,Arial,sans-serif; }
.application-appearance__stepper output.is-draft { color:var(--character-accent,#cfad86); }
.application-appearance .application-preferences__actions { margin-top:14px; }

/* Ascension page. */
.application-ascension__offers { display:grid; gap:14px; }
.application-ascension__offer { padding:18px; display:grid; gap:10px; align-content:start; }
.application-ascension__offer h3 { margin:0; font-size:1.3rem; }
.application-ascension__offer p { margin:0; }
.application-ascension__choice { display:grid; gap:6px; margin:4px 0 0; padding:12px 14px 14px; border:1px solid #8f776033; border-radius:8px; }
.application-ascension__choice legend { padding:0 6px; font:600 .78rem/1 Manrope,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--character-accent,#cfad86); }
.application-ascension .application-purchase-review { margin-top:16px; }

@media (min-width:660px) {
 .application-access__row { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
 .application-access__actions { grid-column:auto; justify-content:flex-end; max-width:300px; }
 .application-preferences__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .application-preferences__grid fieldset { grid-column:1/-1; }
}
@media (max-width:360px) {
 .application-access__row { padding:12px 10px; }
 .application-appearance__options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (forced-colors:active) {
 .application-access__row,.application-control-card,.application-operations__row,.application-appearance__family,.application-preferences__form fieldset,.application-ascension__offer,.application-ascension__choice { background:Canvas; color:CanvasText; border:1px solid CanvasText; }
 .application-appearance__option,.application-appearance__stepper button,.application-preferences__form select,.application-preferences__form input { background:Field; color:FieldText; border:1px solid FieldText; }
 .application-appearance__option[aria-pressed="true"] { outline:2px solid Highlight; }
 .application-preferences__notice,.application-operations__banner { background:Canvas; color:CanvasText; }
}

