
:root {
  color-scheme: dark;
  --account-bg: #06101d;
  --account-bg-secondary: #0a1727;
  --account-panel: #0d1c2e;
  --account-panel-strong: #10243a;
  --account-text: #f4f8ff;
  --account-muted: #a9b9cc;
  --account-line: #263b52;
  --account-accent: #47c2ff;
  --account-accent-strong: #2d83ff;
  --account-purple: #806dff;
  --account-field-bg: #e6e9ed;
  --account-field-text: #101820;
  --account-field-placeholder: #5b6672;
  --account-field-border: #93a0ad;
  --account-field-focus: #f2c94c;
  --account-button-text: #06101d;
  --account-glow: rgba(45, 131, 255, .23);
  --account-ok: #43d39e;
  --account-error: #ff7b86;
  --account-shadow: 0 28px 70px rgba(0, 0, 0, .36);
}
html[data-theme="light"] {
  color-scheme: light;
  --account-bg: #edf3fa;
  --account-bg-secondary: #f8fbff;
  --account-panel: #ffffff;
  --account-panel-strong: #f5f8fc;
  --account-text: #122033;
  --account-muted: #56677b;
  --account-line: #c8d3df;
  --account-accent: #006fc9;
  --account-accent-strong: #075fa8;
  --account-purple: #6557d9;
  --account-field-bg: #ffffff;
  --account-field-text: #111827;
  --account-field-placeholder: #697586;
  --account-field-border: #8091a5;
  --account-field-focus: #006fc9;
  --account-button-text: #ffffff;
  --account-glow: rgba(45, 131, 255, .16);
  --account-ok: #087a52;
  --account-error: #b42332;
  --account-shadow: 0 24px 60px rgba(35, 57, 82, .18);
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body.account-page {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 16% 16%, var(--account-glow), transparent 31%),
    linear-gradient(135deg, var(--account-bg), var(--account-bg-secondary));
  color: var(--account-text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.account-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px clamp(18px, 5vw, 72px);
  border-bottom: 1px solid var(--account-line);
  background: color-mix(in srgb, var(--account-bg) 92%, transparent);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 10;
}
.account-brand { display:flex; align-items:center; gap:12px; color:var(--account-text); text-decoration:none; }
.account-brand img { width:46px; height:46px; object-fit:contain; }
.account-brand span { display:grid; line-height:1.05; }
.account-brand strong { font-size:20px; letter-spacing:.08em; }
.account-brand small { margin-top:5px; color:var(--account-muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.account-header-actions { display:flex; align-items:center; gap:10px; }
.icon-button, .back-link {
  min-height: 42px;
  border: 1px solid var(--account-line);
  border-radius: 11px;
  background: var(--account-panel);
  color: var(--account-text);
  padding: 10px 14px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.icon-button:hover, .back-link:hover, .icon-button:focus-visible, .back-link:focus-visible { border-color:var(--account-accent); color:var(--account-accent); outline:none; }
.account-shell {
  width:min(1320px,100%);
  min-height:calc(100vh - 76px);
  margin:auto;
  padding:clamp(34px,6vw,82px) clamp(18px,4vw,54px);
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(480px,1.1fr);
  gap:clamp(36px,7vw,100px);
  align-items:center;
}
.account-intro { max-width:550px; }
.account-eyebrow { display:block; color:var(--account-accent); font-size:12px; font-weight:900; letter-spacing:.18em; margin-bottom:16px; }
.account-intro h1 { font-size:clamp(44px,6vw,78px); line-height:.98; margin:0 0 24px; letter-spacing:-.045em; color:var(--account-text); }
.account-intro h1 span { background:linear-gradient(90deg,var(--account-accent),var(--account-purple)); background-clip:text; -webkit-background-clip:text; color:transparent; }
.account-intro>p { font-size:18px; line-height:1.65; color:var(--account-muted); max-width:520px; }
.trust-list { display:grid; gap:13px; margin-top:30px; }
.trust-list>div { display:flex; align-items:center; gap:13px; padding:14px 16px; border:1px solid var(--account-line); border-radius:14px; background:color-mix(in srgb,var(--account-panel) 88%,transparent); }
.trust-list b { display:grid; place-items:center; min-width:30px; height:30px; border-radius:50%; background:rgba(55,199,143,.14); color:var(--account-ok); }
.trust-list span { display:grid; gap:3px; }
.trust-list strong { color:var(--account-text); }
.trust-list small { color:var(--account-muted); line-height:1.35; }
.account-card {
  width:100%;
  border:1px solid var(--account-line);
  border-radius:24px;
  padding:clamp(22px,3vw,34px);
  background:linear-gradient(165deg,var(--account-panel),var(--account-panel-strong));
  box-shadow:var(--account-shadow);
}
.card-heading { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.card-heading img { width:52px; height:52px; object-fit:contain; }
.card-heading h2 { margin:0; color:var(--account-text); font-size:24px; }
.card-heading p { margin:5px 0 0; color:var(--account-muted); }
.tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding:6px; border:1px solid var(--account-line); border-radius:14px; background:color-mix(in srgb,var(--account-bg) 45%,transparent); margin-bottom:24px; }
.tabs button { min-height:44px; border:0; border-radius:9px; background:transparent; color:var(--account-muted); font:inherit; font-size:11px; font-weight:800; cursor:pointer; padding:8px; }
.tabs button:hover { color:var(--account-text); }
.tabs button.active { color:var(--account-button-text); background:linear-gradient(135deg,var(--account-accent),var(--account-accent-strong)); box-shadow:0 7px 18px rgba(0,111,201,.22); }
.panel { display:none; gap:17px; }
.panel.active { display:grid; }
.panel-title h3 { margin:0 0 6px; color:var(--account-text); font-size:22px; }
.panel-title p { margin:0; color:var(--account-muted); line-height:1.5; }
.panel label { display:grid; gap:8px; color:var(--account-text); font-weight:750; font-size:14px; }
.panel label small { color:var(--account-muted); font-weight:500; }
.panel input,
.panel select,
.password-field input {
  width:100%;
  min-height:48px;
  appearance:none;
  border:1px solid var(--account-field-border) !important;
  border-radius:11px;
  background:var(--account-field-bg) !important;
  color:var(--account-field-text) !important;
  -webkit-text-fill-color:var(--account-field-text) !important;
  caret-color:var(--account-field-text);
  padding:11px 13px;
  font:600 15px/1.35 Inter,"Segoe UI",Arial,sans-serif;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
}
.panel select { cursor:pointer; }
.panel select:disabled { cursor:not-allowed; opacity:.65; }
.conditional-field[hidden] { display:none !important; }
.panel input::placeholder { color:var(--account-field-placeholder) !important; opacity:1; font-weight:500; }
.panel input:hover { border-color:color-mix(in srgb,var(--account-field-focus) 70%,var(--account-field-border)) !important; }
.panel input:focus { border-color:var(--account-field-focus) !important; outline:3px solid color-mix(in srgb,var(--account-field-focus) 22%,transparent); box-shadow:0 0 0 1px var(--account-field-focus), inset 0 1px 2px rgba(0,0,0,.06); }
.panel input:-webkit-autofill,
.panel input:-webkit-autofill:hover,
.panel input:-webkit-autofill:focus {
  -webkit-text-fill-color:var(--account-field-text) !important;
  box-shadow:0 0 0 1000px var(--account-field-bg) inset !important;
  transition:background-color 9999s ease-out 0s;
}
.password-field { position:relative; display:block; }
.password-field input { padding-right:51px; }
.password-toggle { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:38px; height:36px; display:grid; place-items:center; border:1px solid transparent; border-radius:8px; background:transparent; color:#263746; cursor:pointer; font-size:19px; line-height:1; }
.password-toggle:hover, .password-toggle:focus-visible { background:rgba(0,111,201,.1); border-color:rgba(0,111,201,.35); color:#004f91; outline:none; }
.primary-action { min-height:50px; border:0; border-radius:11px; background:linear-gradient(135deg,var(--account-accent),var(--account-accent-strong)); color:var(--account-button-text); padding:12px 18px; font:800 15px Inter,"Segoe UI",Arial,sans-serif; cursor:pointer; box-shadow:0 12px 24px rgba(0,111,201,.22); }
.primary-action:hover { filter:brightness(1.07); transform:translateY(-1px); }
.primary-action:focus-visible { outline:3px solid color-mix(in srgb,var(--account-accent) 30%,transparent); outline-offset:2px; }
#result { display:none; margin-top:18px; padding:13px 15px; border-radius:11px; font-weight:700; line-height:1.45; }
#result.ok { display:block; color:var(--account-ok); border:1px solid color-mix(in srgb,var(--account-ok) 55%,transparent); background:color-mix(in srgb,var(--account-ok) 12%,transparent); }
#result.error { display:block; color:var(--account-error); border:1px solid color-mix(in srgb,var(--account-error) 55%,transparent); background:color-mix(in srgb,var(--account-error) 12%,transparent); }
.security-note { margin:20px 0 0; padding-top:17px; border-top:1px solid var(--account-line); color:var(--account-muted); font-size:12px; line-height:1.5; text-align:center; }
@media(max-width:980px){.account-shell{grid-template-columns:1fr}.account-intro{display:none}.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.account-header{align-items:flex-start}.account-header-actions{flex-wrap:wrap;justify-content:flex-end}.account-brand small{display:none}.account-shell{padding:24px 12px}.account-card{border-radius:18px;padding:18px}.tabs{grid-template-columns:1fr}.back-link{font-size:13px}.card-heading h2{font-size:21px}}

/* UFCE Account multilingual controls */
.account-language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.account-language{min-height:40px;padding:0 34px 0 12px;border-radius:10px;border:1px solid var(--account-line);background:var(--account-field-bg);color:var(--account-field-text);font:inherit;font-weight:700;cursor:pointer}
.account-language:focus{outline:none;border-color:#f2c94c;box-shadow:0 0 0 3px rgba(242,201,76,.18)}
html[dir="rtl"] .account-page{text-align:right}
html[dir="rtl"] .account-header-actions,html[dir="rtl"] .password-field,html[dir="rtl"] .card-heading,html[dir="rtl"] .trust-list>div{direction:rtl}
html[dir="rtl"] input{direction:rtl;text-align:right}
@media(max-width:760px){.account-header-actions{flex-wrap:wrap;justify-content:flex-end}.account-language{max-width:145px}}


/* UFCE account checkbox contrast fix */
.panel input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 .55rem 0 0 !important;
  padding: 0 !important;
  vertical-align: -3px !important;
  accent-color: var(--account-accent-strong);
  background: transparent !important;
  border: 1px solid var(--account-field-border) !important;
  box-shadow: none !important;
  cursor: pointer;
}
html[dir="rtl"] .panel input[type="checkbox"] {
  margin: 0 0 0 .55rem !important;
}
.panel input[type="checkbox"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--account-accent) 30%, transparent) !important;
  outline-offset: 2px;
}
