/* Promoter pages 2: Email Buyers, Survey results, the public promoter page, Calendar,
   Box Office Orders and the Box Office Settlement report. Scoped under .g2f-pp on the
   dark photo background with white cards. px units: the layout loads milligram
   (root font-size 62.5%). */

.container:has(> .g2f-pp) { max-width: 1320px !important; padding: 0 40px; background: transparent; border-radius: 0; }
body:has(.g2f-pp)::before,
body:has(.g2f-pp)::after {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 100vh;
    height: 100lvh;
    z-index: -1;
    pointer-events: none;
}
body:has(.g2f-pp)::before { background: #000 center top / cover no-repeat; background-image: inherit; }
body:has(.g2f-pp)::after { background: rgba(0, 0, 0, .62); }
body:has(.g2f-pp) > main.main { background-color: transparent !important; }

.g2f-pp {
    --pp-pink: #FA1068;
    --pp-ink: #111827;
    --pp-muted: #6b7280;
    --pp-line: #e8eaee;
    --pp-field: #d0d5dd;
    padding: 28px 0 56px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: var(--pp-ink);
}
.g2f-pp *, .g2f-pp *::before, .g2f-pp *::after { box-sizing: border-box; }
.g2f-pp [hidden] { display: none !important; }
.g2f-pp a { color: inherit; text-decoration: none; }
.g2f-pp p { margin: 0; }
.g2f-pp .message { margin: 0; }

/* ── Header ─────────────────────────────────────────────────────────── */
.g2f-pp__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.g2f-pp .g2f-pp__back { width: max-content; margin-bottom: 8px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #c8c8cc; }
.g2f-pp .g2f-pp__back:hover { color: #fff; }
.g2f-pp__back i { font-size: 12px; }
.g2f-pp .g2f-pp__title { margin: 0; font-family: Raleway, sans-serif; font-weight: 800; font-size: 30px; line-height: 1.15; letter-spacing: normal; color: #fff; }
.g2f-pp__sub { margin-top: 2px; font-size: 14px; color: #c8c8cc; }
.g2f-pp__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

.g2f-pp .g2f-pp__btn {
    height: 44px; margin: 0; padding: 0 18px; border: 1px solid var(--pp-pink); border-radius: 999px; background: var(--pp-pink);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font: inherit; font-size: 14px; font-weight: 700; line-height: 1; text-transform: none; letter-spacing: normal; color: #fff; text-decoration: none; white-space: nowrap; cursor: pointer;
}
.g2f-pp .g2f-pp__btn:hover { background: #e00d5d; border-color: #e00d5d; color: #fff; }
.g2f-pp .g2f-pp__btn:disabled { opacity: .55; cursor: not-allowed; }
.g2f-pp .g2f-pp__btn i { font-size: 12px; }
.g2f-pp .g2f-pp__btn--light { border-color: var(--pp-field); background: #fff; color: #374151; font-weight: 600; }
.g2f-pp .g2f-pp__btn--light:hover { border-color: var(--pp-field); background: #f9fafb; color: var(--pp-ink); }
.g2f-pp .g2f-pp__btn--sm { height: 36px; padding: 0 14px; font-size: 13px; }

/* ── Cards, stats, pills ────────────────────────────────────────────── */
.g2f-pp__panel { min-width: 0; background: #fff; border: 1px solid var(--pp-line); border-radius: 16px; }
.g2f-pp__panelhead { padding: 16px 20px; border-bottom: 1px solid #eef0f2; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.g2f-pp__panelhead h2 { margin: 0; font-family: Raleway, sans-serif; font-weight: 800; font-size: 19px; letter-spacing: normal; color: var(--pp-ink); }
.g2f-pp__panelhead h2.is-small { font-family: inherit; font-size: 16px; }
.g2f-pp__panelbody { padding: 18px 20px; display: flex; flex-direction: column; gap: 16px; }
.g2f-pp__panelfoot { padding: 14px 20px; border-top: 1px solid #eef0f2; border-radius: 0 0 16px 16px; background: #f9fafb; display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }

.g2f-pp__stats { display: grid; grid-template-columns: repeat(var(--pp-cols, 4), minmax(0, 1fr)); gap: 12px; }
.g2f-pp__stat { min-width: 0; padding: 14px 18px; background: #fff; border: 1px solid var(--pp-line); border-radius: 14px; }
.g2f-pp__stat span { display: block; font-size: 13px; font-weight: 600; color: var(--pp-muted); }
.g2f-pp__stat strong { display: block; font-family: Raleway, sans-serif; font-size: 28px; font-weight: 800; line-height: 1.25; color: var(--c, var(--pp-ink)); overflow-wrap: anywhere; }
.g2f-pp__stat small { display: block; font-size: 12px; color: var(--pp-muted); }

.g2f-pp__pill { padding: 2px 9px; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; white-space: nowrap; background: #f2f4f7; color: #344054; }
.g2f-pp__pill i { font-size: 10px; }
.g2f-pp__pill.is-green { background: #ecfdf3; color: #067647; }
.g2f-pp__pill.is-amber { background: #fffaeb; color: #b54708; }
.g2f-pp__pill.is-red { background: #fef3f2; color: #b42318; }
.g2f-pp__pill.is-blue { background: #eff8ff; color: #175cd3; }
.g2f-pp__pill.is-pink { background: #fdf2f6; color: #c0105a; }

.g2f-pp__muted { color: var(--pp-muted); }
.g2f-pp__note { font-size: 13px; color: var(--pp-muted); }
.g2f-pp__empty { padding: 44px 20px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; color: var(--pp-muted); }
.g2f-pp__empty i { margin-bottom: 6px; font-size: 26px; color: #d0d5dd; }
.g2f-pp__empty strong { color: var(--pp-ink); }

/* ── Fields ─────────────────────────────────────────────────────────── */
.g2f-pp__field { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.g2f-pp__label { font-size: 13px; font-weight: 600; color: #374151; }
.g2f-pp .g2f-pp__input,
.g2f-pp .g2f-pp__select {
    width: 100%; height: 46px; margin: 0; padding: 0 14px; border: 1px solid var(--pp-field); border-radius: 12px; background: #fff;
    font: inherit; font-size: 15px; color: var(--pp-ink); box-shadow: none;
}
.g2f-pp .g2f-pp__select { padding-right: 34px; }
.g2f-pp .g2f-pp__input:focus, .g2f-pp .g2f-pp__select:focus { outline: none; border-color: #f9a8c9; box-shadow: 0 0 0 3px rgba(250, 16, 104, .12); }
.g2f-pp__check { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 400; color: #374151; cursor: pointer; }
.g2f-pp__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--pp-pink); }

/* Toggle chips (ticket targets, tabs, quick filters) */
.g2f-pp__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.g2f-pp .g2f-pp__chip {
    height: 36px; margin: 0; padding: 0 14px; border: 1px solid var(--pp-field); border-radius: 999px; background: #fff;
    display: inline-flex; align-items: center; gap: 7px;
    font: inherit; font-size: 13px; font-weight: 600; line-height: 1; text-transform: none; letter-spacing: normal; color: #374151; white-space: nowrap; cursor: pointer;
}
.g2f-pp .g2f-pp__chip:hover { border-color: #f9a8c9; color: var(--pp-ink); }
.g2f-pp .g2f-pp__chip > i { font-size: 10px; }
.g2f-pp .g2f-pp__chip small { font-size: 13px; opacity: .7; }
.g2f-pp .g2f-pp__chip.is-on, .g2f-pp__chipbox input:checked + .g2f-pp__chip { border-color: var(--pp-pink); background: #fdf2f6; color: #c0105a; }
.g2f-pp .g2f-pp__chip.is-solid { border-color: var(--pp-pink); background: var(--pp-pink); color: #fff; }
.g2f-pp .g2f-pp__chip.is-solid small { opacity: .85; }
.g2f-pp__chipbox { position: relative; margin: 0; }
.g2f-pp__chipbox input { position: absolute; opacity: 0; pointer-events: none; }
.g2f-pp__chipbox input:focus-visible + .g2f-pp__chip { outline: 2px solid #f9a8c9; outline-offset: 2px; }
.g2f-pp__chipbox .fa-check { display: none; }
.g2f-pp__chipbox input:checked + .g2f-pp__chip .fa-plus { display: none; }
.g2f-pp__chipbox input:checked + .g2f-pp__chip .fa-check { display: inline; }

/* Filter bar (box office orders + settlement) */
.g2f-pp__filters { padding: 14px 18px; border-bottom: 1px solid #eef0f2; display: flex; flex-direction: column; gap: 10px; }
.g2f-pp__filterrow { display: grid; grid-template-columns: minmax(0, 1.4fr) 160px 160px minmax(0, 1fr) 150px auto; gap: 10px; align-items: end; }
.g2f-pp__filterrow.is-settle { grid-template-columns: 170px 170px minmax(0, 1fr) auto; }
.g2f-pp__filters .g2f-pp__input, .g2f-pp__filters .g2f-pp__select { height: 40px; border-color: #e5e7eb; border-radius: 10px; font-size: 14px; }
.g2f-pp__filters .g2f-pp__label { font-size: 12px; }
.g2f-pp__search { position: relative; }
.g2f-pp__search > i { position: absolute; left: 12px; bottom: 13px; font-size: 13px; color: #9ca3af; }
.g2f-pp__search .g2f-pp__input { padding-left: 34px; background: #f9fafb; }
.g2f-pp__quick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.g2f-pp__quick > span { margin-right: 4px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pp-muted); }
.g2f-pp__quick .g2f-pp__chip { height: 30px; padding: 0 12px; font-size: 12px; }

/* Grid rows */
.g2f-pp__scroll { overflow-x: auto; }
.g2f-pp__row { display: grid; grid-template-columns: var(--pp-cols); gap: 10px; align-items: center; padding: 11px 18px; border-bottom: 1px solid #f3f4f6; font-size: 14px; }
.g2f-pp__row > * { min-width: 0; }
.g2f-pp__row--head { padding-top: 0; padding-bottom: 0; height: 38px; background: #f9fafb; border-bottom-color: #eef0f2; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pp-muted); }
.g2f-pp .r { text-align: right; }
.g2f-pp__strong { font-weight: 800; }
.g2f-pp__ellip { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g2f-pp__sub2 { display: block; font-size: 12px; color: var(--pp-muted); }
.g2f-pp__acts { display: flex; justify-content: flex-end; gap: 2px; }
.g2f-pp .g2f-pp__icon { width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; color: #475467; cursor: pointer; }
.g2f-pp .g2f-pp__icon:hover { background: #f2f4f7; color: var(--pp-ink); }
.g2f-pp .g2f-pp__icon.is-danger:hover { background: #fef3f2; color: #b42318; }

.g2f-pp__pager { padding: 12px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--pp-muted); }
.g2f-pp__pager ul { margin: 0; padding: 0; list-style: none; display: flex; gap: 4px; flex-wrap: wrap; }
.g2f-pp__pager li { margin: 0; }
.g2f-pp__pager li > a, .g2f-pp__pager li > span { min-width: 32px; height: 32px; padding: 0 8px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-weight: 600; color: #374151; }
.g2f-pp__pager li > a:hover { background: #f2f4f7; }
.g2f-pp__pager .is-current { background: var(--pp-pink); color: #fff; }
.g2f-pp__pager .is-step { padding: 0 12px; border: 1px solid #e5e7eb; }
.g2f-pp__pager .is-disabled { color: #c4c8ce; }
.g2f-pp__pager i { font-size: 10px; }

/* Dialog */
.g2f-pp__modal { position: fixed; inset: 0; z-index: 1000; padding: 24px; background: rgba(0, 0, 0, .55); display: flex; align-items: center; justify-content: center; }
.g2f-pp__dialog { width: 100%; max-width: 760px; max-height: calc(100vh - 48px); background: #fff; border-radius: 16px; display: flex; flex-direction: column; overflow: hidden; }
.g2f-pp__dialog .g2f-pp__panelhead h2 { font-size: 17px; }
.g2f-pp__dialogbody { padding: 16px 20px; overflow: auto; display: flex; flex-direction: column; gap: 12px; }
.g2f-pp__frame { width: 100%; min-height: 420px; border: 1px solid #eef0f2; border-radius: 12px; background: #fff; }

/* ── Email Buyers ───────────────────────────────────────────────────── */
.g2f-pp__split { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 16px; align-items: start; }
.g2f-pp__reach { font-size: 13px; font-weight: 600; color: #067647; }
.g2f-pp__reach i { margin-right: 6px; }
.g2f-pp__editor { border: 1px solid var(--pp-field); border-radius: 12px; overflow: hidden; background: #fff; }
.g2f-pp__editor .ql-toolbar.ql-snow { border: 0; border-bottom: 1px solid #e5e7eb; background: #f9fafb; font-family: inherit; }
.g2f-pp__editor .ql-container.ql-snow { border: 0; min-height: 220px; font-family: inherit; font-size: 15px; }
.g2f-pp__editor .ql-editor { min-height: 220px; color: var(--pp-ink); }
.g2f-pp__hist { margin: 0; padding: 0; list-style: none; }
.g2f-pp__hist li { margin: 0; border-top: 1px solid #f3f4f6; }
.g2f-pp__hist li:first-child { border-top: 0; }
.g2f-pp .g2f-pp__histitem { width: 100%; padding: 12px 20px; display: flex; gap: 12px; align-items: center; text-align: left; color: var(--pp-ink); }
.g2f-pp .g2f-pp__histitem:hover { background: #fafafa; }
.g2f-pp .g2f-pp__histitem.is-active { background: #fdf7fa; }
.g2f-pp__histitem > span:first-child { flex: 1; min-width: 0; }
.g2f-pp__histitem strong { display: block; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g2f-pp__camp { margin: 0 12px 12px; border: 1px solid #eef0f2; border-radius: 12px; overflow: hidden; }
.g2f-pp__camphead { padding: 10px 14px; background: #f9fafb; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pp-muted); }
.g2f-pp__camphead button { text-transform: none; letter-spacing: normal; }
.g2f-pp__camprows { max-height: 360px; overflow: auto; }
.g2f-pp__camprow { display: grid; grid-template-columns: minmax(0, 1fr) 80px 76px; gap: 8px; padding: 8px 14px; border-top: 1px solid #f3f4f6; font-size: 13px; }
.g2f-pp__camprow > span:nth-child(2) { font-weight: 600; }
.g2f-pp__camprow > span:last-child { text-align: right; color: var(--pp-muted); }

/* ── Survey ─────────────────────────────────────────────────────────── */
.g2f-pp__split--survey { grid-template-columns: 420px minmax(0, 1fr); }
.g2f-pp__avg { padding: 12px 0; border-top: 1px solid #f3f4f6; display: flex; flex-direction: column; gap: 6px; }
.g2f-pp__avg:first-child { border-top: 0; padding-top: 0; }
.g2f-pp__avg > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.g2f-pp__avg strong { white-space: nowrap; }
.g2f-pp__avg strong i { margin-right: 4px; font-size: 12px; color: #f79009; }
.g2f-pp__meter { height: 6px; border-radius: 999px; background: #f2f4f7; overflow: hidden; }
.g2f-pp__meter > span { display: block; height: 100%; background: #f79009; }
.g2f-pp__score { font-weight: 800; }
.g2f-pp__score.is-good { color: #067647; }
.g2f-pp__score.is-mid { color: #b54708; }
.g2f-pp__score.is-low { color: #b42318; }
.g2f-pp__score.is-none { color: #9ca3af; font-weight: 600; }
.g2f-pp__row.is-pending { opacity: .55; }

/* ── Promoter page ──────────────────────────────────────────────────── */
.g2f-pp__hero { padding: 26px 28px; border-radius: 20px; background: #0b0b0c radial-gradient(circle at 90% 0%, rgba(250, 16, 104, .4), transparent 55%); color: #fff; display: flex; align-items: center; gap: 18px; }
.g2f-pp__avatar { width: 72px; height: 72px; flex: 0 0 72px; border-radius: 50%; background: var(--pp-pink); object-fit: cover; display: flex; align-items: center; justify-content: center; font-family: Raleway, sans-serif; font-size: 26px; font-weight: 800; color: #fff; }
.g2f-pp__herotext { flex: 1; min-width: 0; }
.g2f-pp .g2f-pp__herotext h1 { margin: 0; font-family: Raleway, sans-serif; font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: normal; color: #fff; }
.g2f-pp__herotext h1 i { margin-left: 6px; font-size: 18px; color: #2e90fa; }
.g2f-pp__herometa { font-size: 14px; color: #d1d5db; }
.g2f-pp__herocontact { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; }
.g2f-pp .g2f-pp__herocontact a { color: #d1d5db; }
.g2f-pp .g2f-pp__herocontact a:hover { color: #fff; }
.g2f-pp__herocontact i { margin-right: 6px; font-size: 12px; color: var(--pp-pink); }
.g2f-pp__qr { flex: none; padding: 8px; border-radius: 12px; background: #fff; text-align: center; font-size: 11px; font-weight: 700; color: var(--pp-ink); }
.g2f-pp__qr img { display: block; width: 84px; height: 84px; }
.g2f-pp .g2f-pp__btn.is-following { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .1); }
.g2f-pp__evgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.g2f-pp__ev { position: relative; min-width: 0; background: #fff; border: 1px solid var(--pp-line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.g2f-pp__ev.is-past { opacity: .82; }
.g2f-pp__evimg { position: relative; display: block; aspect-ratio: 4 / 5; background: #f2f4f7 center / cover no-repeat; }
.g2f-pp__evdate { position: absolute; top: 10px; left: 10px; padding: 3px 10px; border-radius: 999px; background: rgba(0, 0, 0, .72); font-size: 12px; font-weight: 700; color: #fff; }
.g2f-pp__evlive { position: absolute; top: 10px; right: 10px; padding: 3px 10px; border-radius: 999px; background: #079455; font-size: 12px; font-weight: 700; color: #fff; }
.g2f-pp__evbody { padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.g2f-pp__evbody > a { font-weight: 800; color: var(--pp-ink); }
.g2f-pp__evbody > a:hover { color: var(--pp-pink); }
.g2f-pp__evfoot { margin-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; }
.g2f-pp .g2f-pp__heart { width: 32px; height: 32px; margin: 0; padding: 0; border: 1px solid #eef0f2; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; color: #9ca3af; cursor: pointer; }
.g2f-pp .g2f-pp__heart.is-on { border-color: #fbcfe2; background: #fdf2f6; color: var(--pp-pink); }

/* ── Calendar ───────────────────────────────────────────────────────── */
.g2f-pp__calbar { padding: 14px 18px; border-bottom: 1px solid #eef0f2; display: flex; align-items: center; gap: 10px; }
.g2f-pp .g2f-pp__calnav { width: 38px; height: 38px; border: 1px solid var(--pp-field); border-radius: 10px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: #374151; }
.g2f-pp .g2f-pp__calnav:hover { background: #f9fafb; color: var(--pp-ink); }
.g2f-pp__calbar h2 { min-width: 200px; margin: 0; font-family: Raleway, sans-serif; font-size: 20px; font-weight: 800; text-align: center; letter-spacing: normal; color: var(--pp-ink); }
.g2f-pp__dow, .g2f-pp__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.g2f-pp__dow { background: #f9fafb; border-bottom: 1px solid #eef0f2; }
.g2f-pp__dow span { padding: 10px 12px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pp-muted); }
.g2f-pp__day { min-width: 0; min-height: 112px; padding: 8px; border-right: 1px solid #f3f4f6; border-bottom: 1px solid #f3f4f6; background: #fff; display: flex; flex-direction: column; gap: 4px; }
.g2f-pp__day:nth-child(7n) { border-right: 0; }
.g2f-pp__day.is-out { background: #fafafa; }
.g2f-pp__daynum { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--pp-ink); }
.g2f-pp__day.is-out .g2f-pp__daynum { color: #c4c8ce; }
.g2f-pp__day.is-today .g2f-pp__daynum { background: var(--pp-pink); color: #fff; }
.g2f-pp__daywk { display: none; }
.g2f-pp .g2f-pp__calev { padding: 4px 8px; border-radius: 8px; border-left: 3px solid var(--pp-pink); background: #fdf2f6; font-size: 12px; font-weight: 700; color: var(--pp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g2f-pp .g2f-pp__calev:hover { background: #fbe4ee; color: #c0105a; }
.g2f-pp__calmore > summary { list-style: none; font-size: 12px; font-weight: 700; color: #c0105a; cursor: pointer; }
.g2f-pp__calmore > summary::-webkit-details-marker { display: none; }
.g2f-pp__calmore[open] > summary { margin-bottom: 4px; }
.g2f-pp__calmore > div { display: flex; flex-direction: column; gap: 4px; }

/* ── Box office orders ──────────────────────────────────────────────── */
.g2f-pp__order { border-bottom: 1px solid #f3f4f6; }
.g2f-pp__order > summary { list-style: none; cursor: pointer; }
.g2f-pp__order > summary::-webkit-details-marker { display: none; }
.g2f-pp__order > summary .g2f-pp__row { border-bottom: 0; }
.g2f-pp__order > summary:hover .g2f-pp__row { background: #fafafa; }
.g2f-pp__order[open] > summary .g2f-pp__row { background: #fdf7fa; }
.g2f-pp__caret { font-size: 10px; color: #9ca3af; transition: transform .15s; }
.g2f-pp__order[open] .g2f-pp__caret { transform: rotate(90deg); }
.g2f-pp__tix { margin: 0 18px 12px 46px; border: 1px solid #eef0f2; border-radius: 12px; overflow: hidden; }
.g2f-pp__tix .g2f-pp__row { padding: 9px 14px; font-size: 13px; }
.g2f-pp__tix .g2f-pp__row:last-child { border-bottom: 0; }
.g2f-pp__flag { margin-left: 6px; font-size: 11px; font-weight: 700; }
.g2f-pp__flag.is-red { color: #b42318; }
.g2f-pp__flag.is-pink { color: #c0105a; }

/* ── Settlement report ──────────────────────────────────────────────── */
.g2f-pp__report { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.g2f-pp__report th, .g2f-pp__report td { padding: 10px 14px; border: 0 !important; border-bottom: 1px solid #f3f4f6 !important; text-align: left; vertical-align: top; }
.g2f-pp__report th:first-child, .g2f-pp__report td:first-child { padding-left: 18px; }
.g2f-pp__report th:last-child, .g2f-pp__report td:last-child { padding-right: 18px; }
.g2f-pp__report thead tr { background: #f9fafb; }
.g2f-pp__report thead th { height: 40px; padding-top: 0; padding-bottom: 0; vertical-align: middle; border-bottom: 1px solid #eef0f2; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pp-muted); }
.g2f-pp__report .r { text-align: right; white-space: nowrap; }
.g2f-pp__report .c { text-align: center; }
.g2f-pp__report small { display: block; font-size: 12px; }
/* Row colours sit on the <tr>: on the cells, fractional column widths leave hairline seams. */
.g2f-pp__report tr.is-event { background: #fdf7fa; }
.g2f-pp__report .is-event td { padding-top: 14px; border-top: 2px solid #f3d0df !important; }
.g2f-pp__report .is-event strong { font-family: Raleway, sans-serif; font-size: 16px; font-weight: 800; }
.g2f-pp__report .is-event .g2f-pp__sub2 { margin-top: 2px; }
.g2f-pp__report .is-agent td { font-weight: 700; }
.g2f-pp__report tr.is-total { background: #f9fafb; }
.g2f-pp__report .is-total td { font-weight: 700; }
.g2f-pp__report .is-less td { color: #b42318; }
.g2f-pp__report .is-plus td { color: #175cd3; }
.g2f-pp__report tr.is-subtotal { background: #ecfdf3; }
.g2f-pp__report .is-subtotal td { font-weight: 700; }
.g2f-pp__report tr.is-eventtotal { background: #d1fadf; }
.g2f-pp__report .is-eventtotal td { font-weight: 800; }
.g2f-pp__report .is-eventtotal small { font-weight: 400; }
.g2f-pp__report tr.is-grand { background: var(--pp-ink); }
.g2f-pp__report .is-grand td { font-size: 15px; font-weight: 800; color: #fff; }
.g2f-pp__report .is-card { color: #175cd3; }
.g2f-pp__remit { display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 16px; align-items: start; }
.g2f-pp__remit .g2f-pp__report td { font-weight: 600; }
.g2f-pp__printhead { display: none; }
.g2f-pp__foot { font-size: 12px; text-align: center; color: #c8c8cc; }
.g2f-pp .g2f-pp__foot a { color: #fff; text-decoration: underline; }

/* ── Refund all orders + print batch detail ─────────────────────────── */
.g2f-pp__titlerow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.g2f-pp__titlerow .g2f-pp__pill { font-size: 12px; font-weight: 700; padding: 3px 10px; }
.g2f-pp__mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
.g2f-pp .g2f-pp__btn--danger { border-color: #d92d20; background: #d92d20; }
.g2f-pp .g2f-pp__btn--danger:hover { border-color: #b42318; background: #b42318; }
.g2f-pp .g2f-pp__btn--danger:disabled { border-color: #f2a3a0; background: #f2a3a0; opacity: 1; }
.g2f-pp .g2f-pp__btn--dangerlight { border-color: #fecdca; color: #d92d20; }
.g2f-pp .g2f-pp__btn--dangerlight:hover { border-color: #fecdca; background: #fef3f2; color: #b42318; }
.g2f-pp__warn { border-color: #fecdca; overflow: hidden; }
.g2f-pp__warnhead { padding: 16px 20px; display: flex; gap: 14px; background: #fef3f2; border-bottom: 1px solid #fecdca; }
.g2f-pp__warnhead > span { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; background: #d92d20; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; }
.g2f-pp__warnhead strong { display: block; font-size: 16px; color: #b42318; }
.g2f-pp__warnhead p { font-size: 14px; color: #7a271a; }
.g2f-pp__willdo { margin: 0; padding: 16px 20px; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.g2f-pp__willdo li { margin: 0; padding-left: 20px; position: relative; font-size: 14px; color: #374151; }
.g2f-pp__willdo li::before { content: "\f056"; position: absolute; left: 0; top: 2px; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; color: #d92d20; }
.g2f-pp__confirm { padding: 16px 20px; display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.g2f-pp__confirm .g2f-pp__field { flex: 1; min-width: 240px; }
.g2f-pp__confirm .g2f-pp__input { max-width: 320px; }
.g2f-pp__stackcol { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.g2f-pp__cardtitle { margin: 0; font-family: inherit; font-size: 16px; font-weight: 800; letter-spacing: normal; color: var(--pp-ink); }
.g2f-pp__facts { margin: 0; padding: 4px 20px 8px; }
.g2f-pp__facts > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #f3f4f6; font-size: 14px; }
.g2f-pp__facts > div:first-child { border-top: 0; }
.g2f-pp__facts dt { font-weight: 400; color: var(--pp-muted); }
.g2f-pp__facts dd { margin: 0; min-width: 0; display: flex; align-items: center; gap: 6px; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.g2f-pp__swatch { width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(0, 0, 0, .1); display: inline-block; }
.g2f-pp__meter.is-green { height: 8px; }
.g2f-pp__meter.is-green > span { background: #17b26a; }
.g2f-pp__search--sm { width: 240px; }
.g2f-pp__search--sm > i { bottom: 11px; }
.g2f-pp__search--sm .g2f-pp__input { height: 36px; border-color: #e5e7eb; border-radius: 10px; font-size: 13px; }
@media (max-width: 860px) {
    .g2f-pp__willdo { grid-template-columns: minmax(0, 1fr); }
    .g2f-pp__split[style*="360px"] { grid-template-columns: minmax(0, 1fr) !important; }
    .g2f-pp__search--sm { width: 100%; }
}

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .g2f-pp__split { grid-template-columns: minmax(0, 1fr) 380px; }
    .g2f-pp__split--survey { grid-template-columns: minmax(0, 1fr); }
    .g2f-pp__evgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .g2f-pp__filterrow { grid-template-columns: minmax(0, 1fr) 150px 150px; }
    .g2f-pp__remit { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
    .container:has(> .g2f-pp) { padding: 0 16px; }
    .g2f-pp { padding-top: 20px; }
    .g2f-pp__head { flex-direction: column; align-items: stretch; gap: 12px; }
    .g2f-pp__actions { justify-content: flex-start; }
    .g2f-pp .g2f-pp__title { font-size: 26px; }
    .g2f-pp__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .g2f-pp__stat strong { font-size: 22px; }
    .g2f-pp__split { grid-template-columns: minmax(0, 1fr); }
    .g2f-pp__evgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .g2f-pp__hero { flex-wrap: wrap; gap: 14px; padding: 20px; }
    .g2f-pp__avatar { width: 56px; height: 56px; flex-basis: 56px; font-size: 20px; }
    .g2f-pp__herotext { flex: 1 1 calc(100% - 70px); }
    .g2f-pp .g2f-pp__herotext h1 { font-size: 22px; }
    .g2f-pp .g2f-pp__hero > .g2f-pp__btn { flex: 1 0 100%; }
    .g2f-pp__qr { display: none; }
    .g2f-pp__filterrow, .g2f-pp__filterrow.is-settle { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .g2f-pp__filterrow > .g2f-pp__search, .g2f-pp__filterrow > .is-wide { grid-column: 1 / -1; }
    .g2f-pp .g2f-pp__input, .g2f-pp .g2f-pp__select { font-size: 16px; }
    /* Calendar becomes a list of days that have events */
    .g2f-pp__dow { display: none; }
    .g2f-pp__days { grid-template-columns: minmax(0, 1fr); }
    .g2f-pp__day { min-height: 0; border-right: 0; flex-direction: row; flex-wrap: wrap; align-items: center; }
    .g2f-pp__day.is-out, .g2f-pp__day.is-free { display: none; }
    .g2f-pp__daywk { display: inline; margin-right: 4px; font-size: 13px; font-weight: 700; color: var(--pp-muted); }
    .g2f-pp__day .g2f-pp__daynum { width: auto; height: auto; background: none !important; color: var(--pp-muted) !important; }
    .g2f-pp__calbar { gap: 8px; }
    .g2f-pp__calbar h2 { min-width: 0; flex: 1; font-size: 18px; }
    .g2f-pp .g2f-pp__calnav { flex: none; }
    .g2f-pp__calbar > .g2f-pp__note, .g2f-pp__calbar > .g2f-pp__spacer { display: none; }
    .g2f-pp__day > .g2f-pp__calev, .g2f-pp__day > .g2f-pp__calmore { flex-basis: 100%; }
    .g2f-pp__tix { margin-left: 18px; }
}
@media (max-width: 520px) {
    .g2f-pp__evgrid { grid-template-columns: minmax(0, 1fr); }
    .g2f-pp__stats { gap: 8px; }
}

@media print {
    body:has(.g2f-pp) { background: #fff !important; }
    body:has(.g2f-pp)::before, body:has(.g2f-pp)::after { display: none; }
    body:has(.g2f-pp) > :not(main) { display: none !important; }
    .g2f-pp__stat, .g2f-pp__panel { box-shadow: none; }
    .g2f-pp { padding: 0; color: #000; }
    .g2f-pp .noprint, .g2f-pp .no-print { display: none !important; }
    .g2f-pp__printhead { display: block; margin-bottom: 12px; text-align: center; }
    .g2f-pp__printhead img { height: 50px; }
    .g2f-pp__printhead h1 { margin: 6px 0 2px; font-size: 20px; }
    .g2f-pp__panel { border: 0; }
    .g2f-pp__report { font-size: 11px; }
    .g2f-pp__report th, .g2f-pp__report td { padding: 5px 8px; }
    .g2f-pp__report tr { break-inside: avoid; }
    .g2f-pp__foot { color: #000; }
    .g2f-pp .g2f-pp__foot a { color: #000; }
}
