.account-auth{max-width:620px;margin:auto}.account-auth .tabs{flex-wrap:wrap}.account-auth input,.account-auth select,.account-auth textarea,.account-area input,.account-area select,.account-area textarea{width:100%;font:inherit;font-size:16px;color:inherit;background:var(--bg,#101827);border:1px solid var(--line,#596277);border-radius:12px;padding:13px 15px;min-height:46px;box-sizing:border-box}.account-auth label,.account-area label{display:block;margin:14px 0 7px;font-size:14px}.account-auth button,.account-area button{cursor:pointer}.account-auth .btn,.account-area .btn{min-height:44px}.account-error{padding:16px;border-radius:12px;background:#f43f5e16;color:var(--text,#f4f6fa);border:1px solid #fb718580;margin:15px 0}.account-note{padding:16px;border-radius:12px;background:#2563eb14;border:1px solid #60a5fa50;margin:16px 0}.account-area textarea{min-height:100px;resize:vertical}.account-area .panel{margin-bottom:22px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.account-row h2{margin:8px 0}.account-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.account-metric{padding:20px;border:1px solid var(--line,#596277);border-radius:18px}.account-metric strong{display:block;font-size:clamp(20px,3vw,32px);margin-top:8px}.account-details{border:1px solid var(--line,#596277);border-radius:18px;padding:20px;margin:18px 0}.account-details summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.account-area .tabs{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.account-area .form-grid{margin-bottom:20px}.account-file{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--line,#596277)}.account-message{padding:12px 16px;border-radius:12px;background:#64748b18;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.account-message.mine{background:#2563eb20}.account-event{padding:11px 0;border-bottom:1px solid var(--line,#596277)}.account-event small{display:block;opacity:.7}.account-area td,.account-area th{white-space:normal;min-width:110px}.account-area .table-wrap{overflow-x:auto}.account-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.account-area [disabled],.account-auth [disabled]{opacity:.6;cursor:wait}.account-area .empty{text-align:center}.account-area progress{width:100%}.account-refresh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.account-doc-actions{display:flex;gap:10px;flex-wrap:wrap}.account-price-input{max-width:150px}.account-session{font-size:14px;overflow-wrap:anywhere;margin:12px 0}.account-legal p{max-width:75ch}.account-area .consent{display:flex;gap:12px;align-items:flex-start}.account-area .consent input{width:20px;min-height:20px;flex-shrink:0;margin-top:2px}.account-area .consent span{line-height:1.6}.account-auth .flow-buttons,.account-area .flow-buttons{flex-wrap:wrap}.account-area .flow-buttons>form{max-width:100%}@media(max-width:650px){.account-metrics{grid-template-columns:1fr}.account-area .panel{padding:20px}.account-details{padding:15px}.account-row{align-items:flex-start}.account-area .flow-buttons{align-items:stretch}.account-area .flow-buttons .btn{justify-content:center}.account-area .form-grid{grid-template-columns:1fr}.account-area .form-grid .full{grid-column:auto}}

.skip-link{position:fixed;top:-70px;left:16px;z-index:999;background:#3f6bff;color:white;padding:14px 20px;border-radius:8px}.skip-link:focus{top:12px}.panel form+form{margin-top:25px}.panel summary{cursor:pointer}.panel input[type=checkbox]{width:auto}.account-bank{font-variant-numeric:tabular-nums}.account-details textarea{min-height:100px}.account-area .consent{margin:16px 0}.account-area h3{margin-top:24px}@media(max-width:600px){.account-row{gap:12px;flex-wrap:wrap}.account-details .form-grid{grid-template-columns:1fr}}

/* Form colours belong to the current theme, including native autofill. */
.account-area {
  --form-surface: #ffffff;
  --form-field: #f8fafc;
  --form-text: #17233b;
  --form-muted: #4d5d75;
  --form-border: #7b889d;
  --form-action: #3156d8;
  --form-action-hover: #2444b8;
  --form-focus: #274fd1;
  --form-note: #eef3ff;
  --form-note-text: #243c69;
  --form-note-border: #8199c5;
  --form-error: #fff1f2;
  --form-error-text: #991b36;
  --form-error-border: #bb3953;
  color: var(--form-text);
}
[data-theme=dark] .account-area {
  --form-surface: #111c2e;
  --form-field: #0b1423;
  --form-text: #edf2ff;
  --form-muted: #b7c5dd;
  --form-border: #6d82a4;
  --form-action: #335eea;
  --form-action-hover: #284ed0;
  --form-focus: #a7c1ff;
  --form-note: #192c4b;
  --form-note-text: #dce8ff;
  --form-note-border: #7898c9;
  --form-error: #3c1f2d;
  --form-error-text: #ffd5df;
  --form-error-border: #d17c94;
}
.account-area .panel { background: var(--form-surface); color: var(--form-text); }
.account-area .panel :is(h2,h3,label) { color: var(--form-text); }
.account-area .panel :is(p,.note,.consent,small) { color: var(--form-muted); }
.account-area :is(input,select,textarea) {
  background: var(--form-field);
  color: var(--form-text);
  caret-color: var(--form-text);
  border-color: var(--form-border);
}
.account-area :is(input,textarea)::placeholder { color: var(--form-muted); opacity: 1; }
.account-area input:autofill {
  background: var(--form-field);
  color: var(--form-text);
  box-shadow: 0 0 0 1000px var(--form-field) inset;
}
.account-area input:-webkit-autofill {
  -webkit-text-fill-color: var(--form-text);
  -webkit-box-shadow: 0 0 0 1000px var(--form-field) inset;
}
.account-area input[type=checkbox] { accent-color: var(--form-action); }
.account-area .panel a:not(.btn),.account-area .link-button {
  color: var(--form-action);
  text-decoration: underline;
  text-underline-offset: 3px;
}
[data-theme=dark] .account-area .panel a:not(.btn),
[data-theme=dark] .account-area .link-button { color: var(--form-focus); }
.account-area .btn { background: var(--form-action); color: #fff; }
.account-area .btn:hover { background: var(--form-action-hover); }
.account-area .btn.light,.account-area .chip {
  background: var(--form-field);
  color: var(--form-text);
  border: 1px solid var(--form-border);
}
.account-area .btn.light:hover,.account-area .chip:hover { background: var(--form-note); }
.account-area .chip.active { background: var(--form-action); color: #fff; border-color: var(--form-action); }
.account-area :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--form-focus);
  outline-offset: 3px;
}
.account-area .account-note {
  background: var(--form-note);
  color: var(--form-note-text);
  border-color: var(--form-note-border);
}
.account-area .account-error {
  background: var(--form-error);
  color: var(--form-error-text);
  border-color: var(--form-error-border);
}
.account-area :is(.account-note,.account-error) :is(p,small,strong) { color: inherit; }
.account-area [disabled] { opacity: 1; }
.page-top:has(+ .account-area) :is(p,.breadcrumb) { color: #4d5d75; }
.page-top:has(+ .account-area) .breadcrumb a { color: #3156d8; }
[data-theme=dark] .page-top:has(+ .account-area) :is(p,.breadcrumb) { color: #b7c5dd; }
[data-theme=dark] .page-top:has(+ .account-area) .breadcrumb a { color: #a7c1ff; }
.account-auth .google-auth {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 13px 18px;
  border: 1px solid var(--form-border);
  border-radius: 12px;
  background: var(--form-surface);
  color: var(--form-text);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
}
.account-auth .google-auth:hover { background: var(--form-note); }
.account-auth .google-auth svg { flex: 0 0 20px; background: #fff; border-radius: 50%; }
.account-auth .google-auth[disabled] { cursor: progress; }
.account-auth .auth-provider-note { font-size: 12px; line-height: 1.6; margin: 12px 0 0; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0; color: var(--form-muted); font-size: 12px; }
.auth-divider::before,.auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--form-border); opacity: .5; }
.auth-divider span { text-align: center; }
