[hidden] { display: none !important; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 490px); padding: 36px; }
.login-card h1 { margin: 8px 0 12px; }
.login-card form, .account-form { display: grid; gap: 16px; }
.login-card label, .account-form label { display: grid; gap: 6px; }
.login-card input { width: 100%; }
.login-card button { margin-top: 8px; }
.access-notice { font-size: 12px; line-height: 1.6; opacity: .75; margin-top: 24px; }
#login-error, #account-message { color: #d75c61; white-space: pre-wrap; }
.access-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 0; }
.access-identity small { flex: 1; }
.access-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.4fr); gap: 24px; align-items: start; }
.access-preview-panel { display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:0 0 16px; }
.access-preview-panel>div { flex:1 1 280px; }
.access-preview-panel h2 { margin:0 0 4px; }
.access-preview-panel p { margin:0; }
.access-preview-panel label { display:grid;gap:5px;flex:0 1 250px;margin:0; }
.access-preview-panel select { width:100%; }
.access-preview-banner { position:sticky;top:8px;z-index:19;display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 12px;padding:11px 14px;border:2px solid var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--ink);box-shadow:0 5px 18px #0002; }
.access-preview-banner strong { font-size:13px; }
.access-preview-banner span { flex:1 1 250px;font-size:11px; }
.access-preview-banner button { margin-left:auto;white-space:nowrap; }
.access-preview-mode main section[id$="-view"] :is(button,input,select,textarea,a,summary) { cursor:default; }
.access-preview-mode .balance-summary > summary { cursor:pointer !important; }
.access-preview-mode .access-identity a, .access-preview-mode .access-identity button { display:none; }
.access-preview-member #aa-tab-repeats, .access-preview-member #aa-tab-learning,
.access-preview-member #aa-panel-repeats, .access-preview-member #aa-panel-learning,
.access-preview-member #aa-open-repeats, .access-preview-member #aa-attempt-evidence-label { display:none !important; }
.access-preview-mode #risk-players-view :is(#rp-analyze-start, #rp-collect, #rp-recollect, #rp-game-scan, #rp-analysis-pause, #rp-analysis-resume, .rp-analysis-details button) { display:none !important; }
.access-metrics { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.access-metric { flex: 1; min-width: 140px; padding: 20px; }
.access-metric strong { display: block; font-size: 28px; margin-top: 8px; }
.permission-table { width: 100%; }
.permission-table th, .permission-table td { padding: 10px 6px; }
.permission-table label { display: inline-flex; align-items: center; gap: 5px; }
.permission-table input[type=checkbox] { width: 17px; height: 17px; }
.account-flags { display: flex; flex-wrap: wrap; gap: 16px; }
.account-flags label { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; margin: 0; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-alt); line-height: 1.3; }
.account-flags input[type=checkbox] { width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; }
.account-form .table-wrap { max-height: 500px; overflow: auto; }
.account-form #account-copy-source { width: 100%; min-width: 0; }
.account-form .permission-table thead { position: sticky; top: 0; background: var(--panel, #f4f7f8); }
.access-identity a { color: inherit; }
.access-scroll { overflow: auto; max-height: 550px; }
.access-status { color: #29a48b; font-weight: 600; }
.access-user { padding: 15px 0; border-bottom: 1px solid #82929b44; display: flex; justify-content: space-between; gap: 12px; }
.access-user small { display: block; margin-top: 5px; opacity: .8; }
.access-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.access-history { margin-top: 24px; }
.access-history td { vertical-align: top; }
.access-history details { max-width: 380px; overflow-wrap: anywhere; }
.access-history pre { white-space: pre-wrap; font-size: 11px; }
.access-readonly { margin: 12px 0; padding: 10px 14px; background: #b9923120; border-radius: 8px; }
.readonly-channels #live-rows button,
.readonly-starpay #sp-change, .readonly-starpay #sp-save-bar, .readonly-starpay #sp-editor,
.readonly-success #sr-toggle, .readonly-success #sr-settings, .readonly-success #sr-refresh,
.readonly-setup #cs-edit, .readonly-setup #cs-save-bar, .readonly-setup #cs-refresh, .readonly-setup #cs-check-groups,
.readonly-setup #nc-refresh, .readonly-setup #nc-add, .readonly-setup #nc-check, .readonly-setup .nc-card button,
.readonly-receipts #dr-start, .readonly-receipts #dr-queue button,
.readonly-balances #bal-check, .readonly-balances .bal-auto-label, .readonly-balances .bal-channel-actions button:last-child, .readonly-balances .balance-summary button,
.readonly-payout .po-submit-bar, .readonly-payout #po-select-all, .readonly-payout #po-rows input[type=checkbox],
.readonly-failed #fo-reinitiate, .readonly-failed #fo-end, .readonly-failed #fo-all, .readonly-failed #fo-rows input[type=checkbox],
.readonly-processing .pr-inquire button, .readonly-risk-orders #ro-auto { display: none !important; }
@media(max-width:1000px) { .access-layout { grid-template-columns: 1fr; } }
@media(max-width:700px) { .access-preview-panel { align-items:stretch; } .access-preview-panel label,.access-preview-panel button { flex:1 1 100%; } .access-preview-banner { top:69px; } }
@media(min-width:701px) and (max-width:900px) { .access-identity { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px; } .access-identity strong { grid-column:1;grid-row:1; } .access-identity a { grid-column:2;grid-row:1; } .access-identity small { grid-column:1;grid-row:2; } .access-identity button { grid-column:2;grid-row:2; } }
@media(max-width:700px) { .access-identity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 12px; } .access-identity strong { grid-column:1; } .access-identity a { grid-column:2; grid-row:1; } .access-identity small { grid-column:1/-1; grid-row:2; } .access-identity button { grid-column:1/-1; justify-self:start; grid-row:3; } .access-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .access-metric { min-width:0; padding:13px; } .access-layout { gap:12px; } .access-layout>.panel { min-width:0; } .account-flags { gap:8px; } .account-flags label { width:100%; } .account-form .table-wrap { max-width:100%; overflow:auto; } .permission-table { min-width:460px; } }

/* Login primary action: high-contrast EIMI sign-in button. */
.login-card #login-submit,
.login-card #password-form button {
  width: 100%;
  min-height: 46px;
  margin-top: 4px;
  border: 1px solid #087e73;
  border-radius: 10px;
  background: linear-gradient(135deg, #0b9183, #087e73);
  color: #ffffff;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .01em;
  box-shadow: 0 7px 18px rgba(8, 126, 115, .18);
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}

.login-card #login-submit:hover:not(:disabled),
.login-card #password-form button:hover:not(:disabled) {
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(8, 126, 115, .24);
}

.login-card #login-submit:active:not(:disabled),
.login-card #password-form button:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(8, 126, 115, .18);
}

.login-card #login-submit:focus-visible,
.login-card #password-form button:focus-visible {
  outline: 3px solid rgba(11, 167, 147, .28);
  outline-offset: 3px;
}

.login-card #login-submit:disabled,
.login-card #password-form button:disabled {
  background: #b8d8d3;
  border-color: #b8d8d3;
  color: #49645f;
  opacity: 1;
  cursor: wait;
  box-shadow: none;
  transform: none;
}

.login-card #login-submit .login-button-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.login-card #login-submit .login-button-arrow {
  font-size: 17px;
  line-height: 1;
  transition: transform .14s ease;
}

.login-card #login-submit:hover:not(:disabled) .login-button-arrow {
  transform: translateX(2px);
}

/* Compact sign-in with a translucent panel and readable controls. */
body.login-page {
  isolation:isolate;
  background:radial-gradient(circle at 18% 22%,#97e9d7 0,transparent 31%),radial-gradient(circle at 82% 78%,#b6c7f8 0,transparent 35%),linear-gradient(145deg,#ecf6f7,#f4f6fc);
}
.login-card {
  --glow-x:50%;--glow-y:15%;--tilt-x:0deg;--tilt-y:0deg;
  position:relative;isolation:isolate;overflow:hidden;
  width:min(100%,440px);padding:36px;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.42));
  border:1px solid rgba(255,255,255,.94);
  box-shadow:0 24px 65px #264e6140,inset 0 1px #fff,inset 0 0 0 1px #ffffff60;
  backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);
  transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .22s ease,box-shadow .22s ease;
}
.login-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 180px at var(--glow-x) var(--glow-y),#ffffffb8 0,#83e6d840 38%,transparent 75%);mix-blend-mode:screen}
.login-card::after{content:"";position:absolute;inset:1px;z-index:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 18px 28px #ffffff5c,inset 0 -20px 30px #7696d11c}
.login-card>*{position:relative;z-index:1}
.login-card>.login-ripple{position:absolute;z-index:0;width:250px;height:250px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffffffb0 0,#66d6cf55 35%,transparent 70%);transform:translate(-50%,-50%) scale(0);animation:login-water-ripple .65s ease-out forwards}
@keyframes login-water-ripple{to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}
.login-brand { display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;letter-spacing:.18em; }
.login-mark { display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#84edd2,#248e89);color:#103a3a;letter-spacing:0;box-shadow:0 6px 16px #117f7140; }
.login-card h1 { margin:24px 0 24px;font-size:29px;line-height:1.15;letter-spacing:-.04em; }
.login-card #login-description:not([hidden]) { margin:-12px 0 22px;color:var(--muted);font-size:12px; }
.login-card form { gap:16px; }
.login-card label { font-size:12px;font-weight:650; }
.login-card input { min-height:46px;background:rgba(255,255,255,.6);border-color:#bfcfd7; }
.login-card #login-error:empty { display:none; }
@media(max-width:520px){.login-page{padding:18px}.login-card{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.login-card{transform:none;transition:none}.login-card>.login-ripple{display:none}}
