@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800;900&display=swap');
.gp-wrap { max-width: 920px; margin: 24px auto; padding: 0 12px; color: #fff; }
.gp-band { border-radius: 18px 18px 0 0; padding: 14px 16px; color: #fff; background: #111; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.gp-brand { display:flex; align-items:center; }
.gp-logo { width: 100% !important; max-width: 375px !important; height: auto !important; max-height: none !important; display:block; object-fit:contain; }

/* flow pill (replaces gp-chip + static subtitle) */
.gp-flow-pill{ display:inline-flex; align-items:center; padding: 10px 14px; border-radius: 999px; background: #ff7c10; color:#fff; font-size: 13px; font-weight: 900; text-transform: lowercase; letter-spacing: .35px; border: 1px solid rgba(255,255,255,.18); }

/* remove legacy chip spacing if present */
.gp-chip{ display:none !important; }

/* home menu icon colors */
/* home icon badges are solid accent fills with white icons */
.gp-home-icon i,
.gp-home-icon svg{ color:#ffffff !important; }


/* home menu icon color + badge background */
.gp-home-icon{
  width: 84px; height: 84px; border-radius: 22px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.gp-home-icon i{ font-size: 44px; }

/* per-guidepath icon treatments */
.gp-home-card[data-home="freevend"] .gp-home-icon{ background:#ff7c10; border-color:#ff7c10; }
.gp-home-card[data-home="utility"] .gp-home-icon{ background:#ffaa2a; border-color:#ffaa2a; }
.gp-home-card[data-home="food"] .gp-home-icon{ background:#8cac33; border-color:#8cac33; }
.gp-home-card[data-home="rental"] .gp-home-icon{ background:#00cec8; border-color:#00cec8; }
.gp-home-card[data-home="docs"] .gp-home-icon{ background:#078bc9; border-color:#078bc9; }

/* utility icon uses "selected electricity" emphasis */
.gp-home-card[data-home="utility"] .gp-home-icon i{
  --fa-primary-color:#ffaa2a;
  --fa-secondary-color:#ffaa2a;
}

/* ensure duotone uses currentColor */
.gp-home-icon svg path, .gp-home-icon svg .fa-primary, .gp-home-icon svg .fa-secondary{ fill: currentColor !important; }

/* force all secondary buttons (continue) icon/text white */
.gp-btn.secondary, .gp-btn.secondary *{ color:#fff !important; }
.gp-btn.secondary i{ --fa-primary-color:#fff; --fa-secondary-color:#fff; }
.gp-sub { opacity: .92; margin-top: 2px; text-transform: lowercase; }
.gp-card { border: 1px solid rgba(255,255,255,.10); border-top: none; border-radius: 0 0 18px 18px; padding: 16px; background: #000; box-shadow: 0 10px 30px rgba(0,0,0,.50); }
.gp-card, .gp-card * { color: #fff; }
.gp-step { display:flex; justify-content:space-between; align-items:center; gap:10px; margin: 2px 0 12px; font-size: 13px; opacity:.9; }
.gp-progress { height: 10px; background: rgba(255,255,255,.10); border-radius: 999px; overflow:hidden; }
.gp-progress > div { height:100%; width:0%; background:#ff7c10; }
.gp-h1 { font-size: 22px; font-weight: 900; margin: 6px 0 10px; text-transform: lowercase; }
.gp-p { opacity:.92; margin: 0 0 14px; line-height: 1.35; }
.gp-grid { display:grid; gap:12px; }
.gp-row2 { display:grid; gap:12px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .gp-row2 { grid-template-columns: 1fr 1fr; } }
.gp-label { font-size: 13px; opacity:.9; margin: 0 0 6px; text-transform: lowercase; }
.gp-input { font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;  width: 100%; font-size: 20px; padding: 16px 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.18); background: #0b0b0b; color: #fff; outline:none; }
.gp-input:focus { border-color: rgba(255,124,16,.8); box-shadow: 0 0 0 3px rgba(255,124,16,.20); }
.gp-input::placeholder { color: rgba(255,255,255,.55); }
.gp-choice { display:flex; gap:12px; flex-wrap:wrap; }
.gp-choice .gp-btn { flex: 1 1 220px; }
.gp-btnrow { display:flex; gap:12px; flex-wrap:wrap; }
.gp-btnrow .gp-btn { flex: 1 1 220px; }
.gp-btn { width: 100%; font-size: 20px; padding: 16px; border-radius: 16px; border: 0; background: #ff7c10; color:#fff; font-weight: 900; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; }

/* magic ui for primary CTAs */
.gp-btn.gp-magic{
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  box-shadow: 0 10px 22px rgba(255,124,16,.22);
}
.gp-btn.gp-magic::before{
  content:"";
  position:absolute;
  top:-60%;
  left:-40%;
  width: 60%;
  height: 220%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.22), rgba(255,255,255,0));
  transform: rotate(18deg);
  animation: gpSheen 2.6s linear infinite;
  pointer-events:none;
}
@keyframes gpSheen{
  0%{ transform: translateX(-140%) rotate(18deg); opacity:.0; }
  15%{ opacity:.55; }
  45%{ opacity:.0; }
  100%{ transform: translateX(220%) rotate(18deg); opacity:.0; }
}
.gp-btn.gp-magic:hover{
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(255,124,16,.30);
}
.gp-btn.gp-magic:active{
  transform: translateY(1px);
}

.gp-btn.secondary { background: rgba(255,255,255,.10); color: #fff; border: 1px solid rgba(255,255,255,.18); }
.gp-btn.ghost { background: transparent; color:#fff; border: 1px solid rgba(255,255,255,.18); }
.gp-btn:active { transform: translateY(1px); }
.gp-footer { margin-top: 12px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.gp-link { background: none; border: 0; padding: 10px 0; color: #fff; text-decoration: underline; cursor: pointer; opacity: .9; text-transform: lowercase; }
.gp-link:hover { opacity: 1; }
.gp-chip { display:inline-flex; align-items:center; gap:8px; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); font-size: 13px; text-transform: lowercase; }
.gp-error { font-weight: 900;  padding: 12px 14px; border-radius: 14px; border:1px solid rgba(255,0,0,.35); background: rgba(255,0,0,.10); }
.gp-success { padding: 12px 14px; border-radius: 14px; border:1px solid rgba(0,255,0,.25); background: rgba(0,255,0,.08); }
.gp-list { display:grid; gap:10px; }
.gp-item { padding: 12px 12px; border-radius: 14px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.gp-item small { opacity:.85; }

/* yes/no rows (reuse utility yes/no button styling) */
.gp-yn{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 520px){ .gp-yn{ grid-template-columns: 1fr; } }
.gp-yn .gp-btn{ flex: unset; }


/* typography upgrades */
.gp-h1 { font-size: 34px; line-height: 1.05; margin: 10px 0 14px; }
.gp-p { font-size: 20px; line-height: 1.35; margin: 0 0 18px; }

/* more breathing room between question sets */
.gp-grid { gap: 18px; }
.gp-item { padding: 16px 14px; border-radius: 16px; }

/* button press states */
.gp-btn.pressed-yes { background: #7f963e !important; color: #111 !important; border-color: rgba(127,150,62,.6) !important; }
.gp-btn.pressed-no { background: #bf2b2b !important; color: #fff !important; border-color: rgba(191,43,43,.6) !important; }
.gp-btn.pressed-yes i, .gp-btn.pressed-no i { filter: saturate(1.1); }



/* tracker - rail style (numbers + connectors + icon + label) */
.gp-tracker { margin: 10px 0 18px; padding: 10px 8px 14px; border-radius: 18px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling: touch; }
.gp-track-rail { display:flex; align-items:flex-start; gap: 18px; min-width: max-content; flex-wrap:nowrap; justify-content:flex-start; padding-bottom: 2px; }
.gp-track-step { flex: 0 0 auto; width: 130px; text-align:center; }
.gp-track-top { display:flex; align-items:center; gap: 10px; justify-content:center; }
.gp-track-num { width: 28px; height: 28px; border-radius: 999px; display:flex; align-items:center; justify-content:center; font-weight:900; font-size: 13px; border:2px solid rgba(255,255,255,.18); color:#fff; background: rgba(255,255,255,.04); }
.gp-track-line { flex: 1 1 auto; height: 3px; border-radius: 999px; background: rgba(255,255,255,.18); }
.gp-track-icon { font-size: 46px; margin: 14px 0 8px; line-height: 1; }
.gp-track-label { font-size: 14px; font-weight: 800; text-transform: lowercase; opacity: .95; line-height: 1.15; }

/* states */
.gp-track-step.todo .gp-track-num { opacity:.6; }
.gp-track-step.todo .gp-track-icon { opacity:.55; }
.gp-track-step.todo .gp-track-label { opacity:.65; }

.gp-track-step.current .gp-track-num { border-color: rgba(255,124,16,.8); box-shadow: 0 0 0 3px rgba(255,124,16,.18); }
.gp-track-step.current .gp-track-line { background: rgba(255,124,16,.35); }
.gp-track-step.current .gp-track-icon { opacity: 1; }
.gp-track-step.current .gp-track-label { opacity: 1; }

.gp-track-step.done .gp-track-num { border-color: rgba(127,150,62,.75); background: rgba(127,150,62,.12); }
.gp-track-step.done .gp-track-line { background: rgba(127,150,62,.45); }
.gp-track-step.done .gp-track-label { opacity: 1; }

/* popup overlay for errors */
.gp-popup { position: fixed; inset: 0; background: rgba(0,0,0,.70); display:flex; align-items:center; justify-content:center; padding: 18px; z-index: 999999; }
.gp-popup-card { max-width: 640px; width: 100%; margin: 0 auto; border-radius: 18px; border:1px solid rgba(255,255,255,.14); background: #000; box-shadow: 0 20px 60px rgba(0,0,0,.65); padding: 16px; }
.gp-popup-actions { display:flex; justify-content:flex-end; gap: 12px; margin-top: 14px; }
.gp-popup-title { font-size: 22px; font-weight: 900; text-transform: lowercase; color: #fff; }
.gp-popup-sub { margin-top: 6px; font-size: 15px; color: rgba(255,255,255,.78); }
.gp-q { font-size: 26px; font-weight: 900; line-height: 1.15; text-transform: lowercase; margin: 0 0 12px; }

/* home screen */
.gp-home-grid { display:grid; gap: 14px; margin-top: 14px; }
.gp-home-card {
  width: 100%;
  background: #292929;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  text-align: left;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.gp-home-card:hover {
  transform: translateY(-1px);
  background: #2f2f2f;
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 14px 36px rgba(0,0,0,.55);
}

/* accent-aware hover + selected state */
.gp-home-card[data-home="freevend"]:hover, .gp-home-card[data-home="freevend"].gp-selected{ border-color: rgba(255,124,16,.55); box-shadow: 0 0 0 3px rgba(255,124,16,.14), 0 14px 36px rgba(0,0,0,.55); }
.gp-home-card[data-home="utility"]:hover, .gp-home-card[data-home="utility"].gp-selected{ border-color: rgba(255,207,0,.55); box-shadow: 0 0 0 3px rgba(255,207,0,.14), 0 14px 36px rgba(0,0,0,.55); }
.gp-home-card[data-home="food"]:hover, .gp-home-card[data-home="food"].gp-selected{ border-color: rgba(140,172,51,.55); box-shadow: 0 0 0 3px rgba(140,172,51,.14), 0 14px 36px rgba(0,0,0,.55); }
.gp-home-card[data-home="rental"]:hover, .gp-home-card[data-home="rental"].gp-selected{ border-color: rgba(0,206,200,.55); box-shadow: 0 0 0 3px rgba(0,206,200,.14), 0 14px 36px rgba(0,0,0,.55); }
.gp-home-card[data-home="docs"]:hover, .gp-home-card[data-home="docs"].gp-selected{ border-color: rgba(7,139,201,.55); box-shadow: 0 0 0 3px rgba(7,139,201,.14), 0 14px 36px rgba(0,0,0,.55); }
.gp-home-icon {
  width: 66px;
  height: 66px;
  border-radius: 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size: 30px;
}
.gp-home-icon i{ font-size: 34px; }
.gp-home-text { flex: 1; min-width: 0; }
.gp-home-title { font-size: 18px; font-weight: 900; color: #fff; text-transform: lowercase; }
.gp-home-sub {margin-top: 4px; font-size: 13px; color: rgba(255,255,255,.65); text-transform: lowercase; font-weight: 700; }
.gp-home-go { color: #8cac33; font-size: 38px; }


/* spacing + typography polish */
.gp-card { padding: 24px; }
.gp-grid { gap: 24px; }
.gp-item { padding: 22px 20px; }
.gp-q { margin-bottom: 16px; }
.gp-choice { margin-top: 14px; }
.gp-btnrow { margin-top: 12px; }
.gp-h1, .gp-q, .gp-label, .gp-p, .gp-chip, .gp-track-label { letter-spacing: .25px; }
.gp-btn { letter-spacing: .35px; }

/* update yes green shade */
.gp-btn.pressed-yes { background: #8cac33 !important; color: #fff !important; border-color: rgba(140,172,51,.7) !important; }

/* tracker done state green */
.gp-track-step.done .gp-track-num { border-color: rgba(140,172,51,.80); background: rgba(140,172,51,.14); }
.gp-track-step.done .gp-track-line { background: rgba(140,172,51,.50); }

/* make nav buttons pill-shaped and distinct */
.gp-btn.nav { border-radius: 999px; padding: 16px 22px; }
.gp-btn.nav.ghost { border-radius: 999px; }

/* button icons size */
.gp-btn i { font-size: 2em; line-height: 1; }

/* inputs: poppins bold */
.gp-input { font-weight: 700; }


/* form layout polish */
.gp-row2 { align-items: start; }
.gp-fieldset { display:grid; gap: 10px; }
.gp-dobgrid { display:grid; gap:12px; grid-template-columns: 1.4fr .8fr 1fr; }
@media (max-width: 640px) { .gp-dobgrid { grid-template-columns: 1fr; } }

/* make selects match input height and alignment */
select.gp-input { appearance: none; -webkit-appearance: none; }

/* dob alignment fixes */
.gp-dobgrid { align-items: end; }
.gp-dobgrid .gp-input { height: 62px; box-sizing: border-box; }
.gp-dobgrid select.gp-input { padding-right: 42px; }

/* phone + dob row proportions */
.gp-row-phone-dob { grid-template-columns: 1.15fr 1.85fr; }
@media (max-width: 640px) { .gp-row-phone-dob { grid-template-columns: 1fr; } }

/* tracker icon coloring to match number state */
.gp-track-icon i { color: inherit !important; }
.gp-track-step.todo .gp-track-icon { color: rgba(255,255,255,.55) !important; }
.gp-track-step.current .gp-track-icon { color: #ff7c10 !important; }
.gp-track-step.done .gp-track-icon { color: #8cac33 !important; }

/* tracker icon coloring (svg) - fontawesome replaces <i> with <svg> */
.gp-track-icon, .gp-track-icon * { color: inherit !important; }
.gp-track-icon svg { color: inherit !important; }
.gp-track-icon svg path { fill: currentColor !important; }

/* ensure duotone secondary also follows currentColor */
.gp-track-icon svg .fa-primary,
.gp-track-icon svg .fa-secondary { fill: currentColor !important; }

.gp-error i { font-size: 1.6em; margin-right: 10px; vertical-align: -0.15em; }

/* start screen buttons white text/icons */
.gp-btn.start-white { color:#fff !important; }
.gp-btn.start-white i { color:#fff !important; }

/* start screen button icons size */
.gp-btn.start-white i { font-size: 2em !important; }

/* error popup layout */
.gp-error-popup { font-weight: 900; text-align: center; padding: 18px 16px; }
.gp-error-popup .gp-error-icon { display:flex; justify-content:center; align-items:center; font-size: 120px; line-height: 1; margin: 6px 0 12px; }
.gp-error-popup .gp-error-icon i { font-size: 120px !important; margin: 0 !important; vertical-align: 0; }
.gp-error-popup .gp-error-text { font-size: 18px; line-height: 1.25; letter-spacing: .35px; }
/* error popup inline link should match surrounding text */
.gp-error-popup .gp-error-text a,
.gp-error-popup .gp-error-text a:visited {
  color: #fff;
  font-weight: inherit;
  font-size: inherit;
  text-transform: lowercase;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
}
.gp-error-popup .gp-error-text a:hover,
.gp-error-popup .gp-error-text a:focus {
  color: #fff;
  outline: none;
  text-decoration-thickness: 3px;
}


.gp-error-popup .gp-error-text .gp-link,
.gp-error-popup .gp-error-text .gp-link:visited,
.gp-error-popup .gp-error-text .gp-link:hover,
.gp-error-popup .gp-error-text .gp-link:focus {
  /* make "click here" look like the surrounding sentence, not a default tiny link */
  font: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: #fff;
  text-transform: lowercase;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  display: inline;
  cursor: pointer;
  opacity: 1;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
}

/* global letter spacing a bit wider */
.gp-card, .gp-card * { letter-spacing: .35px; }
.gp-input { letter-spacing: .25px; }


/* button icon sizing (fontawesome svg + i) */
.gp-btn.start-white i, .gp-btn.start-white svg { font-size: 2.2em !important; width: 1em; height: 1em; }
.gp-btn.nav i, .gp-btn.nav svg { font-size: 2.0em !important; width: 1em; height: 1em; }

.gp-btn svg { color: inherit !important; }
.gp-btn svg path { fill: currentColor !important; }

/* utility type picker */
.gp-utype-grid { display:flex; gap:12px; flex-wrap:wrap; }
.gp-utype-btn { flex: 1 1 220px; }
.gp-utype-btn.selected { background: rgba(255,124,16,.22) !important; border-color: rgba(255,124,16,.85) !important; box-shadow: 0 0 0 3px rgba(255,124,16,.20); }

/* utility type buttons - 4 in a row */
.gp-utype-grid { flex-wrap: nowrap; }
.gp-utype-btn { flex: 1 1 0; min-width: 0; }
@media (max-width: 780px) { .gp-utype-grid { flex-wrap: wrap; } .gp-utype-btn { flex: 1 1 46%; } }

/* money input with $ prefix */
.gp-moneywrap { position: relative; }
.gp-moneywrap .gp-money { position:absolute; left: 14px; top: 50%; transform: translateY(-50%); font-weight: 900; opacity: .9; color:#111 !important; }
.gp-moneywrap input.gp-input { padding-left: 34px; }

/* utility type buttons icon above label */
.gp-utype-btn { flex-direction: column; gap: 10px; padding: 18px 12px; }
.gp-utype-btn span { white-space: nowrap; }
.gp-utype-btn i, .gp-utype-btn svg { font-size: 2.4em !important; }
.gp-utype-btn { justify-content: center; align-items: center; }

/* align disconnect date + amount card heights */
.gp-row2.align-stretch { align-items: stretch; }
.gp-row2.align-stretch .gp-item { height: 100%; }

/* light select for month dropdowns */
.gp-select-light { background: #fff !important; color: #111 !important; border-color: rgba(255,255,255,.35) !important; }
.gp-select-light option { color: #111; }

/* select wrapper with caret */
.gp-selectwrap { position: relative; }
.gp-selectwrap i, .gp-selectwrap svg { position:absolute; right: 18px; top: 50%; transform: translateY(-50%); pointer-events:none; opacity:.85; font-size: 1.6em; }
.gp-selectwrap select.gp-input { padding-right: 54px; }

.gp-selectwrap svg path { fill: currentColor !important; }
.gp-utype-btn.selected, .gp-utype-btn.selected * { color:#fff !important; }

/* provider dropdown light */
.gp-provider-light { background:#fff !important; color:#111 !important; }
.gp-provider-light option { color:#111; }
.gp-provider-light:focus { box-shadow: 0 0 0 3px rgba(255,124,16,.18); border-color: rgba(255,124,16,.8); }
.gp-selectwrap { color: #ff7c10; } /* caret inherits */

/* align utility date + amount fields */
#gp-amount { height: 62px; box-sizing: border-box; }
.gp-moneywrap { height: 62px; display:flex; align-items:center; }
.gp-moneywrap input.gp-input { height: 62px; }

.gp-zip-q { margin-top: 18px; }

/* utilities date/amount row proportions */
.gp-utils-date-amt { grid-template-columns: 1.35fr 0.65fr; }
@media (max-width: 640px) { .gp-utils-date-amt { grid-template-columns: 1fr; } }

/* utility summary list */
.gp-util-sum-top { display:flex; gap:14px; align-items:flex-start; }
.gp-util-sum-ico { font-size: 2.0em; line-height: 1; opacity:.95; margin-top: 2px; }
.gp-util-sum-ico svg, .gp-util-sum-ico i { width: 1em; height: 1em; }
.gp-util-sum-title { font-weight: 900; text-transform: lowercase; font-size: 18px; margin-bottom: 8px; }
.gp-util-sum-meta { display:flex; gap:10px; flex-wrap:wrap; }

/* spacing normalization */
.gp-item { margin-top: 0 !important; }
.gp-grid > * { margin-top: 0 !important; }
.gp-label, .gp-q { margin-bottom: 10px; }

/* add utility button green */
.gp-add-utility { background: #8cac33 !important; color: #fff !important; border-color: rgba(140,172,51,.75) !important; }
.gp-add-utility i, .gp-add-utility svg { color: #fff !important; }
.gp-add-utility:hover { filter: brightness(1.03); }

/* spacing: more uniform vertical rhythm */
.gp-grid { gap: 28px !important; }
.gp-item { padding: 26px 22px !important; border-radius: 18px; }
.gp-item + .gp-item { margin-top: 0 !important; } /* grid handles spacing */
.gp-row2 { gap: 22px !important; }
.gp-util-sum { padding: 18px 18px !important; }

/* force green add utility button */
#gp-add-utility { background: #8cac33 !important; color: #fff !important; border-color: rgba(140,172,51,.75) !important; }
#gp-add-utility i, #gp-add-utility svg { color: #fff !important; }
#gp-add-utility { display:flex; align-items:center; justify-content:center; gap:12px; border-radius: 18px; padding: 18px 22px; }

/* spacing between stacked gp-item cards (when not in .gp-grid) */
.gp-step > .gp-item { margin-bottom: 22px; }
.gp-step > .gp-item:last-child { margin-bottom: 0; }

/* spacing between provider/selectwrap item and following items inside utilities section */
.gp-step .gp-item + .gp-item { margin-top: 0 !important; } /* keep */

/* mini labels under fields */
.gp-mini { margin-top: 8px; font-size: 13px; opacity: .85; text-transform: lowercase; letter-spacing: .3px; }
/* version */
.gp-version { margin-top: 18px; font-size: 12px; opacity: .6; text-align: center; letter-spacing: .4px; }

/* invalid field highlight */
.gp-invalid { border-color: rgba(191,43,43,.95) !important; box-shadow: 0 0 0 3px rgba(191,43,43,.25) !important; }
.gp-selectwrap.gp-invalid select { border-color: rgba(191,43,43,.95) !important; box-shadow: 0 0 0 3px rgba(191,43,43,.25) !important; }

/* disabled continue */
.gp-btn:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.2); }

/* utility added popup (success) */
.gp-success-popup { font-weight: 900; text-align: center; padding: 18px 16px; }
.gp-success-popup .gp-success-icon { display:flex; justify-content:center; align-items:center; font-size: 120px; line-height: 1; margin: 6px 0 12px; color: #8cac33; }
.gp-success-popup .gp-success-icon i, .gp-success-popup .gp-success-icon svg { font-size: 120px !important; }
.gp-success-popup .gp-success-text { font-size: 18px; line-height: 1.25; letter-spacing: .35px; color: #8cac33; }

/* generic dropdown caret (orange) */
.gp-selectwrap { position: relative; }
.gp-selectwrap .gp-caret { position:absolute; right: 18px; top: 50%; transform: translateY(-50%); pointer-events:none; opacity:.95; font-size: 1.6em; color: #ff7c10; }
.gp-selectwrap select.gp-input { padding-right: 54px; }
.gp-selectwrap svg path, .gp-selectwrap svg .fa-primary, .gp-selectwrap svg .fa-secondary { fill: currentColor !important; }

/* utility added popup - match error popup layout */
.gp-success-popup { font-weight: 900 !important; text-align: center; padding: 18px 16px; border: 2px solid rgba(140,172,51,.65); border-radius: 16px; background: rgba(140,172,51,.10); }
.gp-success-popup .gp-success-icon { display:flex; justify-content:center; align-items:center; font-size: 120px; line-height: 1; margin: 6px 0 12px; color: #8cac33; }
.gp-success-popup .gp-success-icon i, .gp-success-popup .gp-success-icon svg { font-size: 120px !important; }
.gp-success-popup .gp-success-text { font-size: 18px; line-height: 1.25; letter-spacing: .35px; color: #8cac33; }

/* selected utility icon colors */
.gp-utype-btn.selected[data-utype="electricity"] i,
.gp-utype-btn.selected[data-utype="electricity"] svg { color: #ffcf00 !important; }
.gp-utype-btn.selected[data-utype="gas"] i,
.gp-utype-btn.selected[data-utype="gas"] svg { color: #00cec8 !important; }
.gp-utype-btn.selected[data-utype="water"] i,
.gp-utype-btn.selected[data-utype="water"] svg { color: #078bc9 !important; }
.gp-utype-btn.selected[data-utype="sewer"] i,
.gp-utype-btn.selected[data-utype="sewer"] svg { color: #ffffff !important; }
.gp-utype-btn.selected svg path,
.gp-utype-btn.selected svg .fa-primary,
.gp-utype-btn.selected svg .fa-secondary { fill: currentColor !important; }

/* --- force per-utility icon colors on selected state (override) --- */
.gp-utype-btn.selected span { color: #fff !important; }
.gp-utype-btn.selected[data-utype="electricity"] { --gp-utype-ico: #ffcf00; }
.gp-utype-btn.selected[data-utype="gas"] { --gp-utype-ico: #00cec8; }
.gp-utype-btn.selected[data-utype="water"] { --gp-utype-ico: #078bc9; }
.gp-utype-btn.selected[data-utype="sewer"] { --gp-utype-ico: #ffffff; }

.gp-utype-btn.selected[data-utype] i,
.gp-utype-btn.selected[data-utype] svg { color: var(--gp-utype-ico) !important; }

.gp-utype-btn.selected[data-utype] svg path,
.gp-utype-btn.selected[data-utype] svg .fa-primary,
.gp-utype-btn.selected[data-utype] svg .fa-secondary { fill: currentColor !important; }

/* --- HARD override: utility selected icon colors (beats selected * rule) --- */
.gp-utype-btn.selected[data-utype="electricity"] svg,
.gp-utype-btn.selected[data-utype="electricity"] svg *,
.gp-utype-btn.selected[data-utype="electricity"] i {
  color: #ffcf00 !important;
  fill: currentColor !important;
}
.gp-utype-btn.selected[data-utype="gas"] svg,
.gp-utype-btn.selected[data-utype="gas"] svg *,
.gp-utype-btn.selected[data-utype="gas"] i {
  color: #00cec8 !important;
  fill: currentColor !important;
}
.gp-utype-btn.selected[data-utype="water"] svg,
.gp-utype-btn.selected[data-utype="water"] svg *,
.gp-utype-btn.selected[data-utype="water"] i {
  color: #078bc9 !important;
  fill: currentColor !important;
}
.gp-utype-btn.selected[data-utype="sewer"] svg,
.gp-utype-btn.selected[data-utype="sewer"] svg *,
.gp-utype-btn.selected[data-utype="sewer"] i {
  color: #ffffff !important;
  fill: currentColor !important;
}
/* keep label white */
.gp-utype-btn.selected span { color:#fff !important; }

/* selected utility button accent matches icon color */
.gp-utype-btn.selected[data-utype="electricity"] { --gp-utype-accent: #ffcf00; }
.gp-utype-btn.selected[data-utype="gas"] { --gp-utype-accent: #00cec8; }
.gp-utype-btn.selected[data-utype="water"] { --gp-utype-accent: #078bc9; }
.gp-utype-btn.selected[data-utype="sewer"] { --gp-utype-accent: #ffffff; }

.gp-utype-btn.selected[data-utype] {
  border-color: color-mix(in srgb, var(--gp-utype-accent) 70%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gp-utype-accent) 22%, transparent) !important;
  background: color-mix(in srgb, var(--gp-utype-accent) 18%, rgba(0,0,0,.0)) !important;
}

/* fallback for browsers without color-mix */
@supports not (color-mix(in srgb, #fff 10%, transparent)) {
  .gp-utype-btn.selected[data-utype="electricity"] { background: rgba(255, 207, 0, .18) !important; border-color: rgba(255, 207, 0, .85) !important; box-shadow: 0 0 0 3px rgba(255, 207, 0, .20) !important; }
  .gp-utype-btn.selected[data-utype="gas"] { background: rgba(0, 206, 200, .18) !important; border-color: rgba(0, 206, 200, .85) !important; box-shadow: 0 0 0 3px rgba(0, 206, 200, .20) !important; }
  .gp-utype-btn.selected[data-utype="water"] { background: rgba(7, 139, 201, .18) !important; border-color: rgba(7, 139, 201, .85) !important; box-shadow: 0 0 0 3px rgba(7, 139, 201, .20) !important; }
  .gp-utype-btn.selected[data-utype="sewer"] { background: rgba(255, 255, 255, .14) !important; border-color: rgba(255, 255, 255, .75) !important; box-shadow: 0 0 0 3px rgba(255, 255, 255, .16) !important; }
}

/* utility summary numbering */
.gp-util-sum-ico { display:flex; gap:12px; align-items:center; }
.gp-util-sum-ico i, .gp-util-sum-ico svg { font-size: 2.4em !important; }
.gp-util-sum-ico svg path, .gp-util-sum-ico svg .fa-primary, .gp-util-sum-ico svg .fa-secondary { fill: currentColor !important; }

/* utilities list numbering + icons */
.gp-util-row { display:flex; gap:16px; align-items:flex-start; }
.gp-util-icons { display:flex; gap:12px; align-items:center; font-size: 2.4em; line-height: 1; }
.gp-util-icons i, .gp-util-icons svg { font-size: 1em !important; width: 1em; height: 1em; }
.gp-util-icons svg path, .gp-util-icons svg .fa-primary, .gp-util-icons svg .fa-secondary { fill: currentColor !important; }
.gp-util-title { font-weight: 900; text-transform: lowercase; font-size: 22px; margin-bottom: 10px; }
.gp-util-meta { opacity: .95; font-size: 16px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

/* utility pills */
.gp-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  text-transform: lowercase;
  line-height: 1;
  white-space: nowrap;
}
.gp-pill i, .gp-pill svg{ margin-right: 0 !important; vertical-align: -0.15em; }

.gp-pill-red{ background: #bf2b2b; color: #ffffff; }
.gp-pill-red i, .gp-pill-red svg{ color:#ffffff !important; }
.gp-pill-red svg path, .gp-pill-red svg .fa-primary, .gp-pill-red svg .fa-secondary{ fill: currentColor !important; }

.gp-pill-yellow{ background: #ffaa2a; color: #ffffff; }

.gp-pill-white{ background: rgba(0,0,0,.25); color: #ffffff !important; border-color: rgba(255,255,255,.35) !important; }

/* utility list icon colors match utility type colors */
.gp-util-card[data-utype="electricity"] .gp-util-icons { color: #ffcf00 !important; }
.gp-util-card[data-utype="gas"] .gp-util-icons { color: #00cec8 !important; }
.gp-util-card[data-utype="water"] .gp-util-icons { color: #078bc9 !important; }
.gp-util-card[data-utype="sewer"] .gp-util-icons { color: #ffffff !important; }
.gp-util-card .gp-util-icons svg path,
.gp-util-card .gp-util-icons svg .fa-primary,
.gp-util-card .gp-util-icons svg .fa-secondary { fill: currentColor !important; }
.gp-util-meta i, .gp-util-meta svg { margin-right: 10px; vertical-align: -0.15em; }

/* disconnect line emphasis */
.gp-disconnect { font-weight: 900; color: #bf2b2b !important; }
.gp-disconnect i, .gp-disconnect svg { color: #bf2b2b !important; }
.gp-disconnect svg path, .gp-disconnect svg .fa-primary, .gp-disconnect svg .fa-secondary { fill: currentColor !important; }

/* re-enforce utility icon colors in list (hard) */
.gp-util-card[data-utype="electricity"] .gp-util-icons,
.gp-util-card[data-utype="electricity"] .gp-util-icons * { color: #ffcf00 !important; }
.gp-util-card[data-utype="gas"] .gp-util-icons,
.gp-util-card[data-utype="gas"] .gp-util-icons * { color: #00cec8 !important; }
.gp-util-card[data-utype="water"] .gp-util-icons,
.gp-util-card[data-utype="water"] .gp-util-icons * { color: #078bc9 !important; }
.gp-util-card[data-utype="sewer"] .gp-util-icons,
.gp-util-card[data-utype="sewer"] .gp-util-icons * { color: #ffffff !important; }
.gp-util-icons svg path, .gp-util-icons svg .fa-primary, .gp-util-icons svg .fa-secondary { fill: currentColor !important; }

/* doc icons */
.gp-doc-title i, .gp-doc-title svg { font-size: 1.4em; margin-right: 12px; vertical-align: -0.1em; }
.gp-doc-title svg path, .gp-doc-title svg .fa-primary, .gp-doc-title svg .fa-secondary { fill: currentColor !important; }

/* document row icons */
.gp-doc-title { font-weight: 900; text-transform: lowercase; display:flex; align-items:center; gap:12px; }
.gp-doc-title i, .gp-doc-title svg { font-size: 1.6em; line-height: 1; }
.gp-doc-title svg path, .gp-doc-title svg .fa-primary, .gp-doc-title svg .fa-secondary { fill: currentColor !important; }

/* docs: layout + stylish upload */
.gp-doc-item { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.gp-doc-left { min-width: 260px; }
.gp-doc-right { display:flex; flex-direction:column; align-items:flex-end; gap:10px; min-width: 320px; }
.gp-doc-actions { display:flex; flex-direction:column; align-items:flex-end; gap:10px; width: 100%; }
.gp-bring-row { display:flex; align-items:center; gap:10px; font-size: 13px; opacity: .9; user-select:none; }
.gp-bring-row input { width: 18px; height: 18px; accent-color: #ff7c10; }

.gp-doc-item.gp-doc-bring .gp-bring-row { opacity: 1; }
.gp-doc-item.gp-doc-bring .gp-bring-row span { color: #8cac33; font-weight: 800; }
.gp-doc-item.gp-doc-bring .gp-bring-row input { accent-color: #8cac33; }
.gp-disabled { opacity: .45; pointer-events:none; }
.gp-doc-title { font-weight: 900; text-transform: lowercase; display:flex; align-items:center; gap:14px; }
.gp-doc-title i, .gp-doc-title svg { font-size: 2.1em; line-height: 1; }

/* hide raw input */
.gp-file { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

/* upload button */
.gp-upload-btn { display:inline-flex; align-items:center; gap:12px; padding: 14px 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color:#fff; font-weight: 900; text-transform: lowercase; cursor:pointer; user-select:none; }
.gp-upload-btn:hover { background: rgba(255,255,255,.10); }
.gp-upload-btn i, .gp-upload-btn svg { font-size: 1.6em; }

.gp-file-name { max-width: 520px; text-align:right; font-size: 13px; opacity: .75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* uploaded state: icon turns green */
.gp-doc-uploaded .gp-doc-title { color: #8cac33 !important; }
.gp-doc-uploaded .gp-doc-title i, .gp-doc-uploaded .gp-doc-title svg { color:#8cac33 !important; }
.gp-doc-uploaded .gp-doc-title svg path, .gp-doc-uploaded .gp-doc-title svg .fa-primary, .gp-doc-uploaded .gp-doc-title svg .fa-secondary { fill: currentColor !important; }
.gp-doc-uploaded .gp-upload-btn { border-color: rgba(140,172,51,.55); background: rgba(140,172,51,.10); }

/* review page styling */
.gp-sub { margin-top: 10px; opacity: .85; font-size: 18px; letter-spacing: .4px; }
.gp-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 14px; }
.gp-section-title { font-weight: 900; text-transform: lowercase; font-size: 26px; letter-spacing: .5px; }
.gp-mini-btn { padding: 10px 14px !important; border-radius: 14px !important; font-size: 16px !important; background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.20) !important; }
.gp-mini-btn i, .gp-mini-btn svg { font-size: 1.35em; }
.gp-review-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 12px; }
.gp-review-row { display:flex; justify-content:space-between; gap:14px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.gp-review-k { opacity:.75; text-transform: lowercase; letter-spacing:.35px; }
.gp-review-v { font-weight: 900; text-align:right; letter-spacing:.35px; overflow:hidden; text-overflow:ellipsis; }
.gp-review-list .gp-item { margin-top: 18px; }
.gp-review-docs-status { font-weight: 900; letter-spacing:.35px; margin-bottom: 12px; }
.gp-review-docs-list { display:grid; grid-template-columns: 1fr; gap: 10px; }
.gp-review-doc { display:flex; justify-content:space-between; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); }
.gp-review-doc.ok { border-color: rgba(140,172,51,.35); }
.gp-review-doc.miss { border-color: rgba(191,43,43,.35); }
@media (max-width: 900px){
  .gp-review-grid { grid-template-columns: 1fr; }
}

/* review (new structure) */
.gp-btn.mini { padding: 10px 14px; font-size: 16px; border-radius: 14px; line-height: 1; min-height: auto; }
.gp-review-sec { position: relative; }
.gp-sec-hdr { display:flex; align-items:center; justify-content:flex-start; gap:12px; margin-bottom:12px; padding-right: 84px; }
.gp-sec-title { font-size: 32px; font-weight: 900; line-height: 1.05; text-transform: lowercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gp-edit-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  width: auto;
  min-width: 0;
  padding: 10px 14px;
  font-size: 13px;
  border-radius: 999px;
  background: #ff7c10;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
}
.gp-edit-btn i, .gp-edit-btn svg { font-size: 1.2em !important; color: #fff; }
.gp-edit-btn span { color: #fff; }
.gp-muted { opacity: .75; }

/* native scheduler */
.gp-sched-days{
  display:flex;
  gap:10px;
  justify-content:center;
  overflow-x:hidden;
  padding:6px 4px;
  scrollbar-width:thin;
}
.gp-sched-day{
  border:2px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:16px;
  padding:10px 14px;
  min-width:92px;
  cursor:pointer;
  transition:transform .08s ease, border-color .12s ease, background .12s ease;
}
.gp-sched-day:hover{transform:translateY(-1px); border-color:rgba(255,255,255,.24);}
.gp-sched-day.selected{border-color:#ff7c10; background:rgba(255,124,16,.16);}
.gp-sched-day-dow{font-weight:800; font-size:18px; line-height:1.1;}
.gp-sched-day-md{font-size:16px; opacity:.9; margin-top:2px;}

.gp-sched-times{display:block;}
.gp-sched-bucket{margin:10px 0 6px; text-transform:lowercase; font-weight:800; opacity:.85; text-align:center;}
.gp-sched-time-row{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.gp-sched-time{min-width:140px;}
.gp-docs-summary { margin-bottom: 10px; opacity: .9; }
.gp-doc-fn { opacity: .75; font-weight: 800; font-size: 12px; }
.gp-doc-miss { color: #bf2b2b; font-weight: 900; }
.gp-sec-body { display:block; }
.gp-kv { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
.gp-kv:last-child { border-bottom:none; }
.gp-k { opacity:0.75; text-transform:lowercase; font-weight:700; letter-spacing:.35px; }
.gp-v { font-weight:900; text-transform:lowercase; flex: 0 0 clamp(220px, 45%, 420px); text-align:left; letter-spacing:.35px; overflow:hidden; text-overflow:ellipsis; }
.gp-review-utils .gp-util-card { margin-bottom:12px; }
.gp-review-utils .gp-util-card:last-child { margin-bottom:0; }

/* freevend summary rows */
.gp-sumrow { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
.gp-sumrow:last-child { border-bottom:none; }
.gp-sumk { opacity:0.75; text-transform:lowercase; font-weight:700; letter-spacing:.35px; }
.gp-sumv { font-weight:900; text-transform:lowercase; flex: 0 0 clamp(220px, 45%, 420px); text-align:left; letter-spacing:.35px; overflow:hidden; text-overflow:ellipsis; }


.gp-subtle{ opacity:.75; font-weight:700; font-size:12px; text-transform:none; }

/* freevend access number info block */
.gp-fv-info{ display:flex; gap:14px; align-items:flex-start; }
.gp-fv-info i{ font-size:64px !important; margin-top:2px; line-height:1; }
.gp-fv-info .svg-inline--fa{ width:80px !important; height:80px !important; }

.gp-center{ text-align:center; }

/* centered keypad-style input */
.gp-input-center{ text-align:center; letter-spacing:1px; }
.gp-codepill{ margin-top:10px; display:inline-block; padding:14px 18px; border-radius:16px; background:#111; border:2px solid rgba(255,255,255,0.12); font-weight:900; font-size:42px; letter-spacing:6px; color:#00cec8; }
.gp-codepill.gp-center{ display:block; width:max-content; margin:10px auto 0; text-align:center; }



/* freevend access number input */
#gp-fv-phone{ color:#00cec8; font-size:34px; font-weight:900; }
#gp-fv-phone::placeholder{ color:rgba(7,139,201,0.45); }


/* home popup: start + forgot link row */
.gp-btnrow-split{
  display:flex;
  align-items:center;
  gap:14px;
}
.gp-btnrow-split .gp-btn{
  flex:1 1 auto;
}
.gp-link-mini{
  white-space:nowrap;
  font-size:14px;
  font-weight:700;
  padding:14px 16px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.gp-link-mini i{ color:#ffffff; }
.gp-link-mini:hover{ filter:brightness(1.08); }

.gp-home-go i{ color: inherit; }

/* freevend forgot access number popup */
.gp-fv-forgot{ text-align:center; }
.gp-fv-forgot .gp-item{ max-width:520px; margin:12px auto 0 auto; display:flex; flex-direction:column; align-items:center; }
.gp-fv-forgot .gp-popup-title,
.gp-fv-forgot .gp-popup-sub{ text-align:center !important; }
.gp-fv-forgot .gp-q{ width:100%; text-align:center !important; margin:0 0 10px 0; }
.gp-fv-forgot .gp-input{ width:100%; max-width:520px; text-align:center !important; margin:0 auto; }

/* freevend: access number result popup (from forgot flow) */
.gp-fv-access-view{ text-align:center; }
.gp-fv-access-view .gp-popup-title,
.gp-fv-access-view .gp-popup-sub{ text-align:center !important; }

/* review confirmation checkbox row */
.gp-confirm-row{
  display:flex;
  align-items:center;
  gap:14px;
}
.gp-confirm-row input[type="checkbox"]{
  width:22px;
  height:22px;
  accent-color:#ff7c10;
}
.gp-confirm-icon{
  font-size:44px !important;
  line-height:1;
}
.gp-confirm-text{
  display:inline-block;
}

/* native scheduler */
.gp-sched-time{
  border-radius:999px !important;
  padding:12px 16px !important;
  font-weight:900 !important;
  letter-spacing:0.5px;
  border:2px solid rgba(255,255,255,0.18) !important;
  background:rgba(255,255,255,0.06) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,0.35);
  transition:transform .08s ease, filter .08s ease, background .08s ease, border-color .08s ease;
}
.gp-sched-time:hover{ filter:brightness(1.12); transform:translateY(-1px); }
.gp-sched-time.selected{
  background:rgba(255,124,16,0.18) !important;
  border-color:rgba(255,124,16,0.85) !important;
}
.gp-sched-bucket{ margin-top:10px; font-weight:900; text-transform:lowercase; opacity:.85; }
/* schedule/done summary pill - time big, date below */
.gp-sched-summary-pill{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:18px 22px;
  border-radius:24px;
  background:#111;
  border:2px solid rgba(0,206,200,0.70);
  color:#00cec8;
  font-weight:900;
  letter-spacing:.2px;
  text-align:center;
  overflow:hidden;
  overflow-wrap:break-word;
}

.gp-sched-summary-pill .gp-sched-time-big{
  display:block;
  font-size:64px;
  line-height:1.05;
  letter-spacing:1px;
  color:#00cec8;
}

.gp-sched-summary-pill .gp-sched-date-line{
  display:block;
  margin-top:6px;
  font-size:28px;
  line-height:1.15;
  opacity:.95;
  color:#00cec8;
}

/* make sure time matches date styling inside the pill */
.gp-sched-summary-pill strong,
.gp-sched-summary-pill b{
  color:#00cec8 !important;
  font-weight:900 !important;
}

/* schedule button (review step) should be white text */
#gp-to-schedule,
#gp-to-schedule *{ color:#fff !important; }

/* confirm schedule (native calendly booking) */
.gp-sched-book{
  background:#8cac33 !important;
  color:#fff !important;
}
.gp-sched-book *{ color:#fff !important; }
.gp-sched-book i{ --fa-primary-color:#fff; --fa-secondary-color:#fff; }

/* big success check on done page */
.gp-done-check{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
}
.gp-done-check i{
  font-size:280px !important;
  --fa-primary-color: #8cac33;
  --fa-secondary-color: #8cac33;
  line-height:1;
  display:block;
}

/* make done recap info icon big enough */
.gp-sched-done-pill .gp-sched-info{
  font-size:72px !important;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.gp-sched-done-pill{
  display:block;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,0.06);
  border:2px solid rgba(255,255,255,0.16);
  font-weight:800;
}

/* address pill under the scheduled time/date */
.gp-sched-address-pill{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:720px;
  margin:14px auto 0;
  padding:18px 22px;
  border-radius:24px;
  background:#111;
  border:2px solid rgba(0,206,200,0.70);
  text-align:center;
  overflow:hidden;
}
.gp-sched-address-title{
  font-size:64px;
  font-weight:900;
  letter-spacing:0.5px;
  text-transform:lowercase;
  margin-bottom:0;
  color:#00cec8;
}
.gp-sched-address-line{
  display:block;
  margin-top:6px;
  font-size:26px;
  font-weight:900;
  color:#00cec8;
  opacity:0.98;
  line-height:1.12;
}
.gp-sched-address-line + .gp-sched-address-line{ margin-top:6px; }

.gp-sched-reminder-pill{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:720px;
  margin:14px auto 0;
  padding:16px 22px;
  border-radius:24px;
  background:#111;
  border:2px solid rgba(0,206,200,0.70);
  text-align:center;
  color:#fff;
  font-size:20px;
  font-weight:800;
  line-height:1.18;
  opacity:0.98;
}

/* food pantry checklists */
.gp-checkgrid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
  margin-top:12px;
}
.gp-checkrow{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#0f0f0f;
  border:1px solid rgba(255,255,255,0.12);
  color:#fff;
  font-size:16px;
  font-weight:800;
}
.gp-checkrow span{ opacity:0.96; }
inputinput.gp-check{
  width:20px;
  height:20px;
  accent-color:#ff7c10;
}


/* food pantry groups */
.gp-food-group{ margin-top:12px; }
.gp-food-group-title{
  margin:18px 4px 10px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.72;
  font-weight:900;
}


/* food pantry sexy list */
.gp-food-cards{ display:grid; gap:14px; margin-top:12px; }
.gp-food-card{
  background:#0f0f0f;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}
.gp-food-card-h{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.gp-food-card-ico{
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,206,200,0.10);
  border:1px solid rgba(0,206,200,0.35);
  color:#00cec8;
  font-size:16px;
}
.gp-food-card-title{
  font-size:16px;
  letter-spacing:.08em;
  text-transform:none;
  font-weight:900;
  opacity:.92;
  line-height:1.1;
}
.gp-food-optgrid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
@media (max-width:520px){ .gp-food-optgrid{ grid-template-columns: 1fr; } }
.gp-food-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  transition: transform .08s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.gp-food-btn:hover{
  border-color: rgba(0,206,200,0.55);
  box-shadow: 0 10px 18px rgba(0,0,0,0.25);
  transform: translateY(-1px);
}
.gp-food-btn.selected{
  border-color: rgba(0,206,200,0.9) !important;
  background: rgba(0,206,200,0.08) !important;
}
.gp-food-btn-txt{ font-weight: 900; }
.gp-food-btn-stack{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.05; }
.gp-food-btn-stack.center{ align-items:center; text-align:center; width:100%; }
.gp-food-btn-stack.center .gp-food-btn-sub{ text-align:center; }
.gp-food-btn-sub{
  display:block;
  font-size: 12px;
  line-height: 1.2;
  opacity: .8;
  margin-top: 2px;
}

.gp-food-check{ position:absolute; opacity:0; pointer-events:none; }
.gp-food-opt-ico{ width:22px; display:flex; align-items:center; justify-content:center; opacity:.55; }
.gp-food-opt.selected .gp-food-opt-ico{ opacity:1; }
.gp-food-opt-txt{ font-size:15px; font-weight:800; line-height:1.15; }

.gp-food-card-ico i{ font-size:22px; }

/* allergy UI */
.gp-allergy-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; margin-top:12px; }
.gp-allergy-btn{ position:relative; padding:14px 14px; border-radius:16px; background:#0f0f0f; border:1px solid rgba(255,255,255,0.14); color:#fff; font-weight:900; text-transform:lowercase; }
.gp-allergy-btn .gp-food-opt-ico{ width:22px; opacity:.0; transform: scale(.9); transition: opacity .12s ease, transform .12s ease; }
.gp-allergy-btn.selected .gp-food-opt-ico{ opacity:1; transform: scale(1); }
.gp-allergy-btn:hover{ border-color: rgba(0,206,200,0.55); box-shadow: 0 10px 18px rgba(0,0,0,0.25); transform: translateY(-1px); }


/* review / summary polish */
.gp-review-sec{ border-radius:18px; padding:16px 16px; }
.gp-sec-hdr{ margin-bottom:14px; }
.gp-sec-title{ font-size:34px; }
.gp-kv{ padding:10px 0; }
.gp-util-meta{ display:flex; flex-wrap:wrap; gap:10px; }
.gp-util-row{ align-items:center; }
.gp-util-icons{ flex:0 0 auto; min-width:74px; justify-content:flex-start; }
.gp-util-title{ font-size:24px; }
.gp-pill{ padding:9px 13px; }


/* terms + privacy consent */
.gp-tc-box{
  margin-top:12px;
  max-height:320px;
  overflow:auto;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:14px 14px 10px 14px;
  background: rgba(255,255,255,.03);
}
.gp-tc-h{
  font-weight:900;
  font-size:12px;
  letter-spacing:.16em;
  text-transform: lowercase;
  opacity:.9;
}
.gp-tc-box p{
  margin:10px 0;
  line-height:1.5;
  font-size:14px;
  opacity:.92;
}
.gp-tc-foot{
  margin-top:12px;
  font-size:12px;
  opacity:.7;
}

/* accepted file types */
.gp-accept{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
  opacity:.8;
}
.gp-accept-ico{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.gp-accept-ico i{ font-size:14px; opacity:.9; }

/* review polish */
.gp-review-card{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius:22px;
  padding:18px;
  margin-bottom:16px;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
.gp-review-card .gp-h2{ margin-bottom:10px; }
.gp-review-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
@media(min-width:720px){
  .gp-review-grid{ grid-template-columns: 1fr 1fr; }
}
.gp-review-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.gp-review-row:last-child{ border-bottom:0; }
.gp-review-k{ opacity:.75; font-weight:700; }
.gp-review-v{ font-weight:800; }

/* enhanced review sections */
.gp-review-sec{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius:22px;
  padding:18px;
  position:relative;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
.gp-review-sec .gp-sec-hdr{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.gp-review-sec .gp-sec-title{
  font-size:28px;
  font-weight:900;
  letter-spacing:-0.02em;
}
.gp-review-sec .gp-sec-body{
  margin-top:10px;
}
.gp-kv{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.gp-kv:last-child{ border-bottom:0; }
.gp-k{ opacity:.75; font-weight:800; }
.gp-v{ font-weight:900; }

/* food pantry review (more visual + chip-based) */
.gp-review-food .gp-review-top{ margin-bottom:14px; }
.gp-review-food .gp-review-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:30px;
  font-weight:900;
  letter-spacing:-0.02em;
}
.gp-review-food .gp-review-title i{ font-size:28px; opacity:.95; }
.gp-review-food .gp-review-sub{ margin-top:6px; opacity:.75; }

.gp-review-panels{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media(min-width:820px){
  .gp-review-panels{ grid-template-columns: 1fr 1fr; }
}

.gp-review-panel{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius:22px;
  padding:16px;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
.gp-review-panel.warn{ border-color: rgba(191,43,43,.35); }

/* subtle color accents per review card */
.gp-review-panel.tone-teal{ border-color: rgba(0,206,200,.22); background: rgba(0,206,200,.05); }
.gp-review-panel.tone-orange{ border-color: rgba(255,124,16,.22); background: rgba(255,124,16,.05); }
.gp-review-panel.tone-blue{ border-color: rgba(30,144,255,.20); background: rgba(30,144,255,.045); }
.gp-review-panel.tone-green{ border-color: rgba(140,172,51,.22); background: rgba(140,172,51,.05); }
.gp-review-panel.tone-red{ border-color: rgba(191,43,43,.22); background: rgba(191,43,43,.05); }
.gp-review-panel.tone-purple{ border-color: rgba(160,110,255,.20); background: rgba(160,110,255,.045); }

.gp-review-panel-h{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

/* review panels render edit buttons inline (not absolutely positioned) */
.gp-review-panel-h .gp-edit-btn{
  position: static;
  top: auto;
  right: auto;
  margin-left: auto;
}
.gp-review-panel-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:22px;
  font-weight:900;
  letter-spacing:-0.01em;
}
.gp-review-panel-title i{ font-size:20px; opacity:.95; }

.gp-review-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.gp-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,206,200,.35);
  background: rgba(0,206,200,.10);
  font-weight:800;
  letter-spacing:.2px;
  text-transform: lowercase;
}
.gp-chip.muted{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  opacity:.85;
}

.gp-review-doclist{ margin-top:10px; }
.gp-food-btn-stack .gp-food-btn-txt{ white-space:nowrap; }
.gp-food-btn-stack .gp-food-btn-sub{ margin-top:4px; }

.gp-examples{ display:grid; grid-template-columns: 18px 1fr; column-gap:10px; row-gap:8px; margin-top:10px; opacity:.95; }
.gp-ex-ico{ display:flex; align-items:center; justify-content:center; font-size:14px; opacity:.9; }
.gp-ex-txt{ font-size:13px; line-height:1.2; opacity:.85; }


/* doc examples sit in left column */
.gp-doc-left .gp-examples{ margin-top:10px; display:grid; grid-template-columns: 18px 1fr; gap: 6px 10px; align-items:start; }
.gp-doc-ex-label{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; opacity:.75; margin-top:10px; }
.gp-doc-left .gp-ex-txt{ opacity:.9; font-size: 12px; line-height: 1.25; }
.gp-doc-left .gp-ex-ico{ opacity:.95; }

.gp-doc-ex-link{
  display:inline-block;
  margin-top:10px;
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset: 3px;
  color: rgba(0,206,200,.95);
}
.gp-doc-ex-link:hover{ color: rgba(0,206,200,1); }

/* popup doc examples: larger icons, cards in a row with labels under */
.gp-examples.gp-examples-popup{
  margin-top:0;
  opacity:1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.gp-ex-card{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 14px 12px;
  text-align:center;
}
.gp-ex-card-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 34px;
  opacity: .95;
}
.gp-ex-card-txt{
  margin-top: 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  opacity: .9;
}
@media (max-width: 540px){
  .gp-examples.gp-examples-popup{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px){
  .gp-examples.gp-examples-popup{ grid-template-columns: 1fr; }
}


/* stability guide portal (front-end) */
.gp-trustee-portal .gp-card{ padding: 18px; }
.gp-portal-msg{ color: rgba(255,255,255,.9); font-size: 18px; font-weight: 800; }

/* theme-proof inputs + tables inside the stability guide portal */
.gp-trustee-portal input.gp-input,
.gp-trustee-portal select.gp-input,
.gp-trustee-portal textarea.gp-input{
  background: #0b0b0b !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
}
.gp-trustee-portal .gp-tp-table{
  background: #0b0b0b !important;
  color: rgba(255,255,255,.92) !important;
  border-radius: 16px;
  overflow: hidden;
}
.gp-trustee-portal .gp-tp-table,
.gp-trustee-portal .gp-tp-table th,
.gp-trustee-portal .gp-tp-table td,
.gp-trustee-portal .gp-tp-table tbody,
.gp-trustee-portal .gp-tp-table tbody tr{
  background: transparent !important;
  color: rgba(255,255,255,.92) !important;
}
.gp-trustee-portal .gp-tp-table tbody tr:nth-child(odd) td{ background: rgba(255,255,255,.03) !important; }
.gp-trustee-portal .gp-tp-table tbody tr:nth-child(even) td{ background: rgba(255,255,255,.015) !important; }
.gp-trustee-portal .gp-tp-table thead th{
  background: rgba(255,124,16,.16) !important;
  border-bottom-color: rgba(255,124,16,.28) !important;
}
.gp-trustee-portal .gp-tp-table thead th:first-child{ border-top-left-radius: 14px; }
.gp-trustee-portal .gp-tp-table thead th:last-child{ border-top-right-radius: 14px; }
.gp-trustee-portal .gp-tp-table td{ padding-top: 14px; padding-bottom: 14px; }

/* prevent tiny right-column buttons from wrapping like "sav e" */
.gp-trustee-portal .gp-doc-save{
  min-width: 110px;
  padding-left: 16px;
  padding-right: 16px;
  white-space: nowrap;
}

.gp-tp-head{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 6px 0 14px;
}

/* stability guide portal: process tracker */
.gp-tp-tracker{
  display:flex;
  gap: 10px;
  align-items: stretch;
  overflow-x: auto;
  padding: 6px 2px 10px;
  margin: 2px 0 14px;
  scrollbar-width: thin;
}

/* stability guide portal: process tracker (v2, large icons like guest tracker) */
.gp-tp-tracker2{
  display:flex;
  gap: 18px;
  align-items: flex-start;
  overflow-x: auto;
  padding: 6px 2px 14px;
  margin: 4px 0 18px;
  scrollbar-width: thin;
}
.gp-tp-step2{
  border: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  cursor: pointer;
  padding: 0;
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 110px;
}
.gp-tp-step2:active{ transform: translateY(1px); }
.gp-tp-ico2{
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 12px 22px rgba(0,0,0,.35);
}
/* Font Awesome often replaces <i> with <svg>. Force an explicit 32x32 icon. */
.gp-tp-ico2 i{ font-size: 32px; line-height: 1; }
.gp-tp-ico2 svg,
.gp-tp-ico2 .svg-inline--fa{
  width: 32px;
  height: 32px;
}
.gp-tp-ico2 .fa-duotone-group .fa-secondary{ opacity: 1; }
.gp-tp-count2{
  position:absolute;
  right: -8px;
  bottom: -8px;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 14px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.20);
}
.gp-tp-label2{
  font-weight: 900;
  font-size: 16px;
  opacity: .86;
  text-transform: lowercase;
}
.gp-tp-step2.active .gp-tp-ico2{
  border-color: rgba(255,124,16,.70);
  background: rgba(255,124,16,.10);
}
.gp-tp-step2.active .gp-tp-label2{ opacity: 1; }

/* tracker status coloring */
.gp-tp-step2.gp-status-submitted .gp-tp-ico2,
.gp-tp-step2.gp-status-in_review .gp-tp-ico2,
.gp-tp-step2.gp-status-meeting_set .gp-tp-ico2{
  border-color: rgba(255,170,42,.55);
  background: rgba(255,170,42,.10);
}
.gp-tp-step2.gp-status-submitted .gp-tp-ico2 i,
.gp-tp-step2.gp-status-in_review .gp-tp-ico2 i,
.gp-tp-step2.gp-status-meeting_set .gp-tp-ico2 i{ color: #ffaa2a; }

.gp-tp-step2.gp-status-needs_info .gp-tp-ico2,
.gp-tp-step2.gp-status-not_approved .gp-tp-ico2{
  border-color: rgba(191,43,43,.65);
  background: rgba(191,43,43,.12);
}
.gp-tp-step2.gp-status-needs_info .gp-tp-ico2 i,
.gp-tp-step2.gp-status-not_approved .gp-tp-ico2 i{ color: #bf2b2b; }

.gp-tp-step2.gp-status-approved .gp-tp-ico2{
  border-color: rgba(140,172,51,.65);
  background: rgba(140,172,51,.12);
}
.gp-tp-step2.gp-status-approved .gp-tp-ico2 i{ color: #8cac33; }

.gp-tp-step2.gp-status-closed .gp-tp-ico2{
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
}
.gp-tp-step2.gp-status-closed .gp-tp-ico2 i{ color: rgba(255,255,255,.55); }

.gp-tp-step2.gp-status-active .gp-tp-ico2{
  border-color: rgba(255,124,16,.55);
  background: rgba(255,124,16,.10);
}
.gp-tp-step2.gp-status-active .gp-tp-ico2 i{ color: #ff7c10; }

/* tracker count badge tint to match status (same colors, soft alpha) */
.gp-tp-step2.gp-status-submitted .gp-tp-count2,
.gp-tp-step2.gp-status-in_review .gp-tp-count2,
.gp-tp-step2.gp-status-meeting_set .gp-tp-count2{
  border-color: rgba(255,170,42,.55);
  background: rgba(255,170,42,.22);
}
.gp-tp-step2.gp-status-needs_info .gp-tp-count2,
.gp-tp-step2.gp-status-not_approved .gp-tp-count2{
  border-color: rgba(191,43,43,.65);
  background: rgba(191,43,43,.22);
}
.gp-tp-step2.gp-status-approved .gp-tp-count2{
  border-color: rgba(140,172,51,.65);
  background: rgba(140,172,51,.22);
}

/* stability guide portal: queue cards */
.gp-tp-grid{
  display:flex;
  flex-direction: column;
  gap: 12px;
  margin: 6px 0 18px;
}
.gp-tp-card{
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 20px;
  padding: 14px;
  display:grid;
  /* keep columns readable and prevent the theme from forcing weird word breaks */
  /* 5 cells in markup: id | guidepath | status | paired | updated */
  grid-template-columns: 220px minmax(200px, 1fr) 220px 160px 200px;
  gap: 18px;
  align-items: center;
  text-align: left;
  color: #fff;
  cursor: pointer;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.gp-tp-card:hover{ border-color: rgba(255,124,16,.45); background: rgba(255,124,16,.08); }
.gp-tp-card:active{ transform: translateY(1px); }
.gp-tp-card-a{ font-weight: 900; font-size: 18px; color: #ff7c10; letter-spacing: .3px; }
.gp-tp-card-b{
  font-weight: 900;
  opacity: .92;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
}
/* removed: .gp-tp-card-c */
.gp-tp-card-f{ opacity: .75; font-size: 12px; text-align: right; }
@media (max-width: 980px){
  .gp-tp-card{ grid-template-columns: 1fr; gap: 10px; }
  .gp-tp-card-f{ text-align: left; }
}
.gp-tp-step{
  display:flex;
  align-items:center;
  gap: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 10px 14px;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .08s ease, border-color .12s ease, background .12s ease;
}
.gp-tp-step:hover{ border-color: rgba(255,124,16,.55); background: rgba(255,124,16,.10); }
.gp-tp-step:active{ transform: translateY(1px); }
.gp-tp-step.active{ border-color: rgba(0,206,200,.55); box-shadow: 0 0 0 2px rgba(0,206,200,.14) inset; }
.gp-tp-step-ico{ display:inline-flex; align-items:center; justify-content:center; width: 18px; height: 18px; }
.gp-tp-step-ico i{ font-size: 16px; line-height: 1; }
.gp-tp-step-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 26px;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  font-size: 12px;
}
.gp-tp-step-label{ font-weight: 900; font-size: 12px; opacity: .92; text-transform: lowercase; }

/* stability guide portal: queue table */
.gp-trustee-portal .gp-tp-queue-table{
  width: 100%;
  border-collapse: collapse;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  overflow: hidden;
}
.gp-trustee-portal .gp-tp-queue-table thead{ background: rgba(255,124,16,.12); }
.gp-trustee-portal .gp-tp-queue-table tbody{ background: rgba(0,0,0,.18); }
.gp-trustee-portal .gp-tp-queue-table tr{ background: transparent; }
.gp-trustee-portal .gp-tp-queue-table tbody tr:nth-child(even){ background: rgba(255,255,255,.04); }
.gp-trustee-portal .gp-tp-queue-table th,
.gp-trustee-portal .gp-tp-queue-table td{
  text-align: left;
  padding: 12px 10px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  font-size: 13px;
}
.gp-trustee-portal .gp-tp-queue-table th{ font-size: 12px; opacity: .9; letter-spacing: .3px; }
.gp-trustee-portal .gp-tp-empty{ opacity: .85; }
.gp-tp-filters{ display:flex; gap:10px; align-items:center; flex-wrap: wrap; }
.gp-tp-search{ flex: 1; min-width: 220px; }

.gp-tp-list{ display:flex; flex-direction: column; gap: 12px; }
.gp-tp-row{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 14px;
  display:flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.gp-tp-click{ cursor:pointer; }
.gp-tp-click:hover{ border-color: rgba(255,124,16,.45); background: rgba(255,124,16,.08); }
.gp-tp-left{ display:flex; flex-direction: column; gap: 6px; min-width: 220px; }
.gp-tp-title{ font-weight: 900; font-size: 18px; letter-spacing: .2px; }
.gp-tp-sub{ font-size: 13px; opacity: .85; }
.gp-tp-right{ display:flex; gap: 10px; align-items:center; flex-wrap: wrap; justify-content:flex-end; }
.gp-pill{ border-radius: 999px; padding: 12px 20px; font-weight: 900; font-size: 14px; letter-spacing: .3px; border: 1px solid rgba(255,255,255,.18); background: rgba(0,0,0,.25); display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.gp-pill.teal{ border-color: rgba(0,206,200,.55); color: rgba(0,206,200,1); }
.gp-pill.orange{ border-color: rgba(255,170,42,.55); color: rgba(255,170,42,1); }
.gp-pill.red{ border-color: rgba(255,80,80,.55); color: rgba(255,80,80,1); }
.gp-pill.green{ border-color: rgba(132,233,132,.55); color: rgba(132,233,132,1); }

/* status pills (solid) */
.gp-pill-solid{ border: 0; color:#fff !important; }
.gp-pill-solid i, .gp-pill-solid svg{ color:#fff !important; }
.gp-pill-solid svg path, .gp-pill-solid svg .fa-primary, .gp-pill-solid svg .fa-secondary{ fill: currentColor !important; }
.gp-pill{ line-height: 1; }
.gp-pill i{ font-size: 18px; line-height: 1; }
.gp-pill svg{ width: 18px; height: 18px; flex: 0 0 18px; }
/* FontAwesome duotone defaults can make the secondary layer look like a ghost behind text.
   For status pills we want crisp, readable icons. */
.gp-pill-solid .fa-secondary{ opacity: 1 !important; }
.gp-pill-solid svg .fa-secondary{ opacity: 1 !important; }
.gp-pill-status-red{ background:#bf2b2b !important; }
.gp-pill-status-gold{ background:#ffaa2a !important; }
.gp-pill-status-green{ background:#8cac33 !important; }
.gp-pill-status-gray{ background:rgba(255,255,255,.18) !important; }

/* select wrapper with caret
   NOTE: do NOT hide the native select.
   Hiding it (opacity:0) makes dropdowns (e.g., birth month) appear missing.
*/
.gp-selectwrap{ position:relative; display:inline-flex; align-items:center; width:100%; }
.gp-selectpill{ min-height: 42px; }

/* guest dashboard */
.gp-gd-card{ border: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.18); border-radius: 18px; padding: 16px; margin-top: 12px; }
.gp-gd-card-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gp-gd-title{ font-weight: 900; font-size: 18px; letter-spacing: .2px; }
.gp-gd-top{ margin-bottom: 6px; }
.gp-gd-back{ margin-bottom: 10px; }
.gp-gd-section{ margin-top: 16px; }
.gp-gd-doc{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.10); border-radius: 14px; background: rgba(0,0,0,.14); margin-top: 10px; }
.gp-gd-doc-left{ font-weight: 800; }
.gp-gd-up{ display:flex; align-items:center; gap:10px; margin: 8px 0 14px 0; padding-left: 6px; }
.gp-gd-up .gp-btn{ padding: 12px 16px; border-radius: 16px; font-weight: 900; }
.gp-gd-up .gp-gd-filehint{ font-size: 13px; }
.gp-gd-time{ display:flex; gap:12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.gp-tp-link{
  color: rgba(255,255,255,.95);
  text-decoration:none;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.gp-tp-link:hover{ text-decoration: underline; text-underline-offset: 3px; }

.gp-tp-detail{ margin-top: 14px; }
.gp-tp-statusbar{ display:flex; justify-content:space-between; gap: 10px; align-items:center; flex-wrap:wrap; margin-top: 12px; padding: 10px 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.28); }
.gp-trustee-portal .gp-tp-statusbar .gp-input{ height: 40px; }
.gp-trustee-portal .gp-tp-statusbar #gp-tp-snap-reason{ min-width: 220px; }
.gp-trustee-portal .gp-doc-note{ min-width: 220px; }
.gp-tp-tabs{ display:flex; gap: 8px; margin: 10px 0 14px; flex-wrap:wrap; }
.gp-tp-tab{ cursor:pointer; border-radius: 999px; padding: 8px 12px; font-weight: 900; font-size: 12px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); opacity:.9; }
.gp-tp-tab.active{ border-color: rgba(0,206,200,.55); color: rgba(0,206,200,1); }
.gp-tp-table{ width:100%; border-collapse: collapse; }
.gp-trustee-portal .gp-tp-table{ background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; overflow:hidden; }
.gp-trustee-portal .gp-tp-table thead{ background: rgba(255,124,16,.12); }
.gp-trustee-portal .gp-tp-table tbody{ background: rgba(0,0,0,.18); }
.gp-trustee-portal .gp-tp-table tr{ background: transparent; }
.gp-trustee-portal .gp-tp-table tbody tr:nth-child(even){ background: rgba(255,255,255,.04); }
.gp-tp-table th, .gp-tp-table td{ text-align:left; padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.10); font-size: 13px; }
.gp-tp-table th{ font-size: 12px; opacity:.9; letter-spacing:.3px; }



/* stability guide portal: docs grid (replaces table for reliable layout) */
.gp-trustee-portal .gp-doc-grid,
.gp-guest-dashboard .gp-doc-grid{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  border-radius: 18px;
  overflow: hidden;
}
.gp-trustee-portal .gp-doc-grid-head,
.gp-trustee-portal .gp-doc-grid-row,
.gp-guest-dashboard .gp-doc-grid-head,
.gp-guest-dashboard .gp-doc-grid-row{
  display: grid;
  grid-template-columns: 220px 120px 260px 1fr 150px;
  gap: 12px;
  align-items: center;
}
.gp-trustee-portal .gp-doc-grid-head,
.gp-guest-dashboard .gp-doc-grid-head{
  background: rgba(255,124,16,.12);
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 900;
  opacity: .95;
}
.gp-trustee-portal .gp-doc-grid-row,
.gp-guest-dashboard .gp-doc-grid-row{
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.gp-trustee-portal .gp-doc-grid-row:nth-child(even),
.gp-guest-dashboard .gp-doc-grid-row:nth-child(even){
  background: rgba(255,255,255,.04);
}
.gp-trustee-portal .gp-doc-grid .c-doc, .gp-guest-dashboard .gp-doc-grid .c-doc{ font-weight: 800; }
.gp-trustee-portal .gp-doc-grid .c-file, .gp-guest-dashboard .gp-doc-grid .c-file{ display:flex; align-items:center; gap:8px; }
.gp-trustee-portal .gp-btn.gp-btn-mini, .gp-guest-dashboard .gp-btn.gp-btn-mini{ padding: 10px 14px; font-size: 14px; }
.gp-trustee-portal .gp-doc-note, .gp-guest-dashboard .gp-doc-note{ width: 100%; min-width: 0; }
.gp-trustee-portal .gp-doc-save, .gp-guest-dashboard .gp-doc-save{ white-space: nowrap; }

/* snapshot modal sizing (keep content in focus, prevent squish) */
.gp-trustee-portal .gp-tp-popup{ position: fixed; inset: 0; z-index: 99998; }
.gp-trustee-portal .gp-tp-popup-card{
  width: min(1100px, 94vw);
  max-height: 86vh;
  overflow: auto;
}

/* uncluttered status bar layout inside modal */
.gp-trustee-portal .gp-tp-statusbar{ align-items: stretch; }
.gp-trustee-portal .gp-tp-statusleft{ display:flex; align-items:center; gap:10px; }
.gp-trustee-portal .gp-tp-statusright{ display:flex; align-items:center; gap:10px; flex-wrap: wrap; justify-content:flex-end; }
.gp-trustee-portal #gp-tp-snap-wrap{ margin-right: 0; }

/* queue card: keep guidepath label from stacking */
.gp-tp-row .gp-tp-sub{ white-space: nowrap; }
.gp-tp-row .gp-tp-title{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* responsive docs grid */
@media (max-width: 980px){
  .gp-trustee-portal .gp-doc-grid-head,
  .gp-trustee-portal .gp-doc-grid-row,
.gp-guest-dashboard .gp-doc-grid-row{
    grid-template-columns: 1fr 110px 220px 1fr 120px;
  }
}
@media (max-width: 720px){
  .gp-trustee-portal .gp-doc-grid-head,
.gp-guest-dashboard .gp-doc-grid-head{ display:none; }
  .gp-trustee-portal .gp-doc-grid-row,
.gp-guest-dashboard .gp-doc-grid-row{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .gp-trustee-portal .gp-doc-grid-row .c-doc, .gp-guest-dashboard .gp-doc-grid-row .c-doc{ font-size: 16px; }
  .gp-trustee-portal .gp-doc-grid-row .c-act, .gp-guest-dashboard .gp-doc-grid-row .c-act{ display:flex; justify-content:flex-end; }
}

/* smooth loading overlay for stability guide portal */
.gp-loading-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 99999;
  animation: gpFadeIn .18s ease-out;
}
.gp-loading-dot{
  display:none !important;
}

.gp-loading-dot{display:none !important;}

@keyframes gpPulse{
  0%{ transform: scale(1); opacity: .9; }
  50%{ transform: scale(1.6); opacity: .55; }
  100%{ transform: scale(1); opacity: .9; }
}
@keyframes gpFadeIn{
  from{ opacity: 0; }
  to{ opacity: 1; }
}

/* ------------------------------
   stability guide portal: split layout (queue + detail)
------------------------------ */
/* stability guide portal split layout: use CSS grid so the two panels
   don't visually collide when the viewport is narrow. */
.gp-sg-split{
  display:grid;
  grid-template-columns: minmax(320px,520px) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.gp-sg-left{min-width:0;}
.gp-sg-right{min-width:0;}

@media (max-width: 980px){
  .gp-sg-split{ grid-template-columns: 1fr; }
}

/* SG portal queue cards must fit inside the left column (520px). The base
   gp-tp-card grid is wide (~1000px) for full-width layouts, so we override
   it here to a compact, readable card layout. */
.gp-sg-left .gp-tp-card{
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "a f"
    "b b"
    "d e";
  gap: 10px 12px;
}
.gp-sg-left .gp-tp-card-a{ grid-area: a; }
.gp-sg-left .gp-tp-card-b{ grid-area: b; }
.gp-sg-left .gp-tp-card-d{ grid-area: d; justify-self: start; }
.gp-sg-left .gp-tp-card-e{ grid-area: e; justify-self: end; }
.gp-sg-left .gp-tp-card-f{ grid-area: f; text-align: right; opacity: .65; font-size: 12px; }

@media (max-width: 980px){
  .gp-sg-left .gp-tp-card{
    grid-template-columns: 1fr;
    grid-template-areas:
      "a"
      "b"
      "d"
      "e"
      "f";
  }
  .gp-sg-left .gp-tp-card-f{ text-align: left; }
}
.gp-sg-placeholder{padding:18px;color:rgba(255,255,255,.72);font-size:18px;}
.gp-sg-detail{padding:16px;}
.gp-sg-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.gp-sg-detail-title{font-weight:900;font-size:22px;}
.gp-sg-detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* (removed old flexbox mobile rules; grid handles stacking now) */

/* SG portal option B: single-pane queue -> detail takeover */
.gp-sg-onepane{position:relative;}
.gp-sg-queue{max-width: 760px;}
.gp-sg-detailpage{max-width: 980px;}
.gp-sg-queue,.gp-sg-detailpage{margin:0 auto;}

.gp-tp-card-row1{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.gp-tp-card-row3{display:flex;align-items:center;justify-content:space-between;gap:12px;}

.gp-sg-detail-head{gap:12px;}
.gp-sg-detail-head .gp-sg-detail-title{flex:1;min-width:260px;}

@media (max-width: 780px){
  .gp-sg-queue,.gp-sg-detailpage{max-width: 100%;}
}

/* ------------------------------
   SGP redesign (match reference)
------------------------------ */
.gp-sgp{max-width:1100px;margin:0 auto;}

/* Full-width portals with safe edge padding (SGP + guidepath dashboard) */
.gp-sgp,
.gp-sgp,
.gp-guest-dashboard{
  /* Break out of theme containers so both pages match */
  width: 100vw !important;
  max-width: none !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 50px;
  padding-right: 50px;
  overflow-x: hidden;
}

.gp-sgp .gp-wrap,
.gp-guest-dashboard .gp-wrap{
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 900px){
  .gp-sgp,
  .gp-guest-dashboard{
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* top KPI groups (3 columns) */
.gp-sgp-top{margin: 8px 0 12px;}
.gp-sgp-kgroup3{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:18px;}
.gp-sgp-kgroup{
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.16);
  background: #292929;
  padding: 18px;
  box-shadow:
    0 18px 44px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.04);
}
.gp-sgp-kgroup:hover{
  box-shadow:
    0 22px 56px rgba(0,0,0,.62),
    inset 0 0 0 1px rgba(255,255,255,.06);
}
.gp-sgp-kpair{display:grid;grid-template-columns: repeat(2, minmax(0,1fr));gap:18px;margin-bottom:16px;}
.gp-sgp-kbox{
  border: 0;
  background: transparent;
  color: #fff;
  text-align:left;
  padding: 0;
  cursor:pointer;
}
.gp-sgp-kbox-sq{
  height: 120px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.45);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 10px;
}
.gp-sgp-kbox-sq i{font-size:52px;}

.gp-sgp-kbox-badge{
  width: 56px;height:56px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  font-weight: 900;font-size: 22px;
  margin: -18px 0 8px auto;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.55);
  color:#fff;
}

.gp-sgp-kbox-lab{
  font-weight: 900;
  font-size:15px;
  text-transform: lowercase;
  opacity: .95;
}

/* KPI label now lives inside the square (under icon) */
.gp-sgp-kbox-sq .gp-sgp-kbox-lab{
  margin: 0;
  line-height: 1.05;
  text-align: center;
}

/* focus transition when opening a snapshot (match guidepath dashboard feel) */
.gp-focus-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.42);
  backdrop-filter: blur(3px);
  z-index: 99990;
  animation: gpFadeIn .16s ease-out;
}
.gp-focus-enter{
  position: relative;
  z-index: 99991;
  animation: gpFocusIn .18s ease-out;
}
@keyframes gpFocusIn{
  from{ transform: translateY(10px) scale(.985); opacity: .0; }
  to{ transform: translateY(0) scale(1); opacity: 1; }
}

/* wide KPI buttons (bottom of each group) */
.gp-sgp-kwide{
  width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  color:#fff;
  padding: 14px 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  cursor:pointer;
}
.gp-sgp-kwide:active,.gp-sgp-kbox:active{transform: translateY(1px);}
 .gp-sgp-kwide-lab{font-weight:900;font-size:15px;text-transform:lowercase;opacity:.95;}
.gp-sgp-kwide-badge{
  width: 48px;height:48px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:20px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.55);
}

/* KPI pop */
.gp-sgp-kbox-sq{transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;}
.gp-sgp-kbox:hover .gp-sgp-kbox-sq{transform: translateY(-1px); box-shadow: 0 18px 46px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.06); border-color: rgba(255,255,255,.22);}
.gp-sgp-kwide{transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;}
.gp-sgp-kwide:hover{transform: translateY(-1px); box-shadow: 0 18px 46px rgba(0,0,0,.55); border-color: rgba(255,255,255,.22);}
.gp-sgp-kgroup.gp-tone-green{box-shadow: 0 18px 44px rgba(0,0,0,.55), 0 0 36px rgba(140,172,51,.10), inset 0 0 0 1px rgba(255,255,255,.04);}
.gp-sgp-kgroup.gp-tone-gold{box-shadow: 0 18px 44px rgba(0,0,0,.55), 0 0 36px rgba(255,170,42,.10), inset 0 0 0 1px rgba(255,255,255,.04);}
.gp-sgp-kgroup.gp-tone-red{box-shadow: 0 18px 44px rgba(0,0,0,.55), 0 0 36px rgba(191,43,43,.10), inset 0 0 0 1px rgba(255,255,255,.04);}

/* tones */
.gp-tone-green .gp-tone-green .gp-sgp-kbox-badge,.gp-tone-green .gp-sgp-kwide-badge{background:#8cac33;color:#fff;border-color:#8cac33;}
.gp-tone-gold  .gp-tone-gold  .gp-sgp-kbox-badge,.gp-tone-gold  .gp-sgp-kwide-badge{background:#ffaa2a;color:#fff;border-color:#ffaa2a;}
.gp-tone-red   .gp-tone-red   .gp-sgp-kbox-badge,.gp-tone-red   .gp-sgp-kwide-badge{background:#bf2b2b;color:#fff;border-color:#bf2b2b;}
.gp-tone-gray  .gp-tone-gray  .gp-sgp-kbox-badge,.gp-tone-gray  .gp-sgp-kwide-badge{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.26);}

/* filter bar */
.gp-sgp-filterbar{
  margin: 12px auto 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  padding: 18px;
}
.gp-sgp-filterbar-title{
  font-weight: 900;
  font-size: 20px;
  text-transform: lowercase;
  opacity: .95;
  text-align: center;
  margin-bottom: 12px;
}
.gp-sgp-filterbar-line{
  display:flex;
  flex-wrap: wrap;
  align-items:center;
  justify-content: center;
  gap: 12px;
}
.gp-sgp-bracket{
  position: relative;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
}
.gp-sgp-bracket:hover{
  border-color: rgba(255,124,16,.65);
  background: rgba(0,0,0,.50);
  box-shadow: 0 0 0 3px rgba(255,124,16,.10), 0 12px 28px rgba(0,0,0,.55);
}
.gp-sgp-bracket:focus-within{
  border-color: rgba(255,124,16,.95);
  background: rgba(0,0,0,.55);
  box-shadow: 0 0 0 4px rgba(255,124,16,.14), 0 16px 34px rgba(0,0,0,.60);
}
.gp-sgp-bracket.gp-has-caret{padding-right: 34px;}
.gp-sgp-bracket.gp-has-caret:after{
  content:'▾';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:16px;
  line-height:1;
  color:#ff7c10;
  opacity:.95;
}
.gp-sgp-brsel{
  border:0 !important;
  background: transparent !important;
  padding: 0 !important;
  min-width: 160px;
}
.gp-sgp-brsel, #gp-sg-status{font-size:15px !important; line-height:1.1;}
.gp-sgp-brsearch{min-width: 360px;flex: 1;}
.gp-sgp-brin{
  border:0 !important;
  background: transparent !important;
  padding: 0 !important;
  width: 100%;
}
.gp-sgp-filterbtn{min-width: 120px;}
.gp-sgp-filterbtn:hover{box-shadow:0 0 0 4px rgba(255,124,16,.12), 0 18px 34px rgba(0,0,0,.60); transform: translateY(-1px);} 
.gp-sgp-filterbtn:active{transform: translateY(0px); box-shadow:0 0 0 4px rgba(255,124,16,.18), 0 10px 18px rgba(0,0,0,.60);} 
.gp-sgp-resetbtn{
  height: 38.5px !important;
  min-height: 38.5px !important;
  padding: 6px 12px !important;
  border-radius: 14px;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .2px;
  text-transform: lowercase;
  background: rgba(255,124,16,.92) !important;
  border: 1px solid rgba(255,124,16,.95) !important;
  color: #fff !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.gp-sgp-resetbtn:hover{
  background: rgba(255,124,16,1) !important;
  box-shadow: 0 0 0 4px rgba(255,124,16,.16), 0 18px 34px rgba(0,0,0,.60);
  transform: translateY(-1px);
}


/* table */
.gp-sgp-table{margin-top: 8px;}

/* guest dashboard title */
.gp-dash-title{
  font-size:34px;
  font-weight:700;
  margin: 6px 0 30px 0;
  line-height: 1.1;
}
.gp-sgp-th2{
  display:grid;
  /* give guidepath column more room so labels like "utility assistance" don't truncate */
  grid-template-columns: 56px 1.4fr 1.4fr 1fr 1fr 0.9fr;
  gap: 14px;
  padding: 8px 10px;
  text-transform: lowercase;
  font-weight: 900;
  opacity: .95;
  font-size: 14px;
  line-height: 1;
}
.gp-sgp-th2 > div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


.gp-sgp-thead{display:grid;grid-template-columns:44px minmax(180px,240px) 1fr minmax(150px,190px) minmax(140px,170px) minmax(96px,120px);gap:16px;padding:0 14px 8px 14px;}
.gp-sgp-th{display:block;color:rgba(255,255,255,.9);font-size:14px;font-weight:900;line-height:1;text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;}
.gp-sgp-th-chk{padding:0;}

.gp-sgp-row{
  width:100%;
  border: 1px solid rgba(255,255,255,.14);
  background: #292929;
  border-radius: 22px;
  padding: 14px;
  display:grid;
  /* stability guide portal rows: checkbox + snapshot id + guidepath + status + stability guide + date */
  grid-template-columns: 44px 300px 220px 190px 170px 120px;
  gap: 16px;
  align-items:center;
  margin: 14px 0;
  cursor: pointer;
  text-align:left;
}

/* stability guide portal: keep everything aligned and prevent pill overlap */
.gp-trustee-portal .gp-sgp-row,
.gp-sgp .gp-sgp-row{
  box-sizing:border-box;
  overflow:hidden;
}

/* guest dashboard: keep rows strictly inside container (no overflow pills)
   and use flexible columns so the date/paired pills never drift off-canvas */
.gp-guest-dashboard .gp-sgp-row{
  box-sizing:border-box;
  overflow:hidden;
  grid-template-columns:
    44px
    minmax(180px, 240px)
    1fr
    minmax(150px, 190px)
    minmax(140px, 170px)
    minmax(96px, 120px);
}
.gp-guest-dashboard .gp-sgp-cell{min-width:0; overflow:hidden;}
.gp-guest-dashboard .gp-sgp-pill{min-height:62px; padding:14px 20px;}
.gp-guest-dashboard .gp-sgp-pill-date{
  min-width: 96px;
  white-space:nowrap;
}
.gp-sgp-row:hover{border-color:rgba(255,124,16,.45);background:rgba(255,124,16,.07);}
.gp-sgp-cell{min-width:0;}
.gp-sgp-cell-chk{
  display:flex;
  align-items:center;
  justify-content:center;
}
.gp-sgp-cell-chk input{
  width: 20px;height:20px;
  accent-color:#ff7c10;
  pointer-events:auto;
}
.gp-sgp-pill{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(0,0,0,.35);
  padding: 16px 26px;
  font-weight: 900;
  text-transform: lowercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size:15px;
  max-width:100%;
  min-height: 68px;
  display:flex;
  align-items:center;
}

/* SGP: distinguish snapshot vs subscription ids */
.gp-sgp-pill-tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  opacity:.7;
  margin-right:8px;
  letter-spacing:.04em;
}
.gp-sgp-pill-subid{
  background:#292929;
}
.gp-sgp-pill-path{font-size:15px; /* don't ellipsis guidepath names; let pill size to content within its (now wider) column */
  overflow: visible;
  text-overflow: clip;
  max-width: none;
}
.gp-sgp-pill-id{color:#ff7c10;font-size:15px !important;justify-content:center;border-color:rgba(255,124,16,.35);}
.gp-sgp-pill-guide{color:#00cec8;font-size:15px;justify-content:center;}
.gp-sgp-pill-status{font-size:15px;color:#ff7c10;border-color:rgba(255,124,16,.55);justify-content:center;}
.gp-sgp-pill-status.gp-tone-green{color:#8cac33;border-color:rgba(140,172,51,.40);}
.gp-sgp-pill-status.gp-tone-gold{color:#ffaa2a;border-color:rgba(255,170,42,.40);}
.gp-sgp-pill-status.gp-tone-red{color:#bf2b2b;border-color:rgba(191,43,43,.48);}
.gp-sgp-pill-status.gp-tone-gray{color:rgba(255,255,255,.70);border-color:rgba(255,255,255,.22);}
.gp-sgp-pill-date{
  border-radius: 18px;
  padding: 10px 14px;
  text-align:center;
  color:#ffffff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  white-space:normal;
}
.gp-sgp-date-d{font-weight:900;font-size:15px;line-height:1.1;}
.gp-sgp-date-t{font-weight:900;font-size:15px;opacity:.9;margin-top:2px;}

/* empty */
.gp-sgp-empty{opacity:.8;text-align:center;margin:18px 0;font-weight:800;}

/* responsive */
@media (max-width: 1120px){
  .gp-sgp-kgroup3{grid-template-columns: 1fr;gap:14px;}
  .gp-sgp-brsearch{min-width: 220px;}
}
@media (max-width: 760px){
  .gp-sgp-th2{display:none;}
  .gp-sgp-thead{display:none;}
  /* stack cells on mobile to avoid overflow */
  .gp-sgp-row{grid-template-columns: 44px 1fr;gap:10px;}
  .gp-sgp-cell-chk{justify-content:flex-start;}
  .gp-sgp-pill-date{text-align:left;}
}
  .gp-sgp-kpis3{grid-template-columns: 1fr;}
  .gp-sgp-tr{grid-template-columns: 1fr;gap:8px;}
  .gp-sgp-tr > div:nth-child(3)::before{content:'guest: ';opacity:.7;}
  .gp-sgp-tr > div:nth-child(4)::before{content:'guidepath: ';opacity:.7;}
  .gp-sgp-tr > div:nth-child(5)::before{content:'status: ';opacity:.7;}
  .gp-sgp-tr > div:nth-child(6)::before{content:'stability guide: ';opacity:.7;}
  .gp-sgp-tr > div:nth-child(7)::before{content:'submitted: ';opacity:.7;}
}


/* v0.9.155 tweaks */
.gp-sgp-kbox-sq svg,
.gp-sgp-kbox-sq i,
.gp-sgp-kbox-sq .svg-inline--fa{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  flex:0 0 42px !important;
  font-size:42px !important;
  line-height:42px !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
}
/* ensure fontawesome svg scales */
.gp-sgp-kbox-sq .svg-inline--fa{
  display:block;
}

/* some themes globally clamp svg size (e.g., 7.5px); force it inside KPI squares */
.gp-sgp-kbox-sq svg.svg-inline--fa,
.gp-sgp-kbox-sq svg[class*="svg-inline--fa"]{
  width:42px !important;
  height:42px !important;
}

/* row pills: left align and keep padding so text never kisses the edges */
button.gp-sgp-row .gp-sgp-cell{display:flex;align-items:center;}
button.gp-sgp-row .gp-sgp-pill{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
}
button.gp-sgp-row .gp-sgp-pill-date{
  justify-content:center;
  text-align:center;
}




/* guest dashboard: use compact pill-row summary instead of trustee-style statusbar */
.gp-guest-dashboard .gp-tp-sub,
.gp-guest-dashboard .gp-tp-statusbar { display:none !important; }

.gp-guest-dashboard .gp-gdash-line { margin-top: 10px; }
.gp-guest-dashboard .gp-sgp-table-single { margin-top: 0; }
.gp-guest-dashboard .gp-sgp-row-static { cursor: default; }
.gp-guest-dashboard .gp-sgp-row-static:hover { transform:none; box-shadow: none; }


/* v0.9.172: full-width layout for sgp + guest dashboard (centered max-width container) */
.gp-sgp, .gp-guest-dashboard { width: 100%; }
/* break out of theme narrow containers */
.gp-sgp-wrap, .gp-guest-dashboard-wrap, .gp-dashboard-wrap {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* keep content nicely centered */
.gp-sgp-inner, .gp-guest-dashboard-inner, .gp-dashboard-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}


/* v0.9.174: enforce full-width even if wrapper divs are missing */
.gp-guest-dashboard,
.gp-sgp{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* widen inner gp-wrap only inside portals (do NOT affect guest intake flow) */
.gp-guest-dashboard .gp-wrap,
.gp-sgp .gp-wrap{
  max-width: 1600px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* v0.9.178: make header + body widths match on SGP and guidepath dashboard */
/* Header/logo lives in .gp-wrap (outside .gp-sgp), so we must widen the shortcode wrapper. */
.gp-dashboard-wrap{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden;
}
.gp-dashboard-inner{
  width: 100% !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 50px !important;
  padding-right: 50px !important;
  box-sizing: border-box;
}
.gp-wrap.gp-trustee-portal,
.gp-wrap.gp-guest-dashboard{
  width: 100% !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 900px){
  .gp-dashboard-inner{padding-left:18px !important;padding-right:18px !important;}
}


/* v0.9.180: fix full-bleed double-application (was canceling inner padding) */
.gp-dashboard-inner .gp-guest-dashboard,
.gp-dashboard-inner .gp-trustee-portal,
.gp-dashboard-inner .gp-wrap.gp-guest-dashboard,
.gp-dashboard-inner .gp-wrap.gp-trustee-portal{
  width: 100% !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  /* cancel any previous full-bleed tricks */
  margin-top: 0;
}
.gp-dashboard-inner{ padding-top: 30px !important; padding-bottom: 30px !important; }
@media (max-width: 900px){
  .gp-dashboard-inner{ padding-top: 18px !important; padding-bottom: 18px !important; }
}

/* v0.9.181: ensure SGP and guest dashboard are identical width/layout inside dashboard wrapper */
.gp-dashboard-inner .gp-sgp,
.gp-dashboard-inner .gp-guest-dashboard{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}
/* remove any legacy constraint on sgp root */
.gp-sgp{max-width:none !important;}

/* new SGP filter panel layout (matches reference) */
.gp-sgp-filterpanel{
  margin: 12px auto 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: #292929;
  padding: 22px;
  display:flex;
  gap: 22px;
  align-items: stretch;
  justify-content: space-between;
}
.gp-sgp-fgrid{
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  align-content: start;
}
.gp-sgp-fitem{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 0;
}
.gp-sgp-ficon{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #fff;
  opacity: .95;
}
.gp-sgp-ficon .svg-inline--fa,
.gp-sgp-ficon i{
  font-size: 28px;
}
.gp-sgp-fright{
  width: 420px;
  max-width: 44%;
  display:flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
  justify-content: flex-start;
}
.gp-sgp-resetbig{
  width: 100%;
  height: 38.5px !important;
  line-height: 38.5px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap: 8px;
  font-weight: 900 !important;
  text-transform: lowercase;
  border-radius: 14px !important;
  padding: 0 10px !important;
  font-size: 14px !important;
}
.gp-sgp-resetbig .svg-inline--fa,
.gp-sgp-resetbig i{ font-size: 20px; }
.gp-sgp-brsearch2{
  width: 100%;
  min-width: 0;
  padding-left: 16px;
  padding-right: 16px;
  gap: 12px;
}
.gp-sgp-brsearch2 .svg-inline--fa,
.gp-sgp-brsearch2 i{ font-size: 24px; opacity:.85; }
.gp-sgp-brsearch2 input{ font-size: 18px !important; }
@media (max-width: 980px){
  .gp-sgp-filterpanel{ flex-direction: column; }
  .gp-sgp-fright{ width: 100%; max-width: none; }
  .gp-sgp-fgrid{ grid-template-columns: 1fr; }
}

/* v0.9.186 tweaks */
.gp-sgp-kbox-badge{
  color:#fff !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}
.gp-kpi-green .gp-sgp-kbox-badge{ background:#8cac33 !important; border-color:#8cac33 !important; }
.gp-kpi-gold  .gp-sgp-kbox-badge{ background:#ffaa2a !important; border-color:#ffaa2a !important; }
.gp-kpi-red   .gp-sgp-kbox-badge{ background:#bf2b2b !important; border-color:#bf2b2b !important; }


/* stronger select focus */
.gp-sgp-brsel:focus{outline:none !important;}


/* KPI square hover + selected states (more obvious) */
.gp-sgp-kbox-sq{ transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, filter .14s ease; }
.gp-sgp-kbox:hover .gp-sgp-kbox-sq{
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 26px 70px rgba(0,0,0,.70), inset 0 0 0 2px rgba(255,170,42,.22);
  border-color: rgba(255,170,42,.55) !important;
}
.gp-sgp-kpi.is-on .gp-sgp-kbox-sq{
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 28px 74px rgba(0,0,0,.75), 0 0 0 3px rgba(255,170,42,.55), inset 0 0 0 2px rgba(255,255,255,.08);
  border-color: rgba(255,170,42,.70) !important;
}
.gp-sgp-kpi.is-on .gp-sgp-kbox-sq i,
.gp-sgp-kpi.is-on .gp-sgp-kbox-sq svg{
  filter: drop-shadow(0 10px 16px rgba(255,170,42,.18));
}

/* KPI wide hover + selected */
.gp-sgp-kwide{ transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease; }
.gp-sgp-kwide:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 70px rgba(0,0,0,.70), inset 0 0 0 2px rgba(255,170,42,.18);
  border-color: rgba(255,170,42,.55) !important;
}
.gp-sgp-kpi.is-on.gp-sgp-kwide{
  transform: translateY(-1px);
  box-shadow: 0 28px 74px rgba(0,0,0,.75), 0 0 0 3px rgba(255,170,42,.55), inset 0 0 0 2px rgba(255,255,255,.08);
  border-color: rgba(255,170,42,.70) !important;
}


.gp-track-step.gp-track-clickable{ cursor:pointer; }
.gp-track-step.gp-track-clickable:hover .gp-track-label{ text-decoration:underline; }


/* 0.9.286 sgp polish */
.gp-trustee-portal .gp-card,
.gp-trustee-portal .gp-doc-grid-row,
.gp-guest-dashboard .gp-doc-grid-row{
  background:#000000;
}
.gp-trustee-portal .gp-doc-grid-row:nth-child(even),
.gp-guest-dashboard .gp-doc-grid-row:nth-child(even){
  background:#000000;
}
.gp-trustee-portal .gp-doc-grid-row.is-locked,
.gp-guest-dashboard .gp-doc-grid-row.is-locked{
  opacity:.88;
}
.gp-sg-detail-head2{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.gp-sg-detail-main{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.gp-sg-detail-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;opacity:.7;margin-bottom:4px;}
.gp-sg-detail-title2{font-weight:900;font-size:28px;line-height:1.05;}
.gp-sg-detail-sub2{margin-top:4px;opacity:.8;}
.gp-sg-summarycard{padding:18px !important;border-radius:18px !important;border-top:1px solid rgba(255,255,255,.10) !important;}
.gp-sg-summarygrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.gp-sg-stat{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 14px;background:rgba(0,0,0,.18);min-width:0;}
.gp-sg-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;opacity:.68;margin-bottom:6px;}
.gp-sg-stat-value{font-size:15px;font-weight:700;word-break:break-word;}
.gp-sg-editrow{display:grid;grid-template-columns:220px minmax(0,1fr) 150px;gap:12px;align-items:end;}
.gp-sg-editcell{min-width:0;}
.gp-sg-editselect{display:flex;align-items:center;height:52px;}
.gp-sg-editselect .gp-sgp-brsel{width:100%;min-width:0;padding-right:22px !important;}
.gp-sg-flash{margin-top:12px;padding:12px 14px;border-radius:14px;font-weight:700;}
.gp-sg-flash.is-ok{background:rgba(47,178,94,.16);border:1px solid rgba(47,178,94,.4);color:#d7ffe3;}
.gp-sg-flash.is-err{background:rgba(191,43,43,.18);border:1px solid rgba(191,43,43,.45);color:#ffd9d9;}
.gp-sg-locknote{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(255,124,16,.10);border:1px solid rgba(255,124,16,.24);color:#ffd7b5;font-weight:700;}
.gp-doc-reviewmeta{font-size:12px;opacity:.68;margin-top:4px;}
.gp-sg-pairme.is-hidden{display:none;}
.gp-btn.gp-btn-dark{background:#151515;border:1px solid rgba(255,255,255,.12);}
.gp-btn.gp-btn-dark:hover{background:#1d1d1d;}
#gp-sg-status,
#gp-sg-age,
#gp-sg-assigned,
#gp-sg-guidepath,
#gp-sg-snap-status{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:24px !important;}

@media (max-width: 920px){
  .gp-sg-summarygrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gp-sg-editrow{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .gp-sg-detail-title2{font-size:22px;}
  .gp-sg-summarygrid{grid-template-columns:1fr;}
}


/* 0.9.287 sgp header cleanup */
.gp-sg-detailpage, .gp-sg-detailpage .gp-card, .gp-sg-detailpage .gp-pill, .gp-sg-detailpage .gp-tab{ text-transform: lowercase; }
.gp-sg-backbtn{ width:auto; min-width: 260px; padding:18px 24px; border-radius:18px; box-shadow:0 16px 34px rgba(255,124,16,.28); }
.gp-sg-backbtn i{ font-size:1.35em !important; }
.gp-sg-detail-head2{align-items:center;}
.gp-sg-detail-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.gp-sg-statusline,.gp-sg-pairline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.gp-sg-inlinefilter{display:flex;flex-direction:column;gap:6px;min-width:200px;}
.gp-sg-inlinefilter .gp-sg-editselect{display:block;width:100%;}
.gp-sg-inlinefilter .gp-sgp-brsel{min-width:0;width:100%;}
.gp-sg-pairme-inline{width:auto;min-width:220px;flex:0 0 auto;padding:14px 18px;border-radius:16px;font-size:17px;box-shadow:0 12px 28px rgba(255,124,16,.22);}
.gp-sg-stat-pair .gp-pill,.gp-sg-stat-status .gp-pill{width:auto;}
.gp-sg-editrow{grid-template-columns:minmax(0,1fr) 170px;align-items:end;}
.gp-sg-editnote .gp-input{text-transform:lowercase;}
.gp-sg-stat-value{font-size:15px;font-weight:700;word-break:break-word;line-height:1.35;}
@media (max-width: 1120px){
  .gp-sg-summarygrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 860px){
  .gp-sg-statusline,.gp-sg-pairline{flex-direction:column;align-items:stretch;}
  .gp-sg-pairme-inline,.gp-sg-backbtn{width:100%;min-width:0;}
  .gp-sg-editrow{grid-template-columns:1fr;}
}

/* v0.9.290 alignment pass */
.gp-sg-detail-head2{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;}
.gp-sg-detail-main{display:contents;}
.gp-sg-backbtn{align-self:center;justify-self:start;}
.gp-sg-summarygrid{align-items:stretch;}
.gp-sg-stat{display:flex;flex-direction:column;justify-content:flex-start;height:100%;}
.gp-sg-stat-status .gp-sg-statusline{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:12px;align-items:end;}
.gp-sg-statuspill .gp-pill{width:100%;justify-content:center;}
.gp-sg-inlinefilter-inline{min-width:0;}
.gp-sg-inlinefilter-inline .gp-sg-inlinefilter-label{margin-bottom:6px;}
.gp-sg-inlinefilter-inline .gp-sg-editselect{height:auto;}
.gp-sg-inlinefilter-inline .gp-sgp-brsel{height:54px;}
.gp-sg-stat-pair .gp-sg-pairline{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;}
.gp-sg-stat-pair .gp-sg-stat-value .gp-pill{width:100%;justify-content:center;}
.gp-sg-pairme-inline{width:100%;min-width:0;}
.gp-sg-editrow{grid-template-columns:minmax(0,1fr) 180px;align-items:end;}
@media (max-width: 980px){
  .gp-sg-detail-head2{grid-template-columns:1fr;}
  .gp-sg-detail-main{display:flex;flex-direction:column;align-items:stretch;gap:14px;}
  .gp-sg-stat-status .gp-sg-statusline{grid-template-columns:1fr;}
}


/* v0.9.290 overlap + id pill fix */
.gp-sg-idpill{display:inline-flex;max-width:100%;justify-content:center;padding:12px 18px;}
.gp-sg-stat-value .gp-sg-idpill{width:100%;}
.gp-sg-stat-status .gp-sg-statusline{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.gp-sg-statuspill,.gp-sg-statuspill .gp-pill{display:flex;width:100%;max-width:100%;min-width:0;}
.gp-sg-statuspill .gp-pill{justify-content:center;overflow:hidden;}
.gp-sg-statuspill .gp-pill i,.gp-sg-statuspill .gp-pill svg{flex:0 0 auto;}
.gp-sg-inlinefilter-inline{width:100%;max-width:100%;}
.gp-sg-inlinefilter-inline .gp-sgp-bracket{display:flex;width:100%;max-width:100%;box-sizing:border-box;}
.gp-sg-inlinefilter-inline .gp-sgp-brsel{min-width:0;width:100%;}
.gp-sg-stat-pair .gp-sg-pairline{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.gp-sg-stat-pair .gp-sg-stat-value,.gp-sg-stat-pair .gp-sg-stat-value .gp-pill{width:100%;max-width:100%;}
.gp-sg-pairme-inline{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.15;}


/* v0.9.290 visual refinement pass */
.gp-sg-detailpage{padding-top:8px;}
.gp-sg-detail-head2{margin-bottom:18px;}
.gp-sg-detail-kicker{font-size:11px;letter-spacing:.18em;opacity:.64;}
.gp-sg-detail-title2{font-size:34px;line-height:1.0;letter-spacing:-.02em;}
.gp-sg-detail-sub2{font-size:18px;opacity:.82;}
.gp-sg-summarycard{padding:22px !important;border-radius:22px !important;background:linear-gradient(180deg, rgba(48,48,48,.96), rgba(41,41,41,.96));box-shadow:0 24px 56px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);}
.gp-sg-summarygrid{grid-template-columns:minmax(220px,1.05fr) minmax(320px,1.25fr) minmax(220px,.95fr) minmax(240px,1fr);gap:16px;margin-bottom:18px;}
.gp-sg-stat{padding:16px 18px;border-radius:20px;background:linear-gradient(180deg, rgba(28,28,28,.78), rgba(22,22,22,.48));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.gp-sg-stat-label{font-size:11px;letter-spacing:.16em;opacity:.62;margin-bottom:10px;}
.gp-sg-stat-value{font-size:16px;line-height:1.25;}
.gp-sg-idpill,.gp-sg-stat-pair .gp-pill,.gp-sg-statuspill .gp-pill{min-height:64px;border-radius:999px;padding:14px 20px;font-size:18px;}
.gp-sg-statusline{gap:14px;}
.gp-sg-subblock{display:flex;flex-direction:column;gap:8px;min-width:0;}
.gp-sg-mini-label{font-size:10px;letter-spacing:.16em;text-transform:lowercase;opacity:.58;padding-left:4px;}
.gp-sg-inlinefilter-inline .gp-sg-mini-label{margin-bottom:0;}
.gp-sg-inlinefilter-inline .gp-sgp-bracket{border-radius:999px;padding:10px 16px;background:rgba(0,0,0,.24);border-color:rgba(255,255,255,.12);}
.gp-sg-inlinefilter-inline .gp-sgp-brsel{height:52px;font-size:18px !important;background:transparent;}
.gp-sg-stat-pair .gp-sg-pairline{gap:14px;}
.gp-sg-pairme-inline{min-height:64px;border-radius:20px;font-size:16px;font-weight:900;}
.gp-sg-editrow{grid-template-columns:minmax(0,1fr) 190px;gap:16px;align-items:end;padding-top:4px;}
.gp-sg-editnote .gp-input{height:112px;border-radius:20px;font-size:18px;padding:0 22px;background:#050505;border:1px solid rgba(255,255,255,.12);}
.gp-sg-editaction .gp-btn{width:100%;min-height:112px;border-radius:20px;font-size:18px;box-shadow:0 16px 34px rgba(255,124,16,.24);}
.gp-sg-backbtn{min-height:76px;font-size:18px;}
@media (max-width:1180px){.gp-sg-summarygrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:860px){.gp-sg-summarygrid{grid-template-columns:1fr;}.gp-sg-editrow{grid-template-columns:1fr;}.gp-sg-editaction .gp-btn,.gp-sg-editnote .gp-input{min-height:64px;height:64px;}}


/* v0.9.291 sgp layout rescue */
.gp-sg-summarycard{overflow:hidden;}
.gp-sg-summarygrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.gp-sg-stat,
.gp-sg-stat *{box-sizing:border-box;}
.gp-sg-stat{min-width:0;max-width:100%;}
.gp-sg-statusline,
.gp-sg-pairline,
.gp-sg-subblock,
.gp-sg-inlinefilter,
.gp-sg-inlinefilter-inline,
.gp-sg-stat-value{min-width:0;max-width:100%;}
.gp-sg-statusline,
.gp-sg-pairline{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.gp-sg-statuspill,
.gp-sg-statuspill .gp-pill,
.gp-sg-idpill,
.gp-sg-stat-pair .gp-pill,
.gp-sg-pairme-inline,
.gp-sg-inlinefilter-inline .gp-sgp-bracket,
.gp-sg-inlinefilter-inline .gp-sgp-brsel{width:100%;max-width:100%;}
.gp-sg-idpill,
.gp-sg-statuspill .gp-pill,
.gp-sg-stat-pair .gp-pill{justify-content:flex-start;}
.gp-sg-pairme-inline{min-height:60px;padding:14px 18px;}
.gp-sg-inlinefilter-inline .gp-sgp-bracket{padding:8px 14px;}
.gp-sg-inlinefilter-inline .gp-sgp-brsel{height:50px;}
.gp-sg-editrow{grid-template-columns:minmax(0,1fr) 220px;gap:14px;}
.gp-sg-editnote .gp-input{height:96px;}
.gp-sg-editaction .gp-btn{min-height:96px;}
@media (max-width: 1280px){
  .gp-sg-summarygrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 820px){
  .gp-sg-detail-head2{grid-template-columns:1fr;}
  .gp-sg-summarygrid,
  .gp-sg-editrow{grid-template-columns:1fr;}
  .gp-sg-editnote .gp-input,
  .gp-sg-editaction .gp-btn{height:64px;min-height:64px;}
}


/* v0.9.292 typography tweaks */
.gp-sg-stat-value,
.gp-pill.gp-pill-gray.gp-sg-idpill,
.gp-pill.gp-pill-gold{
  font-size:14px !important;
}
.gp-doc-name{
  font-weight:700;
}
.gp-doc-reviewmeta{
  font-weight:700;
  color:#00cec8;
  opacity:1;
}


/* v0.9.298 sgp subscription/doc ui */
.gp-sg-summarygrid{grid-template-columns:repeat(3,minmax(0,1fr));}
.gp-sg-stat-subscription{gap:12px;}
.gp-sg-subpill{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;max-width:100%;padding:12px 18px;}
.gp-sg-subpill i,.gp-sg-subpill svg{flex:0 0 auto;}
.gp-doc-name{display:flex;flex-direction:column;gap:4px;font-weight:700;}
.gp-doc-namehead{display:flex;align-items:center;gap:8px;}
.gp-doc-typeicon{display:inline-flex;align-items:center;justify-content:center;width:22px;min-width:22px;color:#ff7c10;}
.gp-doc-nametext{display:inline-block;}
.gp-doc-grid-row .gp-link.gp-doc-view{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:999px;background:rgba(255,124,16,.12);border:1px solid rgba(255,124,16,.28);}
.gp-doc-grid-row .gp-link.gp-doc-view i,.gp-doc-grid-row .gp-link.gp-doc-view svg{font-size:16px;}
.gp-doc-reviewmeta{font-weight:700;color:#00cec8;opacity:1;}
@media (max-width: 1280px){.gp-sg-summarygrid{grid-template-columns:1fr;}}


/* 0.9.300 sg doc polish */
.gp-doc-typeicon{font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:24px;}
.gp-doc-grid-row .gp-pill{color:#fff !important;}
.gp-doc-grid-row .gp-pill i{color:inherit !important;}
.gp-doc-grid-row .gp-doc-reviewmeta{font-weight:700;color:#00cec8;opacity:1;}


/* v0.9.302 doc status filter pills */
.gp-doc-statusfilter{
  display:flex !important;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding-left:14px;
}
.gp-doc-statusfilter .gp-doc-statusicon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:16px;
  line-height:1;
  flex:0 0 auto;
}
.gp-doc-statusfilter .gp-sgp-brsel,
.gp-doc-statusfilter .gp-sgp-brsel option{
  color:#fff !important;
}
.gp-doc-statusfilter .gp-sgp-brsel{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
  outline:none !important;
  padding:0 28px 0 0 !important;
  min-width:0 !important;
  width:100% !important;
  height:auto !important;
  line-height:1.1 !important;
}
.gp-doc-statusfilter.is-red{background:#bf2b2b;border-color:#bf2b2b;}
.gp-doc-statusfilter.is-gold{background:#ffaa2a;border-color:#ffaa2a;}
.gp-doc-statusfilter.is-green{background:#8cac33;border-color:#8cac33;}
.gp-doc-statusfilter.gp-has-caret:after{color:#fff;}
.gp-doc-statusfilter:hover,
.gp-doc-statusfilter:focus-within{filter:brightness(1.04);box-shadow:0 0 0 3px rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.35);}


/* v0.9.304 fix doc status select inner black slab */
.gp-doc-statusfilter .gp-input.gp-sgp-brsel,
.gp-doc-statusfilter select.gp-input.gp-sgp-brsel{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  padding: 0 28px 0 0 !important;
}
.gp-doc-statusfilter .gp-input.gp-sgp-brsel:focus,
.gp-doc-statusfilter select.gp-input.gp-sgp-brsel:focus{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.gp-doc-statusfilter.gp-sgp-bracket,
.gp-doc-statusfilter{
  box-shadow: none;
}


/* v0.9.306 trustee card black */
.gp-pill.gp-pill-gray,
.gp-trustee-portal .gp-doc-save,
.gp-trustee-portal .gp-doc-note{
  font-size:14px !important;
}


.gp-wait-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:20px;}
.gp-wait-modal{width:min(420px,92vw);background:#111;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 18px 60px rgba(0,0,0,.45);padding:28px 24px;text-align:center;}
.gp-wait-spinner{font-size:34px;color:#ff7c10;line-height:1;margin-bottom:12px;}
.gp-wait-title{font-size:28px;font-weight:900;color:#fff;text-transform:lowercase;margin-bottom:6px;}
.gp-wait-sub{font-size:16px;font-weight:600;color:#d8d8d8;text-transform:lowercase;}
#gp-fv-submit.is-busy{opacity:.78;pointer-events:none;}

.gp-guest-dashboard .gp-doc-grid .gp-input[disabled]{opacity:1;background:rgba(0,0,0,.88);color:rgba(255,255,255,.82);}
.gp-guest-dashboard .gp-doc-grid .gp-doc-note{height:56px;border-radius:18px;}
