/* Account controls: live menus, cap editing and reconnect. Native dialogs use ui-modal.css. */
.account-actions { position:relative; }
.account-trigger { display:grid; place-items:center; width:44px; height:44px; padding:9px; background:none; color:var(--muted); border:0; border-radius:50%; }
.account-trigger svg { width:26px; height:26px; }
.account-trigger:hover,.account-trigger[aria-expanded=true] { background:var(--raised); color:var(--text); }
.primary,.main { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 24px; border:0; border-radius:10px; background:var(--voltage); color:var(--ink); font-size:14px; font-weight:800; }
.spinner { width:17px; height:17px; border:2px solid var(--line); border-top-color:var(--voltage); border-radius:50%; animation:spin 1s linear infinite; }
.provider-trigger { display:grid; grid-template-columns:auto 14px; column-gap:8px; row-gap:0; align-items:center; min-height:44px; padding:0; border:0; background:none; color:var(--text); text-align:left; }
.provider-trigger > svg { width:12px; height:12px; color:var(--quiet); }
.provider-trigger:hover .kt,.provider-trigger[aria-expanded=true] .kt { text-decoration:underline; text-underline-offset:4px; }
.rev { flex:none; margin-left:auto; border:0; background:none; color:var(--muted); min-width:44px; min-height:44px; font-size:12px; padding:8px; }
.rev:hover { color:var(--warn); }
.chev { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; background:none; color:var(--quiet); padding:14px; }
.chev svg { width:15px; height:15px; transition:transform .15s; }
.open > .r1 .chev svg { transform:rotate(180deg); }
.cap-action { display:inline-flex; align-items:center; padding:0; border:0; background:none; min-height:44px; font-size:12px; font-weight:700; color:var(--text); margin-top:9px; }
.cap-action:hover { text-decoration:underline; text-underline-offset:4px; }
.cap-status { font-size:13px; color:var(--muted); margin-top:8px; }
.cap-status:empty { display:none; }
.cap-status.ok,.note.ok { color:var(--voltage); }
.cap-status.err,.note.err { color:var(--warn); }
.cap-editor { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start; border-top:1px solid var(--line); padding-top:24px; margin-top:12px; }
.cap-entry,.cap-confirm { min-width:0; }
.cap-editor label { display:block; color:var(--muted); font-size:12px; font-weight:600; }
.cap-field { display:flex; gap:10px; align-items:center; border:1px solid #626265; border-radius:10px; background:var(--bg); padding:12px 16px; margin-top:10px; font:400 22px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--quiet); }
.cap-field:focus-within { border-color:var(--voltage); }
.cap-field input { border:0; background:none; outline:none; color:var(--text); width:100%; min-width:0; font:inherit; }
.cap-field input:focus-visible { outline:0; }
.cap-field:has([aria-invalid=true]) { border-color:var(--warn); }
.cap-help { color:var(--muted); font-size:12px; line-height:1.8; margin-top:12px; }
.cap-help:empty { display:none; }
.cap-buttons { display:flex; gap:20px; margin-top:16px; }
.cap-buttons .main { flex:1; padding:12px 16px; font-size:12px; }
.cap-cancel { border:0; background:none; padding:0; min-height:44px; color:var(--muted); font-size:12px; }
.cap-next { border-top:1px solid var(--line); margin-top:12px; padding-top:20px; font-size:13px; color:var(--muted); }
.cap-next a,.cap-next a.secondary { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:4px; margin-top:8px; font-weight:700; color:var(--text); }
.cap-editing .reconnect { display:none; }
.reconnect { border-top:1px solid var(--line); padding-top:20px; margin-top:20px; max-width:560px; }
.rh { font-size:16px; font-weight:700; }
.reconnect p { color:var(--muted); font-size:13px; margin:10px 0 14px; }
.reconnect.done .note { margin:0; }
.paste { display:block; width:100%; border:1px solid #626265; border-radius:10px; background:var(--bg); color:var(--text); padding:14px 16px; font-size:14px; min-height:50px; }
.paste::placeholder { color:var(--quiet); }
.ts { margin-top:12px; }
.ts:empty { display:none; }
.cap-confirm .ts { margin:0; min-height:65px; }
.cap-confirm .ts:empty { display:block; }
.reconnect .ts { margin-top:16px; }
.reconnect .main { margin-top:16px; width:100%; }
.note { font-size:12px; margin-top:10px; }
.note:empty { display:none; }
.spin { display:inline-block; width:12px; height:12px; border:2px solid var(--line); border-top-color:var(--voltage); border-radius:50%; margin-right:7px; vertical-align:-2px; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.action-menu { position:absolute; z-index:30; top:calc(100% + 8px); right:0; min-width:200px; padding:6px; border:1px solid #4B4B4E; border-radius:12px; background:#2A2A2D; box-shadow:0 12px 28px #0005; }
.provider-menu { left:0; right:auto; }
.action-menu button { display:block; min-height:44px; width:100%; border:0; border-radius:7px; background:none; color:var(--text); text-align:left; padding:10px 12px; font-size:13px; }
.action-menu button:hover,.action-menu button:focus-visible { background:#ffffff09; }
.action-menu .destructive { color:var(--warn); }
.menu-divider { height:1px; background:var(--line); margin:5px 6px; }
.ghost { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #626265; border-radius:10px; padding:12px 22px; color:var(--text); background:none; font-weight:700; font-size:13px; }
@media(max-width:800px) {
  .cap-editor { gap:24px; }
}
@media(max-width:600px) {
  .rev { font-size:11px; padding:7px 2px; }
  .cap-action { font-size:11px; }
  .cap-editor { grid-template-columns:1fr; gap:20px; padding-top:20px; }
  .cap-next { font-size:12px; }
  .reconnect p { font-size:12px; }
  .paste { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .spinner,.spin { animation:none; }
  .chev svg { transition:none; }
}
