
:root {
  --el-legal-navy: #071f31;
  --el-legal-navy-2: #0b3046;
  --el-legal-teal: #36d1c4;
  --el-legal-text: #14233a;
  --el-legal-muted: #66758a;
  --el-legal-bg: #f4f7fb;
  --el-legal-line: #dbe4ed;
  --el-legal-danger: #8a3b25;
}
.el-legal-standalone { margin: 0; background: var(--el-legal-bg); color: var(--el-legal-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.el-legal-page { width: min(940px, calc(100% - 32px)); margin: 32px auto; background: #fff; border: 1px solid var(--el-legal-line); border-radius: 24px; box-shadow: 0 24px 70px rgba(7,31,49,.12); overflow: hidden; }
.el-legal-header { padding: 38px 44px 30px; color: #fff; background: linear-gradient(135deg, var(--el-legal-navy), var(--el-legal-navy-2)); }
.el-legal-brand { font-size: 27px; font-weight: 800; letter-spacing: -.04em; margin-bottom: 24px; }.el-legal-brand span { color: var(--el-legal-teal); }
.el-legal-kicker { color: var(--el-legal-teal); font-weight: 800; font-size: 12px; letter-spacing: .24em; margin: 0 0 9px; }
.el-legal-header h1 { font-size: clamp(34px, 6vw, 52px); line-height: 1; margin: 0 0 14px; letter-spacing: -.04em; }
.el-legal-header > p { color: #c8d9e5; margin: 0; }
.el-legal-important { margin-top: 24px; padding: 16px 18px; background: rgba(255,255,255,.09); border: 1px solid rgba(54,209,196,.35); border-radius: 14px; line-height: 1.55; }
.el-legal-section { padding: 25px 44px 0; }.el-legal-section:last-of-type { padding-bottom: 36px; }
.el-legal-section h2 { margin: 0 0 12px; color: var(--el-legal-navy); font-size: 20px; letter-spacing: -.02em; }
.el-legal-section p { margin: 0 0 13px; line-height: 1.7; color: #34445a; font-size: 15px; }
.el-legal-section p:has(> strong:first-child) { color: var(--el-legal-text); }
.el-legal-footer { margin-top: 30px; padding: 24px 44px; background: #edf4f7; color: var(--el-legal-muted); display: flex; justify-content: space-between; gap: 20px; }
.el-legal-footer p { margin: 0; }.el-legal-footer a { color: #087e78; font-weight: 700; }

/* Clickwrap modal */
.el-terms-modal[hidden] { display: none !important; }
.el-terms-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); background: rgba(2,15,25,.78); backdrop-filter: blur(10px); }
.el-terms-dialog { width: min(920px, 100%); height: min(92vh, 920px); display: grid; grid-template-rows: auto 1fr auto; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 32px 110px rgba(0,0,0,.4); }
.el-terms-dialog-head { color: #fff; background: linear-gradient(135deg, var(--el-legal-navy), #0a4052); padding: 22px 26px 19px; }
.el-terms-dialog-head-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.el-terms-dialog-head h2 { margin: 3px 0 7px; font-size: clamp(25px, 4vw, 35px); letter-spacing: -.035em; }
.el-terms-dialog-head p { margin:0; color:#c8d9e5; line-height:1.45; font-size:14px; }
.el-terms-dialog-close { border:0; color:#fff; background:rgba(255,255,255,.12); width:40px; height:40px; border-radius:12px; font-size:25px; cursor:pointer; }
.el-terms-scroll { overflow:auto; overscroll-behavior:contain; background:#fff; }
.el-terms-scroll .el-legal-page { width:100%; margin:0; border:0; border-radius:0; box-shadow:none; }
.el-terms-scroll .el-legal-header { display:none; }
.el-terms-scroll .el-legal-section { padding-left:30px; padding-right:30px; }
.el-terms-scroll .el-legal-footer { display:none; }
.el-terms-dialog-foot { padding:17px 22px max(17px, env(safe-area-inset-bottom)); border-top:1px solid var(--el-legal-line); background:#f7fafc; }
.el-terms-progress { display:flex; align-items:center; gap:10px; color:var(--el-legal-muted); font-size:13px; margin-bottom:12px; }
.el-terms-progress-bar { height:6px; flex:1; background:#dfe8ee; border-radius:99px; overflow:hidden; }.el-terms-progress-fill { display:block; height:100%; width:0; background:var(--el-legal-teal); transition:width .15s ease; }
.el-terms-check { display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.45; color:#293b50; cursor:pointer; }
.el-terms-check input { width:21px; height:21px; margin-top:1px; accent-color:#0b948c; flex:0 0 auto; }
.el-terms-actions { display:flex; justify-content:flex-end; gap:11px; margin-top:15px; }
.el-terms-btn { border:0; border-radius:13px; padding:12px 18px; font-weight:800; font-size:14px; cursor:pointer; }
.el-terms-btn-secondary { background:#e7eef3; color:#20354a; }.el-terms-btn-primary { background:linear-gradient(135deg,#10a79d,#35d2c5); color:#05252e; min-width:170px; }
.el-terms-btn:disabled { cursor:not-allowed; opacity:.45; filter:grayscale(.5); }
.el-terms-error { margin:10px 0 0; color:#a73f2a; font-weight:700; font-size:13px; }
body.el-terms-open { overflow:hidden !important; }

/* How-it-works embedded copy */
.el-how-terms-card { margin:28px 0 120px; border:1px solid #c8dce3; border-radius:20px; background:linear-gradient(150deg,#f8fcfd,#eef7f8); overflow:hidden; box-shadow:0 14px 38px rgba(7,31,49,.08); }
.el-how-terms-summary { padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; }.el-how-terms-summary::-webkit-details-marker{display:none;}
.el-how-terms-summary h2 { margin:0 0 5px; color:var(--el-legal-navy); font-size:23px; }.el-how-terms-summary p { margin:0; color:var(--el-legal-muted); font-size:14px; }
.el-how-terms-badge { padding:8px 11px; border-radius:999px; background:#d9f7f3; color:#08746e; font-weight:800; font-size:12px; white-space:nowrap; }
.el-how-terms-body { border-top:1px solid #d8e7eb; max-height:68vh; overflow:auto; background:#fff; }
.el-how-terms-body .el-legal-page { width:100%; margin:0; border:0; border-radius:0; box-shadow:none; }.el-how-terms-body .el-legal-header { display:none; }.el-how-terms-body .el-legal-footer { display:none; }
.el-how-terms-open-new { display:inline-flex; margin:0 24px 22px; color:#087e78; font-weight:800; font-size:14px; }

/* Admin acknowledgements panel */
.el-admin-terms-panel { margin:28px 0 80px; padding:24px; border-radius:22px; background:#fff; border:1px solid #dce5ed; box-shadow:0 16px 44px rgba(7,31,49,.09); color:var(--el-legal-text); }
.el-admin-terms-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.el-admin-terms-head h2 { margin:0 0 5px; font-size:25px; color:var(--el-legal-navy); }.el-admin-terms-head p { margin:0; color:var(--el-legal-muted); }
.el-admin-terms-tools { display:flex; gap:8px; flex-wrap:wrap; }.el-admin-terms-tools button,.el-admin-terms-tools a { border:1px solid #c7d5df; background:#f5f9fb; color:#16354a; border-radius:11px; padding:9px 12px; font-weight:750; text-decoration:none; cursor:pointer; }
.el-admin-terms-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 17px; }.el-admin-terms-stat { background:#f2f7fa; border-radius:14px; padding:14px; }.el-admin-terms-stat b { display:block; font-size:24px; color:var(--el-legal-navy); }.el-admin-terms-stat span { color:var(--el-legal-muted); font-size:12px; }
.el-admin-terms-table-wrap { overflow:auto; border:1px solid #dce5ed; border-radius:14px; }.el-admin-terms-table { width:100%; border-collapse:collapse; min-width:760px; font-size:13px; }.el-admin-terms-table th { text-align:left; background:#eef5f7; color:#45566a; padding:11px; position:sticky; top:0; }.el-admin-terms-table td { padding:11px; border-top:1px solid #e4ebf0; vertical-align:top; }.el-admin-terms-table tr:hover td { background:#f9fcfd; }
.el-terms-status-pill { display:inline-flex; align-items:center; border-radius:99px; padding:5px 9px; font-weight:800; font-size:11px; }.el-terms-status-pill.accepted { background:#d8f6eb; color:#08704f; }.el-terms-status-pill.pending { background:#fff0cf; color:#855c00; }
.el-admin-terms-empty { padding:22px; text-align:center; color:var(--el-legal-muted); }

@media (max-width: 680px) {
  .el-legal-page { width:100%; margin:0; border:0; border-radius:0; }
  .el-legal-header,.el-legal-section { padding-left:22px; padding-right:22px; }.el-legal-footer { padding:22px; display:block; }.el-legal-footer p + p { margin-top:7px; }
  .el-terms-modal { padding:0; }.el-terms-dialog { height:100dvh; border-radius:0; }.el-terms-dialog-head { padding:18px 18px 15px; }.el-terms-scroll .el-legal-section { padding-left:19px; padding-right:19px; }.el-terms-dialog-foot { padding-left:16px; padding-right:16px; }
  .el-terms-actions { display:grid; grid-template-columns:1fr 1.5fr; }.el-terms-btn { padding:12px 10px; }
  .el-how-terms-summary { align-items:flex-start; flex-direction:column; }.el-admin-terms-panel { padding:17px; border-radius:17px; }.el-admin-terms-head { flex-direction:column; }.el-admin-terms-stats { grid-template-columns:1fr; }
}

/* 24.16.0: account-scoped acknowledgement and reliable touch/keyboard controls. */
.el-account-terms-panel { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; }
.el-account-terms-panel h3 { margin:8px 0; font-size:22px; }
.el-account-terms-panel small { letter-spacing:.18em; color:#078f88; font-weight:800; }
.el-account-terms-panel p { margin:8px 0 0; line-height:1.55; color:#51647b; }
.el-account-terms-date { font-size:12px; }
.el-account-terms-actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; max-width:280px; }
.el-terms-scroll { min-height:0; -webkit-overflow-scrolling:touch; }
.el-terms-check input { min-width:22px; min-height:22px; cursor:pointer; accent-color:#078f88; }
.el-terms-loading,.el-terms-load-error { padding:28px; line-height:1.6; }
.el-terms-dialog { max-height:calc(100dvh - 32px); }
.el-terms-dialog button:focus-visible,.el-terms-check input:focus-visible { outline:3px solid #36d1c4; outline-offset:3px; }
@media(max-width:700px) { .el-account-terms-panel { align-items:stretch; flex-direction:column; padding:22px; } .el-account-terms-actions { max-width:none; } .el-terms-dialog-foot { padding:14px 18px; } .el-terms-check { font-size:12px; } }
/* Read-only views must not display the agreement checkbox or decline action. */
.el-terms-modal [hidden]{display:none!important}
