/*
 * BEGIN Registry portal styles.
 */

.begin-portal{overflow-x:clip;}
.begin-portal{
  --begin-navy:#14267a;
  --begin-deep:#0b1c66;
  --begin-green:#2f56e6;
  --begin-green-dark:#2846cf;
  --begin-ink:#122033;
  --begin-muted:#5d6877;
  --begin-line:#dfe6ee;
  --begin-soft:#f6f8fa;
  --begin-warn:#9a6500;
  --begin-radius:8px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--begin-ink);
  max-width:100%;
}
.begin-portal *{box-sizing:border-box;min-width:0;}
.begin-portal a{color:var(--begin-green);text-decoration:underline;text-underline-offset:2px;}
.begin-portal h2,.begin-portal h3,.begin-portal p{margin:0;}
.begin-kicker{
  display:block;
  color:#2f56e6;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  margin-bottom:16px;
  text-transform:uppercase;
}

.begin-portal-guest{
  align-items:center;
  background:var(--begin-deep);
  color:#fff;
  display:grid;
  gap:40px;
  grid-template-columns:minmax(0,1fr) 360px;
  min-height:520px;
  padding:86px max(24px,calc((100vw - 1180px) / 2));
}
.begin-portal-copy h2{
  color:#fff;
  font-size:clamp(44px,7vw,84px);
  font-weight:800;
  letter-spacing:0;
  line-height:.96;
  max-width:650px;
}
.begin-portal-copy p{
  color:#c3ccd5;
  font-size:18px;
  line-height:1.65;
  margin-top:26px;
  max-width:590px;
}
.begin-portal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
}
.begin-trust-panel{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--begin-radius);
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:28px;
}
.begin-trust-panel strong{color:#fff;font-size:16px;}
.begin-trust-panel span{color:#aeb9c3;font-size:14px;line-height:1.55;}

.begin-auth-submit,
.begin-auth-secondary{
  align-items:center;
  border-radius:999px;
  cursor:pointer;
  display:inline-flex;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  justify-content:center;
  line-height:1;
  min-height:48px;
  padding:14px 28px;
  text-decoration:none;
}
.begin-auth-submit{
  background:var(--begin-green);
  border:1px solid var(--begin-green);
  color:#fff !important;
}
.begin-auth-submit:hover{background:var(--begin-green-dark);border-color:var(--begin-green-dark);}
.begin-auth-secondary{
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
}
.begin-auth-secondary:hover{border-color:#fff;}
button.begin-auth-secondary{appearance:none;}

.begin-login-modal[hidden]{display:none;}
.begin-modal-open{overflow:hidden;}
.begin-modal-backdrop{
  background:rgba(0,0,0,.55);
  bottom:0;
  left:0;
  position:fixed;
  right:0;
  top:0;
  z-index:9998;
}
.begin-modal-card{
  background:#fff;
  border-radius:8px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  left:50%;
  max-width:580px;
  overflow:hidden;
  position:fixed;
  top:50%;
  transform:translate(-50%,-50%);
  width:calc(100vw - 32px);
  z-index:9999;
}
.begin-modal-head{
  align-items:center;
  background:var(--begin-navy);
  color:#fff;
  display:flex;
  justify-content:space-between;
  padding:26px 34px;
}
.begin-modal-head h3{color:#fff;font-size:24px;font-weight:800;}
.begin-modal-head button{
  background:transparent;
  border:0;
  color:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.begin-modal-body{padding:34px;}
.begin-auth-card{
  background:#fff;
  border:1px solid var(--begin-line);
  border-radius:var(--begin-radius);
  box-shadow:0 20px 60px rgba(13,43,79,.12);
  margin:40px auto;
  max-width:580px;
  padding:34px;
}
.begin-auth-card h2{font-size:28px;margin-bottom:24px;}

.begin-auth-field{margin-bottom:18px;}
.begin-auth-field label{
  color:var(--begin-navy);
  display:block;
  font-size:14px;
  font-weight:700;
  margin-bottom:8px;
}
.begin-auth-field input{
  background:#fff;
  border:1px solid var(--begin-line);
  border-radius:8px;
  color:var(--begin-ink);
  font:inherit;
  min-height:54px;
  padding:14px 14px;
  width:100%;
}
.begin-auth-field input:focus{border-color:var(--begin-green);outline:0;}
.begin-password-wrap{position:relative;}
.begin-password-wrap input{padding-right:72px;}
.begin-password-toggle{
  background:transparent;
  border:0;
  color:#738091;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:700;
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
}
.begin-auth-row{
  align-items:center;
  display:flex;
  font-size:14px;
  justify-content:space-between;
  margin:2px 0 22px;
}
.begin-remember{align-items:center;color:var(--begin-ink);display:flex;gap:8px;}
.begin-auth-msg{
  border-radius:8px;
  font-size:14px;
  margin-bottom:14px;
  padding:12px 14px;
}
.begin-auth-error{background:#fff1f1;border:1px solid #f1c3c3;color:#9c2424;}
.begin-auth-info{background:#f1f8f4;border:1px solid #cbe8d6;color:#126336;}
.begin-login-form .begin-auth-submit{border-radius:999px;width:100%;}
.begin-auth-switch{
  color:#333;
  font-size:14px;
  margin-top:22px;
  text-align:center;
}
.begin-profile{
  background:var(--begin-soft);
  padding:40px max(18px,calc((100vw - 1120px) / 2));
}
.begin-profile-hero{
  align-items:center;
  background:var(--begin-navy);
  border-radius:var(--begin-radius);
  color:#fff;
  display:flex;
  gap:24px;
  justify-content:space-between;
  padding:34px;
}
.begin-profile-hero h2{color:#fff;font-size:34px;line-height:1.1;}
.begin-profile-hero p{color:#cdd7e2;font-size:16px;margin-top:10px;max-width:680px;}
.begin-profile-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:18px;
}
.begin-profile-panel{
  background:#fff;
  border:1px solid var(--begin-line);
  border-radius:var(--begin-radius);
  padding:26px;
}
.begin-profile-panel h3{color:var(--begin-navy);font-size:20px;margin-bottom:18px;}
.begin-profile-panel dl{display:grid;gap:12px;margin:0;}
.begin-profile-panel dl div{
  border-bottom:1px solid #edf1f4;
  display:grid;
  gap:10px;
  grid-template-columns:140px 1fr;
  padding-bottom:12px;
}
.begin-profile-panel dl div:last-child{border-bottom:0;padding-bottom:0;}
.begin-profile-panel dt{color:var(--begin-muted);font-size:13px;font-weight:700;margin:0;}
.begin-profile-panel dd{color:var(--begin-ink);font-size:14px;margin:0;}
.begin-status{
  border-radius:999px;
  display:inline-flex;
  font-size:12px;
  font-weight:800;
  padding:5px 10px;
}
.begin-status-paid,.begin-status-submitted{background:#e5f5eb;color:#09753b;}
.begin-status-pending,.begin-status-not_started,.begin-status-in_progress{background:#fff5db;color:var(--begin-warn);}
.begin-profile-action{margin-top:20px;width:100%;}

@media (max-width:820px){
  .begin-portal-guest{grid-template-columns:1fr;min-height:auto;padding:64px 18px;}
  .begin-trust-panel{max-width:none;}
  .begin-profile-grid{grid-template-columns:1fr;}
  .begin-profile-hero{align-items:flex-start;flex-direction:column;}
}
@media (max-width:560px){
  .begin-modal-body{padding:24px;}
  .begin-modal-head{padding:22px 24px;}
  .begin-auth-row{align-items:flex-start;flex-direction:column;gap:10px;}
  .begin-profile{padding:24px 14px;}
  .begin-profile-hero,.begin-profile-panel{padding:22px;}
  .begin-profile-panel dl div{grid-template-columns:1fr;}
}

/* Product-grade registry profile overrides */
.begin-portal{
  --begin-navy:#14267a;
  --begin-navy-2:#1e39a8;
  --begin-green:#2f56e6;
  --begin-green-2:#3d63e8;
  --begin-bg:#f4f7f8;
  --begin-card:#ffffff;
  --begin-ink:#102033;
  --begin-muted:#66758a;
  --begin-border:#d8e2ea;
  --begin-border-soft:#edf2f5;
  --begin-warning:#8a5b00;
  --begin-danger:#a3271a;
  --begin-radius:8px;
}
.begin-portal button,
.begin-portal a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;}
.begin-portal a:focus-visible,
.begin-portal button:focus-visible,
.begin-portal input:focus-visible,
.begin-portal select:focus-visible,
.begin-portal textarea:focus-visible{
  outline:2px solid rgba(47,86,230,.4);
  outline-offset:2px;
}
.begin-portal-guest{
  background:linear-gradient(180deg,#3f66ea 0%,#2846cf 100%);
  min-height:480px;
}
.begin-portal-copy h2{font-size:clamp(40px,6vw,72px);line-height:1.02;}
.begin-trust-panel{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.begin-auth-submit,
.begin-auth-secondary,
.begin-btn{
  min-height:44px;
  border-radius:8px;
  text-decoration:none;
}
.begin-auth-secondary{border-color:rgba(255,255,255,.55);}
.begin-modal-backdrop{
  align-items:center;
  background:rgba(5,15,24,.62);
  display:flex;
  justify-content:center;
  padding:24px;
}
.begin-modal-card{
  border-radius:8px;
  left:50%;
  max-height:calc(100vh - 48px);
  overflow:auto;
  top:50%;
  width:min(560px,calc(100vw - 32px));
}
.begin-modal-head{background:var(--begin-navy);padding:22px 28px;}
.begin-modal-head h3{font-size:22px;letter-spacing:0;}
.begin-modal-head button{min-width:40px;min-height:40px;border-radius:8px;}
.begin-modal-body{padding:28px;}
.begin-auth-field input{border-radius:8px;}
.begin-auth-submit{background:var(--begin-green);border-color:var(--begin-green);}
.begin-auth-submit:hover{background:#2846cf;border-color:#2846cf;}

.begin-profile{
  background:var(--begin-bg);
  padding:32px max(18px,calc((100vw - 1180px) / 2)) 52px;
}
.begin-profile-shell{
  display:block;
  max-width:1180px;
  margin:0 auto;
}
.begin-profile-topbar{
  align-items:flex-end;
  background:var(--begin-card);
  border:1px solid var(--begin-border);
  border-radius:var(--begin-radius);
  display:flex;
  gap:20px;
  justify-content:space-between;
  padding:28px;
}
.begin-profile-topbar h2{
  color:var(--begin-navy);
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  letter-spacing:0;
  line-height:1.05;
}
.begin-profile-topbar p{color:var(--begin-muted);font-size:15px;margin-top:8px;}
.begin-profile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
.begin-btn{
  align-items:center;
  border:1px solid transparent;
  display:inline-flex;
  font-weight:750;
  justify-content:center;
  line-height:1;
  padding:12px 16px;
}
.begin-btn-primary{background:var(--begin-green);border-color:var(--begin-green);color:#fff !important;}
.begin-btn-primary:hover{background:#2846cf;border-color:#2846cf;}
.begin-btn-muted{background:#fff;border-color:var(--begin-border);color:var(--begin-navy) !important;}
.begin-btn-muted:hover{border-color:var(--begin-green);color:var(--begin-green) !important;}
.begin-profile-stats{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:14px 0;
}
.begin-profile-stats div{
  background:var(--begin-card);
  border:1px solid var(--begin-border);
  border-radius:var(--begin-radius);
  padding:18px;
}
.begin-profile-stats span{
  color:var(--begin-navy);
  display:block;
  font-size:30px;
  font-weight:850;
  line-height:1;
}
.begin-profile-stats small{
  color:var(--begin-muted);
  display:block;
  font-size:13px;
  font-weight:650;
  margin-top:8px;
}
.begin-dashboard-grid{
  display:grid;
  gap:14px;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  margin-top:14px;
}
.begin-panel{
  background:var(--begin-card);
  border:1px solid var(--begin-border);
  border-radius:var(--begin-radius);
  padding:22px;
}
.begin-panel-main{min-height:320px;}
.begin-panel-head{
  align-items:flex-start;
  border-bottom:1px solid var(--begin-border-soft);
  display:flex;
  gap:16px;
  justify-content:space-between;
  margin-bottom:18px;
  padding-bottom:16px;
}
.begin-panel-head h3{
  color:var(--begin-navy);
  font-size:20px;
  font-weight:800;
  letter-spacing:0;
}
.begin-panel-head p{color:var(--begin-muted);font-size:14px;margin-top:4px;}
.begin-data-list{
  display:grid;
  gap:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid var(--begin-border-soft);
  border-radius:8px;
  overflow:hidden;
}
.begin-data-list-compact{grid-template-columns:1fr;}
.begin-data-list div{
  border-bottom:1px solid var(--begin-border-soft);
  padding:14px 16px;
}
.begin-data-list div:nth-last-child(-n+2){border-bottom:0;}
.begin-data-list-compact div:nth-last-child(-n+2){border-bottom:1px solid var(--begin-border-soft);}
.begin-data-list-compact div:last-child{border-bottom:0;}
.begin-data-list dt{
  color:var(--begin-muted);
  font-size:12px;
  font-weight:800;
  margin:0 0 5px;
  text-transform:uppercase;
}
.begin-data-list dd{
  color:var(--begin-ink);
  font-size:14px;
  font-weight:650;
  margin:0;
  overflow-wrap:anywhere;
}
.begin-status{
  align-items:center;
  border-radius:999px;
  display:inline-flex;
  font-size:12px;
  font-weight:850;
  min-height:28px;
  padding:5px 10px;
  white-space:nowrap;
}
.begin-status-paid,
.begin-status-submitted{background:#e6f5ed;color:#08723a;}
.begin-status-pending,
.begin-status-not_started,
.begin-status-in_progress{background:#fff4d7;color:var(--begin-warning);}
.begin-status-failed,
.begin-status-cancelled{background:#fdecea;color:var(--begin-danger);}
.begin-progress{margin-top:20px;}
.begin-progress-label{display:flex;justify-content:space-between;color:var(--begin-muted);font-size:13px;font-weight:750;margin-bottom:8px;}
.begin-progress-label strong{color:var(--begin-navy);}
.begin-progress-track{background:#e6ecef;border-radius:999px;height:10px;overflow:hidden;}
.begin-progress-track span{background:var(--begin-green);display:block;height:100%;}
.begin-checklist,
.begin-event-list,
.begin-activity{
  display:grid;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
}
.begin-checklist li,
.begin-event-list li,
.begin-activity li{
  align-items:center;
  border:1px solid var(--begin-border-soft);
  border-radius:8px;
  display:grid;
  gap:12px;
  min-height:56px;
  padding:12px;
}
.begin-checklist li{grid-template-columns:32px minmax(0,1fr) auto;}
.begin-checklist li > span{
  align-items:center;
  border-radius:50%;
  display:flex;
  font-weight:850;
  height:28px;
  justify-content:center;
  width:28px;
}
.begin-checklist .is-done > span{background:#e6f5ed;color:var(--begin-green);}
.begin-checklist .is-missing > span{background:#f0f3f5;color:var(--begin-muted);}
.begin-checklist strong,
.begin-event-list strong,
.begin-activity strong{color:var(--begin-ink);display:block;font-size:14px;font-weight:800;}
.begin-checklist small,
.begin-event-list small,
.begin-activity small{color:var(--begin-muted);display:block;font-size:12.5px;margin-top:3px;}
.begin-event-list li{grid-template-columns:minmax(0,1fr) auto auto;}
.begin-event-list a,
.begin-checklist a{color:var(--begin-green);font-size:13px;font-weight:800;text-decoration:none;}
.begin-activity li{grid-template-columns:18px minmax(0,1fr);}
.begin-activity li > span{
  background:var(--begin-green);
  border-radius:50%;
  height:9px;
  justify-self:center;
  width:9px;
}
.begin-empty-state{
  background:#f8fafb;
  border:1px dashed var(--begin-border);
  border-radius:8px;
  padding:22px;
}
.begin-empty-state h4{color:var(--begin-navy);font-size:16px;margin:0 0 6px;}
.begin-empty-state p{color:var(--begin-muted);font-size:14px;margin-bottom:14px;}

@media (max-width:960px){
  .begin-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .begin-dashboard-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .begin-profile{padding:18px 12px 34px;}
  .begin-profile-topbar{align-items:flex-start;flex-direction:column;padding:20px;}
  .begin-profile-actions{justify-content:flex-start;width:100%;}
  .begin-profile-actions .begin-btn{width:100%;}
  .begin-profile-stats{grid-template-columns:1fr;}
  .begin-panel{padding:16px;}
  .begin-panel-head{flex-direction:column;}
  .begin-data-list{grid-template-columns:1fr;}
  .begin-data-list div,
  .begin-data-list div:nth-last-child(-n+2){border-bottom:1px solid var(--begin-border-soft);}
  .begin-data-list div:last-child{border-bottom:0;}
  .begin-checklist li,
  .begin-event-list li{grid-template-columns:1fr;}
  .begin-checklist li > span{display:none;}
}

/* ============================================================
   Dashboard shell (sidebar + fluid main) - standard, responsive
   ============================================================ */
.begin-dash{
  background:var(--begin-bg);
  padding:28px clamp(14px,4vw,44px) 60px;
}
.begin-dash-shell{
  display:grid;
  grid-template-columns:252px minmax(0,1fr);
  gap:24px;
  max-width:1400px;
  margin:0 auto;
  align-items:start;
}
.begin-dash-side{
  position:sticky;
  top:24px;
  background:var(--begin-card);
  border:1px solid var(--begin-border);
  border-radius:12px;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.begin-dash-user{display:flex;align-items:center;gap:12px;min-width:0;}
.begin-avatar{
  width:46px;height:46px;border-radius:50%;flex:none;
  background:var(--begin-navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;letter-spacing:.02em;
}
.begin-dash-user-meta{min-width:0;}
.begin-dash-user-meta strong{display:block;color:var(--begin-navy);font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.begin-dash-user-meta span{display:block;color:var(--begin-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.begin-dash-nav{display:flex;flex-direction:column;gap:2px;}
.begin-dash-nav a{
  display:block;padding:11px 14px;border-radius:8px;
  color:var(--begin-ink);font-size:14px;font-weight:650;text-decoration:none;
}
.begin-dash-nav a:hover{background:var(--begin-bg);}
.begin-dash-nav a.is-active{background:rgba(47,86,230,.10);color:var(--begin-green);}
.begin-dash-logout{
  display:block;text-align:center;padding:11px 14px;border-radius:8px;
  border:1px solid var(--begin-border);color:var(--begin-navy) !important;
  font-weight:750;font-size:14px;text-decoration:none;
}
.begin-dash-logout:hover{border-color:var(--begin-green);color:var(--begin-green) !important;}

.begin-dash-main{display:flex;flex-direction:column;gap:16px;min-width:0;}
.begin-dash-main > section{scroll-margin-top:100px;}
.begin-dash-main .begin-profile-stats{margin:0;}
.begin-dash-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  background:var(--begin-card);border:1px solid var(--begin-border);border-radius:12px;
  padding:26px 28px;
}
.begin-dash-head h2{color:var(--begin-navy);font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.1;margin:2px 0 6px;}
.begin-dash-head p{color:var(--begin-muted);font-size:14.5px;max-width:560px;}
.begin-dash-head-actions{display:flex;gap:10px;flex-wrap:wrap;}
.begin-dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.begin-panel-cta{margin-top:18px;}
.begin-panel-cta .begin-btn{width:100%;}

@media (max-width:960px){
  .begin-dash-shell{grid-template-columns:1fr;}
  .begin-dash-side{
    position:static;flex-direction:row;flex-wrap:wrap;align-items:center;
    gap:12px;padding:14px 16px;
  }
  .begin-dash-user{flex:1 1 200px;}
  .begin-dash-logout{width:auto;order:2;}
  .begin-dash-nav{order:3;width:100%;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-top:4px;-webkit-overflow-scrolling:touch;}
  .begin-dash-nav a{white-space:nowrap;flex:none;}
  .begin-dash-cols{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .begin-dash{padding:18px 12px 40px;}
  .begin-dash-head{flex-direction:column;align-items:flex-start;padding:20px;}
  .begin-dash-head-actions{width:100%;}
  .begin-dash-head-actions .begin-btn{flex:1;}
}

/* Activity timeline */
.begin-timeline{list-style:none;margin:0;padding:0;}
.begin-timeline li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-bottom:16px;position:relative;}
.begin-timeline li:not(:last-child)::before{content:'';position:absolute;left:16px;top:32px;bottom:0;width:2px;background:var(--begin-border-soft);}
.begin-tl-dot{
  width:34px;height:34px;border-radius:50%;flex:none;z-index:1;
  background:var(--begin-bg);border:1px solid var(--begin-border);
  color:var(--begin-green);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13px;
}
.begin-tl-payment .begin-tl-dot,
.begin-tl-event .begin-tl-dot{color:var(--begin-navy);}
.begin-tl-checkin .begin-tl-dot,
.begin-tl-compliance .begin-tl-dot{background:#e6f5ed;border-color:#cbe8d6;color:#08723a;}
.begin-tl-body{min-width:0;}
.begin-tl-body strong{display:block;color:var(--begin-ink);font-size:14px;font-weight:750;overflow-wrap:anywhere;}
.begin-tl-body small{color:var(--begin-muted);font-size:12.5px;}

/* Front-end admin console: tables, filters, pagination */
.begin-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.begin-filters input[type=search]{flex:1;min-width:200px;padding:10px 12px;border:1px solid var(--begin-border);border-radius:8px;font:inherit;}
.begin-filters select{padding:10px 12px;border:1px solid var(--begin-border);border-radius:8px;font:inherit;background:#fff;}
.begin-filters .reg-btn{padding:10px 18px;}
.begin-table-wrap{overflow-x:auto;border:1px solid var(--begin-border-soft);border-radius:10px;}
.begin-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.begin-table th{text-align:left;background:var(--begin-bg);color:var(--begin-muted);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:11px 12px;white-space:nowrap;}
.begin-table td{padding:11px 12px;border-top:1px solid var(--begin-border-soft);color:var(--begin-ink);vertical-align:middle;}
.begin-table tbody tr:hover,.begin-table tr:hover{background:#fafbfe;}
.begin-table-link{color:var(--begin-green)!important;font-weight:700;text-decoration:none;}
.begin-pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;}
.begin-pager-btn{min-width:36px;text-align:center;padding:7px 10px;border:1px solid var(--begin-border);border-radius:8px;color:var(--begin-navy)!important;text-decoration:none;font-weight:600;font-size:13px;}
.begin-pager-btn.is-active{background:var(--begin-green);border-color:var(--begin-green);color:#fff!important;}

/* Compliance review status badges */
.begin-status-approved{background:#e6f5ed;color:#08723a;}
.begin-status-rejected{background:#fdecea;color:#a3271a;}

/* Prevent iOS Safari focus-zoom: inputs must be >=16px on touch screens. */
@media (max-width:1024px){
  .begin-portal input,
  .begin-portal select,
  .begin-portal textarea{ font-size:16px; }
}

/* ============================================================
   BEGIN Dashboard v2 - progress stepper (.begin-dash2)
   ============================================================ */
.begin-dash2{
  --bpnavy:#14267a;--bpblue:#2f56e6;--bpblue50:#f3f6fe;--bpblue100:#e4ebfd;
  --bpink:#0e1a2e;--bpsoft:#5a6478;--bpline:#e6ecf6;--bpgreen:#1c7a41;
  font-family:'Inter',sans-serif;color:var(--bpink);background:var(--bpblue50);
  padding:34px 20px;min-height:100%;
}
.begin-dash2 *{box-sizing:border-box;min-width:0;}
.begin-dash2 .bp-shell{
  max-width:1080px;margin:0 auto;display:grid;grid-template-columns:320px 1fr;
  gap:22px;align-items:start;
}

/* Sidebar */
.begin-dash2 .bp-side{
  background:#fff;border:1px solid var(--bpline);border-radius:18px;padding:22px;
  position:sticky;top:20px;box-shadow:0 20px 50px -30px rgba(20,38,122,.4);
}
.begin-dash2 .bp-user{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--bpline);}
.begin-dash2 .bp-avatar{
  width:46px;height:46px;border-radius:50%;background:var(--bpblue);color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Space Grotesk',sans-serif;
}
.begin-dash2 .bp-user-meta{overflow:hidden;}
.begin-dash2 .bp-user-meta strong{display:block;font-size:14.5px;color:var(--bpnavy);}
.begin-dash2 .bp-user-meta span{display:block;font-size:12.5px;color:var(--bpsoft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.begin-dash2 .bp-progress{padding:18px 0;border-bottom:1px solid var(--bpline);}
.begin-dash2 .bp-progress-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.begin-dash2 .bp-progress-top span{font-size:12.5px;color:var(--bpsoft);font-weight:600;}
.begin-dash2 .bp-progress-top strong{font-size:20px;color:var(--bpnavy);font-family:'Space Grotesk',sans-serif;}
.begin-dash2 .bp-progress-track{height:8px;border-radius:99px;background:var(--bpblue100);overflow:hidden;}
.begin-dash2 .bp-progress-track span{display:block;height:100%;background:var(--bpblue);border-radius:99px;transition:width .3s ease;}

.begin-dash2 .bp-steps{list-style:none;margin:0;padding:18px 0 6px;}
.begin-dash2 .bp-step{display:flex;gap:12px;padding:12px 0;position:relative;}
.begin-dash2 .bp-step:not(:last-child)::before{content:'';position:absolute;left:15px;top:34px;bottom:-6px;width:2px;background:var(--bpline);}
.begin-dash2 .bp-step-mark{
  width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;background:#eef1f8;color:var(--bpsoft);border:2px solid transparent;z-index:1;
  font-family:'Space Grotesk',sans-serif;
}
.begin-dash2 .bp-step-body strong{display:block;font-size:14px;color:var(--bpnavy);}
.begin-dash2 .bp-step-body small{display:block;font-size:12px;color:var(--bpsoft);line-height:1.4;margin-top:2px;}
.begin-dash2 .bp-step.is-done .bp-step-mark{background:var(--bpgreen);color:#fff;}
.begin-dash2 .bp-step.is-current .bp-step-mark{background:var(--bpblue);color:#fff;box-shadow:0 0 0 4px rgba(47,86,230,.16);}
.begin-dash2 .bp-step.is-current .bp-step-body strong{color:var(--bpblue);}
.begin-dash2 .bp-step.is-locked{opacity:.55;}

.begin-dash2 .bp-logout{
  display:block;text-align:center;margin-top:14px;padding:10px;border-radius:10px;
  font-size:13px;font-weight:600;color:var(--bpsoft);border:1px solid var(--bpline);text-decoration:none;
}
.begin-dash2 .bp-logout:hover{color:#b32d2e;border-color:#f0c8c4;}

/* Main column */
.begin-dash2 .bp-main{display:flex;flex-direction:column;gap:18px;}
.begin-dash2 .bp-head .bp-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bpblue);font-weight:700;}
.begin-dash2 .bp-head h2{margin:4px 0 0;font-size:26px;color:var(--bpnavy);font-family:'Space Grotesk',sans-serif;font-weight:700;}

.begin-dash2 .bp-card{background:#fff;border:1px solid var(--bpline);border-radius:16px;padding:24px;box-shadow:0 20px 50px -34px rgba(20,38,122,.4);}
.begin-dash2 .bp-card-title{margin:0 0 14px;font-size:16px;color:var(--bpnavy);font-family:'Space Grotesk',sans-serif;}
.begin-dash2 .bp-detail{border-top:4px solid var(--bpblue);}
.begin-dash2 .bp-detail-eyebrow{font-size:12px;font-weight:700;color:var(--bpblue);letter-spacing:.06em;text-transform:uppercase;}
.begin-dash2 .bp-detail h3{margin:6px 0 8px;font-size:21px;color:var(--bpnavy);font-family:'Space Grotesk',sans-serif;}
.begin-dash2 .bp-detail p{font-size:14.5px;color:var(--bpsoft);line-height:1.65;margin:0 0 18px;}

/* Category picker */
.begin-dash2 .bp-cat-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.begin-dash2 .bp-cat{display:flex;align-items:center;gap:14px;border:1.5px solid #dde5f2;border-radius:12px;padding:15px 16px;cursor:pointer;}
.begin-dash2 .bp-cat input{position:absolute;opacity:0;pointer-events:none;}
.begin-dash2 .bp-cat-radio{width:20px;height:20px;border-radius:50%;border:2px solid #c7cddb;flex:none;display:flex;align-items:center;justify-content:center;}
.begin-dash2 .bp-cat-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--bpblue);display:none;}
.begin-dash2 .bp-cat.is-selected{border-color:var(--bpblue);background:var(--bpblue50);}
.begin-dash2 .bp-cat.is-selected .bp-cat-radio{border-color:var(--bpblue);}
.begin-dash2 .bp-cat.is-selected .bp-cat-radio::after{display:block;}
/* Native :checked selection so the manual form works without JS. */
.begin-dash2 .bp-cat input:checked ~ .bp-cat-radio{border-color:var(--bpblue);}
.begin-dash2 .bp-cat input:checked ~ .bp-cat-radio::after{display:block;}
.begin-dash2 .bp-cat:has(input:checked){border-color:var(--bpblue);background:var(--bpblue50);}
.begin-dash2 .bp-cat-body strong{font-size:15px;color:var(--bpnavy);}
.begin-dash2 .bp-cat-fee{margin-left:auto;font-size:13px;font-weight:700;color:var(--bpblue);background:var(--bpblue100);padding:5px 12px;border-radius:999px;white-space:nowrap;}
.begin-dash2 .bp-amount{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bpblue50);border-radius:12px;margin-bottom:16px;}
.begin-dash2 .bp-amount span{font-size:13px;color:var(--bpsoft);font-weight:600;}
.begin-dash2 .bp-amount strong{font-size:18px;color:var(--bpnavy);font-family:'Space Grotesk',sans-serif;}

/* Buttons */
.begin-dash2 .bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:14.5px;cursor:pointer;border:1.5px solid transparent;text-decoration:none;font-family:'Inter',sans-serif;}
.begin-dash2 .bp-btn-primary{background:var(--bpblue);color:#fff;}
.begin-dash2 .bp-btn-primary:hover{background:#2544c4;}
.begin-dash2 .bp-btn-primary:disabled{opacity:.55;cursor:default;}
.begin-dash2 .bp-btn-outline{background:#fff;color:var(--bpnavy);border-color:#dde5f2;}
.begin-dash2 .bp-btn-outline:hover{border-color:var(--bpblue);color:var(--bpblue);}

.begin-dash2 .bp-progress-inline{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.begin-dash2 .bp-progress-inline .bp-progress-track{flex:1;height:8px;}
.begin-dash2 .bp-progress-inline small{font-size:12.5px;color:var(--bpsoft);white-space:nowrap;}

.begin-dash2 .bp-done{text-align:center;border-top-color:var(--bpgreen);}
.begin-dash2 .bp-done-icon{width:56px;height:56px;border-radius:50%;background:var(--bpgreen);color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}

.begin-dash2 .bp-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.begin-dash2 .bp-facts>div span{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--bpsoft);font-weight:600;margin-bottom:2px;}
.begin-dash2 .bp-facts>div strong{font-size:14.5px;color:var(--bpnavy);}

.begin-dash2 .bp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.begin-dash2 .bp-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bpblue50);border-radius:12px;}
.begin-dash2 .bp-list li strong{display:block;font-size:14px;color:var(--bpnavy);}
.begin-dash2 .bp-list li small{display:block;font-size:12px;color:var(--bpsoft);}
.begin-dash2 .bp-empty{font-size:13.5px;color:var(--bpsoft);margin:0;}

.begin-dash2 .bp-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.begin-dash2 .bp-timeline li{display:flex;gap:12px;align-items:flex-start;}
.begin-dash2 .bp-tl-dot{width:30px;height:30px;border-radius:50%;background:var(--bpblue50);flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;}
.begin-dash2 .bp-timeline strong{display:block;font-size:13.5px;color:var(--bpnavy);}
.begin-dash2 .bp-timeline small{display:block;font-size:12px;color:var(--bpsoft);}

@media (max-width:860px){
  .begin-dash2 .bp-shell{grid-template-columns:1fr;}
  .begin-dash2 .bp-side{position:static;}
  .begin-dash2 .bp-facts{grid-template-columns:1fr;}
}

/* Dashboard list filters + load more */
.begin-dash2 .bp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.begin-dash2 .bp-card-head .bp-card-title{margin:0;}
.begin-dash2 .bp-chips{display:flex;gap:6px;flex-wrap:wrap;}
.begin-dash2 .bp-chip{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--bpsoft);background:var(--bpblue50);border:1px solid var(--bpline);cursor:pointer;font-family:inherit;}
.begin-dash2 .bp-chip:hover{border-color:var(--bpblue);color:var(--bpblue);}
.begin-dash2 .bp-chip.is-active{background:var(--bpblue);color:#fff;border-color:var(--bpblue);}
.begin-dash2 .bp-loadmore{margin-top:14px;width:100%;padding:10px;border-radius:10px;border:1.5px dashed #cdd6e8;background:none;color:var(--bpblue);font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;}
.begin-dash2 .bp-loadmore:hover{background:var(--bpblue50);border-color:var(--bpblue);}

/* Manual payment: notices, instructions, proof upload */
.begin-dash2 .bp-notice{padding:12px 15px;border-radius:11px;font-size:13.5px;line-height:1.55;margin-bottom:16px;border:1px solid transparent;}
.begin-dash2 .bp-notice-info{background:#e5eff8;color:#1c527d;border-color:#c7ddf0;}
.begin-dash2 .bp-notice-warn{background:#fcefd6;color:#8a5a12;border-color:#f2dcae;}
.begin-dash2 .bp-pay-instructions{background:var(--bpblue50);border:1px solid var(--bpline);border-radius:11px;padding:14px 16px;margin:16px 0;}
.begin-dash2 .bp-pay-instructions strong{display:block;font-size:13px;color:var(--bpnavy);margin-bottom:6px;}
.begin-dash2 .bp-pay-instructions p{font-size:13.5px;color:var(--bpsoft);line-height:1.6;margin:0;}
.begin-dash2 .bp-upload{margin:16px 0;}
.begin-dash2 .bp-upload label{display:block;font-size:13.5px;font-weight:600;color:var(--bpnavy);margin-bottom:8px;}
.begin-dash2 .bp-upload label span{font-weight:400;color:var(--bpsoft);font-size:12px;}
.begin-dash2 .bp-upload input[type=file]{width:100%;padding:12px;border:1.5px dashed #c4d0e6;border-radius:11px;background:#fbfcff;font-size:13.5px;font-family:inherit;color:var(--bpnavy);}

/* Manual payment: merchant account box + proof hint */
.begin-dash2 .bp-merchant{margin-top:14px;background:#eef1f8;border:1px solid #e0e6f2;border-radius:10px;padding:16px 18px;font-family:'Space Grotesk',ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:1px;color:#2f56e6;word-break:break-all;}
.begin-dash2 .bp-upload-hint{font-size:12.5px;color:var(--bpsoft);margin:8px 0 0;}
.begin-dash2 .bp-req{color:#e0483d;}

/* Merchant box with copy button */
.begin-dash2 .bp-merchant{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.begin-dash2 .bp-merchant-name{font-family:'Space Grotesk',ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:1px;color:var(--bpblue);word-break:break-all;}
.begin-dash2 .bp-copy{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #d5ddec;color:var(--bpblue);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;flex:none;}
.begin-dash2 .bp-copy:hover{border-color:var(--bpblue);}
.begin-dash2 .bp-copy.is-copied{background:#e7f5ec;border-color:#bfe6cd;color:#1c7a41;}

/* Payment submitted success card */
.begin-dash2 .bp-paid-card{text-align:center;background:#e7f5ec;border:1px solid #bfe6cd;border-radius:14px;padding:26px 22px;}
.begin-dash2 .bp-paid-icon{width:52px;height:52px;border-radius:50%;background:#1c7a41;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.begin-dash2 .bp-paid-card h4{margin:0 0 8px;font-size:19px;color:#14603a;font-family:'Space Grotesk',sans-serif;}
.begin-dash2 .bp-paid-card p{font-size:14px;color:#2f6b48;line-height:1.6;margin:0 0 14px;}
