/* ============================================================================
   Plush74 Collections 2026 — CLIENT REQUEST / CHECKOUT flow + MEMBER respond
   Surface file — prefix `.p74cr-*`. Depends on collections-2026.css (the kit).
   Wave 2, lane E. Scoped under .p74cr-root / .p74cr-srl — never writes a bare
   .p74c__* rule. Square corners, flat (no shadow), editorial 1px #111 hairline,
   matches /find/ + /how-it-works/ + /sign-up/. Lime is accent-only; lime-button
   labels use var(--p74c-btn-on-lime) (= ink), never yellow text on dark.
   Surfaces:
     A) dashboard_requests_edit.php  — client request/checkout form (.p74cr-root)
     B) dashboard_requests.php       — client saved-requests list   (.p74cr-root)
     C) dashboard_requests_notifications_edit.php — member respond   (.p74cr-srl)
   ========================================================================= */

/* ---------------------------------------------------------------------------
   A + B) Client request form + saved-requests list  (root .p74cr-root)
   --------------------------------------------------------------------------- */
.p74cr-root{
    --p74cr-pad:clamp(18px,2vw,26px);
    max-width:1180px; margin:0 auto; padding:0 4px 64px;
    font-family:var(--p74c-font); color:var(--p74c-ink);
    -webkit-font-smoothing:antialiased;
    /* containing block for the daterangepicker popup (parentEl:'.p74cr-root'):
       static root made the absolute picker resolve against <body> while the
       plugin computed left against the root -> popup landed ~130px left of the
       DATES field at 1440. Relative root = offsets agree, popup anchors under
       the input. */
    position:relative;
}
.p74cr-root *{ box-sizing:border-box; }

/* page header */
.p74cr-head{ padding:30px 0 18px; border-bottom:1px solid var(--p74c-hair); margin-bottom:26px; }
.p74cr-eyebrow{
    font-size:11px; text-transform:uppercase; letter-spacing:.13em;
    color:var(--p74c-muted); margin:0 0 10px; font-weight:600;
}
.p74cr-title{
    font-family:var(--p74c-font-disp);
    font-size:clamp(26px,3.4vw,40px); line-height:1.04; letter-spacing:.01em;
    text-transform:uppercase; font-weight:700; margin:0; color:var(--p74c-ink);
}
.p74cr-lead{
    font-size:15px; line-height:1.55; color:var(--p74c-muted);
    margin:14px 0 0; max-width:660px;
}

/* alerts pass-through (the CI _form_messages output). MR-15 cousin: the
   bootstrap .row negative margins pushed the (empty) box past a 390 viewport —
   zero them inside the scope. */
.p74cr-root .alert_box_m{ margin:0 0 18px; }
.p74cr-root .alert_box_m.row{ margin-left:0; margin-right:0; }
.p74cr-root .alert_box_m:empty{ display:none; }
/* Validation summary: CI validation_errors() emits ONE theme banner per missing
   field (.alert-danger = full-width magenta bar, custom.css:12297) — a wall of
   pink. Collapse the stack into a single quiet hairline card; the .has-error
   field highlights below stay the primary cue. Card chrome sits on :has() so
   the whitespace-only empty box (which :empty misses) never draws a stray
   border on normal loads. */
.p74cr-root .alert_box_m:has(.alert){
    background:#fff; border:1px solid var(--p74c-ink);
    padding:16px 20px 14px; margin:26px 0 10px;
}
.p74cr-root .alert_box_m:has(.alert-danger)::before{
    content:"Please complete the required fields:";
    display:block; font-family:var(--p74c-font-disp);
    font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
    color:var(--p74c-ink); margin:0 0 10px;
}
.p74cr-root .alert_box_m .alert{
    background:none; border:0; border-radius:0; box-shadow:none; width:auto;
    color:var(--p74c-ink); font-size:14px; line-height:1.5; text-align:left;
    padding:3px 0 3px 16px; margin:0; position:relative; font-weight:400;
}
.p74cr-root .alert_box_m .alert::before{
    content:""; position:absolute; left:0; top:9px; width:6px; height:6px;
    background:var(--p74c-red);
}
.p74cr-root .alert_box_m .alert-success::before{ background:var(--p74c-lime-d); }

/* ---- 3-step checkout rail (REVIEW -> DETAILS -> CONFIRMED) -----------------
   A slim numbered rail so the client always knows where they are in checkout.
   Pure CSS/JS step toggle over the SAME single <form> — no extra submit, no
   field re-parenting (every input name kept 1:1). Steps are sibling panels;
   the rail buttons just show/hide them client-side. Square, flat, lime-on-now.
   --------------------------------------------------------------------------- */
.p74cr-steprail{
    display:flex; gap:0; border:1px solid var(--p74c-hair); margin:0 0 30px;
    background:var(--p74c-paper);
}
/* CK-5: (0,3,0) so BOTH the <button> steps (the kit .p74c-reset strips their UA
   outset chrome at (0,2,1)) and the <span> step share the exact same recipe —
   ONE hairline between segments, no UA borders, no doubled rules. */
.p74cr-root .p74cr-steprail .p74cr-step{
    flex:1 1 0; display:flex; align-items:center; gap:11px; min-width:0;
    padding:14px 16px; border:0; border-right:1px solid var(--p74c-hair);
    background:var(--p74c-paper); color:var(--p74c-muted); cursor:default;
    text-align:left; appearance:none; -webkit-appearance:none; font-family:var(--p74c-font);
    border-radius:0; transition:background .15s,color .15s;
}
.p74cr-root .p74cr-steprail .p74cr-step:last-child{ border-right:0; }
.p74cr-step-num{
    flex:0 0 26px; width:26px; height:26px; border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:12px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums;
}
.p74cr-step-txt{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.p74cr-step-k{
    font-family:var(--p74c-font-disp); font-size:11px; font-weight:700;
    text-transform:uppercase; letter-spacing:.07em; line-height:1.1;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.p74cr-step-d{
    font-size:10px; color:var(--p74c-faint); text-transform:uppercase; letter-spacing:.05em;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* clickable only when allowed to jump back (JS adds .is-clickable) */
.p74cr-step.is-clickable{ cursor:pointer; }
.p74cr-step.is-clickable:hover{ background:var(--p74c-soft); }
/* current step — ink number block, ink text */
.p74cr-step.is-on{ color:var(--p74c-ink); }
.p74cr-step.is-on .p74cr-step-num{ background:var(--p74c-ink); color:var(--p74c-paper); border-color:var(--p74c-ink); }
.p74cr-step.is-on .p74cr-step-d{ color:var(--p74c-muted); }
/* completed step — lime tick block, ink text */
.p74cr-step.is-done{ color:var(--p74c-ink); }
.p74cr-step.is-done .p74cr-step-num{ background:var(--p74c-lime); color:var(--p74c-btn-on-lime); border-color:var(--p74c-line); }
.p74cr-step.is-done .p74cr-step-num::after{ content:"\2713"; }
.p74cr-step.is-done .p74cr-step-num span{ display:none; }

/* step panels — only the active one shows */
.p74cr-steppanel{ display:none; }
.p74cr-steppanel.is-active{ display:block; }

/* review-step intro line + per-step nav row */
.p74cr-stepnav{
    margin-top:30px; padding-top:24px; border-top:1px solid var(--p74c-hair);
    display:flex; gap:12px; align-items:center; flex-wrap:wrap;
}
.p74cr-stepnav-spacer{ flex:1 1 auto; }
.p74cr-stepnav .p74cr-count{
    font-size:12px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.05em;
}
/* CK-7: send cluster — button + one-line "what happens next" note under it */
.p74cr-sendwrap{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.p74cr-sendnote{
    font-size:11px; color:var(--p74c-faint); line-height:1.4;
    text-transform:none; letter-spacing:0;
}

@media (max-width:760px){
    .p74cr-steprail{ flex-direction:column; }
    .p74cr-root .p74cr-steprail .p74cr-step{ border-right:0; border-bottom:1px solid var(--p74c-hair); }
    .p74cr-root .p74cr-steprail .p74cr-step:last-child{ border-bottom:0; }
    .p74cr-step-d{ white-space:normal; }
    .p74cr-stepnav{ flex-direction:column-reverse; align-items:stretch; }
    .p74cr-stepnav .p74c__btn{ width:100%; }
    .p74cr-stepnav-spacer{ display:none; }
    .p74cr-stepnav .p74cr-count{ text-align:center; }
    /* iOS: 16px inputs stop focus-zoom; >=44px tap targets. (0,5,0): the base
       15px/40px re-tune below is (0,4,0)+!important and LATER in source — equal
       specificity lost on source order, so this must outrank it, not tie it. */
    .p74cr-root .p74c-quiet.p74c-quiet.p74c-quiet.p74c-quiet{ font-size:16px !important; min-height:44px !important; }
    .p74cr-sendwrap{ width:100%; align-items:stretch; }
    .p74cr-sendnote{ text-align:center; }
}

/* ---- sectioned form -------------------------------------------------------- */
.p74cr-section{ margin:0 0 8px; padding:0 0 6px; }
/* ONE hairline between bands (DL) — was the mixed-gray --p74c-line-2 */
.p74cr-section + .p74cr-section{ border-top:1px solid var(--p74c-hair); padding-top:28px; }
.p74cr-section-head{
    font-family:var(--p74c-font-disp);
    font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:700;
    color:var(--p74c-ink); margin:0 0 4px;
}
.p74cr-section-sub{
    font-size:12px; color:var(--p74c-muted); margin:0 0 22px; line-height:1.5;
}

/* field grid */
.p74cr-grid{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 32px;
}
.p74cr-grid--full{ grid-template-columns:1fr; }
.p74cr-field{ display:flex; flex-direction:column; min-width:0; }
.p74cr-field--wide{ grid-column:1 / -1; }
.p74cr-label{
    font-size:11px; text-transform:uppercase; letter-spacing:.1em;
    color:var(--p74c-muted); font-weight:600; margin:0 0 8px;
}
.p74cr-req{ color:var(--p74c-ink); }

/* ---- CK-6: ONE field chrome — the kit quiet field --------------------------
   Every input/select/textarea in the form now carries .p74c-quiet (markup), so
   the kit owns rest/hover/focus (transparent bg, ONE --p74c-hair underline,
   constant border = zero focus layout-shift, ink box + lime ring on focus;
   [readonly] auto-reads as plain text). This block only RE-TUNES kit props for
   this client-facing surface (documented (0,4,0)+!important pattern) and keeps
   the daterangepicker shell plumbing. The old competing underline recipe
   (mixed 16px/41px/47px chromes, 1px→2px focus shift = CK-15) is deleted. */
.p74cr-root .p74c-quiet.p74c-quiet.p74c-quiet{
    width:100%;
    font-size:15px !important;      /* client form reads a step larger than the 13px staff ledger */
    min-height:40px;
    padding:7px 2px !important;
}
/* read-only auto-filled fields (producer / email) — plain text + muted */
.p74cr-field--ro input{ color:var(--p74c-muted); cursor:default; }
.p74cr-rosuf{
    font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
    color:var(--p74c-faint); margin-left:6px;
}

/* textarea — quiet, but tall enough for a brief */
.p74cr-root textarea.p74c-quiet.p74c-quiet.p74c-quiet{
    min-height:130px; line-height:1.55; resize:vertical;
}

/* date-range field — keep the bootstrap-daterangepicker plumbing, restyle the shell.
   Round-2 edge-clip fix: the collapsed .input-group-addon shrank to ~4px while the
   14px glyphicon glyph is anchored to the addon's LEFT edge and overflowed ~10px to
   the RIGHT — past the field edge at every width, and past the 390 viewport edge on
   mobile (glyph right 394 vs vw 390 → the calendar icon was clipped). Give the addon
   a fixed 16px box that CONTAINS + centres the glyph, inset it 8px, and clear the
   input's right padding to match, so the whole icon sits inside the field's right
   padding at every viewport. */
.p74cr-root .input-group.date{ position:relative; display:block; width:100%; }
.p74cr-root .input-group.date .input-group-addon{
    position:absolute; right:8px; top:50%; transform:translateY(-50%);
    width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center;
    background:transparent; border:0; padding:0; margin:0; color:var(--p74c-muted);
    pointer-events:none; overflow:hidden;
}
.p74cr-root .input-group.date .input-group-addon .glyphicon{ font-size:14px; line-height:1; top:0; }
.p74cr-root .input-group.date .form-control{ padding-right:30px !important; }

/* error state on the field — outranks the kit hairline ((0,5,0) + !important) */
.p74cr-root .p74cr-field.has-error .p74c-quiet.p74c-quiet.p74c-quiet{
    border-bottom-color:var(--p74c-red) !important;
}
.p74cr-root .p74cr-field.has-error .p74cr-label{ color:var(--p74c-red); }

/* ---- CK-1/CK-17: daterangepicker popup — skinned into the system -----------
   The picker is parented into .p74cr-root (parentEl in the init), so this
   cannot leak to other surfaces. Square, ink frame, lime range, kit buttons. */
.p74cr-root .daterangepicker{
    border:1px solid var(--p74c-ink); border-radius:0; box-shadow:none;
    font-family:var(--p74c-font); color:var(--p74c-ink);
}
.p74cr-root .daterangepicker::before,
.p74cr-root .daterangepicker::after{ display:none; }
.p74cr-root .daterangepicker .calendar-table{ border:0; border-radius:0; }
.p74cr-root .daterangepicker th.month{
    font-family:var(--p74c-font-disp); font-size:12px; font-weight:700;
    text-transform:uppercase; letter-spacing:.05em;
}
.p74cr-root .daterangepicker td, .p74cr-root .daterangepicker th{ border-radius:0; }
.p74cr-root .daterangepicker td.available:hover,
.p74cr-root .daterangepicker th.available:hover{ background:var(--p74c-soft); border-radius:0; }
.p74cr-root .daterangepicker td.in-range{ background:var(--p74c-lime); color:var(--p74c-ink); }
.p74cr-root .daterangepicker td.active,
.p74cr-root .daterangepicker td.active:hover{ background:var(--p74c-ink); color:var(--p74c-paper); }
.p74cr-root .daterangepicker td.off{ background:transparent; color:var(--p74c-faint); }
.p74cr-root .daterangepicker .drp-selected{ font-size:12px; color:var(--p74c-muted); }
.p74cr-root .daterangepicker .drp-buttons{ border-top:1px solid var(--p74c-hair); }
.p74cr-root .daterangepicker .drp-buttons .btn{
    display:inline-flex; align-items:center; justify-content:center;
    height:32px; padding:0 14px; margin-left:8px; border-radius:0; box-shadow:none;
    font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
    cursor:pointer; transition:background .15s,color .15s;
}
.p74cr-root .daterangepicker .drp-buttons .cancelBtn{
    background:var(--p74c-paper); color:var(--p74c-ink); border:1px solid var(--p74c-line);
}
.p74cr-root .daterangepicker .drp-buttons .cancelBtn:hover{ background:var(--p74c-soft); }
.p74cr-root .daterangepicker .drp-buttons .applyBtn{
    background:var(--p74c-lime); color:var(--p74c-btn-on-lime); border:1px solid var(--p74c-line);
}
.p74cr-root .daterangepicker .drp-buttons .applyBtn:hover{ background:var(--p74c-lime-d); }

/* ---- attached listings = photo cards -------------------------------------- */
/* Per-card frames + a gap (round-3 polish): the old fused container-border
   grid (border-top/left on the wrap + border-right/bottom per card) drew an
   L-shaped phantom cell whenever the last row was partial (e.g. 4 cards @ 3
   cols → the lone card left a large half-framed empty box across the remaining
   two columns). Each card now carries its OWN full frame and the gap keeps a
   partial row as clean whitespace beside the lone card — no trailing empty
   framed cell, robust at 3/2/1 columns. */
.p74cr-listings{
    display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
    margin-top:4px;
}
@media (max-width:900px){ .p74cr-listings{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:560px){ .p74cr-listings{ grid-template-columns:1fr; gap:16px; } }
.p74cr-lcard{
    position:relative; display:flex; flex-direction:column;
    border:1px solid var(--p74c-line);
    background:var(--p74c-paper);
}
.p74cr-lcard.is-off{ opacity:.45; }
.p74cr-lcard-img{
    position:relative; aspect-ratio:528/309; background:var(--p74c-soft2); overflow:hidden;
    display:block;
}
.p74cr-lcard-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.p74cr-lcard-id{
    position:absolute; top:10px; left:10px; z-index:2;
    background:var(--p74c-ink); color:var(--p74c-paper);
    font-size:10px; font-weight:700; letter-spacing:.06em; padding:3px 8px; text-transform:uppercase;
}
.p74cr-lcard-secret{
    position:absolute; top:10px; right:10px; z-index:2;
    background:var(--p74c-paper); color:var(--p74c-ink); border:1px solid var(--p74c-line);
    font-size:9px; font-weight:700; letter-spacing:.06em; padding:3px 7px; text-transform:uppercase;
}
.p74cr-lcard-body{ padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px; flex:1; }
.p74cr-lcard-name{
    font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.005em;
    line-height:1.25; color:var(--p74c-ink); text-decoration:none;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.p74cr-lcard-name:hover{ color:#444; }
.p74cr-lcard-addr{ font-size:11px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.04em; }
.p74cr-lcard-addr a{ color:var(--p74c-muted); text-decoration:underline; }
.p74cr-lcard-addr a:hover{ color:var(--p74c-ink); }

/* include/exclude toggle — replaces the raw bootstrap checkbox */
.p74cr-toggle{
    margin-top:auto; display:flex; align-items:center; gap:9px; cursor:pointer;
    padding-top:10px; border-top:1px solid var(--p74c-line-2);
    font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
    color:var(--p74c-muted); user-select:none;
}
.p74cr-toggle input{ position:absolute; opacity:0; width:0; height:0; }
.p74cr-toggle-box{
    width:18px; height:18px; border:1px solid var(--p74c-line); background:var(--p74c-paper);
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 18px;
}
.p74cr-toggle-box::after{ content:""; }
.p74cr-toggle input:checked + .p74cr-toggle-box{ background:var(--p74c-lime); }
.p74cr-toggle input:checked + .p74cr-toggle-box::after{
    content:"\2713"; font-size:12px; line-height:1; color:var(--p74c-btn-on-lime); font-weight:900;
}
.p74cr-toggle input:checked ~ .p74cr-toggle-txt{ color:var(--p74c-ink); }
.p74cr-toggle-txt-on{ display:none; }
.p74cr-toggle input:checked ~ .p74cr-toggle-txt .p74cr-toggle-txt-off{ display:none; }
.p74cr-toggle input:checked ~ .p74cr-toggle-txt .p74cr-toggle-txt-on{ display:inline; }

/* ---- pricing note (quiet inline sentence — CK-13: no box, no grey fill) ---- */
.p74cr-pricenote{
    margin:26px 0 0; padding:0;
    border:0; background:transparent;
    font-size:13px; line-height:1.55; color:var(--p74c-muted);
    text-transform:none; letter-spacing:0;
}
.p74cr-pricenote a{ color:var(--p74c-ink); font-weight:600; text-decoration:none;
    background:linear-gradient(var(--p74c-lime),var(--p74c-lime)) bottom/100% .42em no-repeat;
    padding:0 1px; transition:background-size .15s; }
.p74cr-pricenote a:hover{ background-size:100% 100%; }

/* ---- action bar (Back / Send) --------------------------------------------- */
.p74cr-actions{
    margin-top:34px; padding-top:24px; border-top:1px solid var(--p74c-line);
    display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap;
}
/* the kit button family is reused via .p74c__btn--* in markup; keep them square */

/* ---- success / thank-you state -------------------------------------------- */
.p74cr-done{
    max-width:560px; margin:48px auto; padding:44px 36px; text-align:center;
    border:1px solid var(--p74c-line); background:var(--p74c-paper);
}
.p74cr-done-mark{
    width:54px; height:54px; margin:0 auto 22px; border:2px solid var(--p74c-ink);
    display:flex; align-items:center; justify-content:center; font-size:26px; line-height:1;
    background:var(--p74c-lime); color:var(--p74c-btn-on-lime);
}
.p74cr-done h2{
    font-family:var(--p74c-font-disp); font-size:22px; text-transform:uppercase;
    letter-spacing:.02em; margin:0 0 12px; font-weight:700;
}
.p74cr-done p{ font-size:14px; line-height:1.6; color:var(--p74c-muted); margin:0 0 26px; }
.p74cr-done-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---- saved-requests list (B) ---------------------------------------------- */
.p74cr-listbar{
    display:flex; align-items:center; gap:14px; flex-wrap:wrap;
    margin-bottom:0; padding-bottom:18px;
}
.p74cr-listbar-spacer{ flex:1 1 auto; }
.p74cr-reqlist{ border-top:1px solid var(--p74c-line); }
.p74cr-reqrow{
    display:flex; align-items:center; gap:16px; padding:16px 4px;
    border-bottom:1px solid var(--p74c-line-2); text-decoration:none; color:inherit;
}
.p74cr-reqrow:hover{ background:var(--p74c-soft); }
.p74cr-reqrow-main{ flex:1 1 auto; min-width:0; }
.p74cr-reqrow-title{
    font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.01em;
    color:var(--p74c-ink); margin:0 0 4px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.p74cr-reqrow-meta{
    font-size:12px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.04em;
    display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.p74cr-reqrow-actions{ display:flex; gap:8px; align-items:center; flex:0 0 auto; }
.p74cr-empty{
    padding:48px 16px; text-align:center; color:var(--p74c-faint); font-size:14px;
    border:1px solid var(--p74c-line-2); margin-top:18px;
}

/* ---- saved-requests DataTable -> kit list ---------------------------------
   The list is server-rendered by the ownlisting_datatablerequests AJAX (column
   contract kept verbatim: # / email / project / category / Open / Delete). We
   only RESTYLE the table to read as a clean editorial hairline list: kill the
   bordered Excel ledger, hide the responsive expand column (we keep all data
   columns visible so nothing collapses into the green "+"), and re-skin the
   Bootstrap btn-success/btn-danger action links into the universal .p74c__btn
   language. Square, flat, lime-on-hover, 1px ink hairline rows. */
.p74cr-root #din-table{
    border-collapse:collapse; width:100%; font-size:13px;
    border:0; border-top:1px solid var(--p74c-hair); margin:0;
}
.p74cr-root #din-table thead th{
    font-size:10px; text-transform:uppercase; letter-spacing:.07em; font-weight:700;
    color:var(--p74c-ink); background:var(--p74c-paper);
    /* !important: the kit .p74c-reset flattens thead th borders; we re-draw OUR one hairline */
    border:0 !important; border-bottom:1px solid var(--p74c-hair) !important;
    padding:11px 14px; text-align:left; white-space:nowrap;
}
.p74cr-root #din-table tbody td{
    padding:14px; border:0; border-bottom:1px solid var(--p74c-hair);
    vertical-align:middle; color:var(--p74c-ink); background:transparent;
}
/* CK-11: the email cell reads as an email, not SHOUTED smallcaps */
.p74cr-root #din-table tbody td:nth-child(3){ text-transform:none; letter-spacing:0; color:var(--p74c-muted); }

/* ---- legacy .table_bookm !important neutralizer ----------------------------
   custom.css:11730 forces `font-size:17px !important; text-transform:uppercase`
   on every cell (the "email uppercased/mangled" bug) and custom-media.css:620
   forces 10px !important on mobile — both at (1,4,3)+!important, which beat
   every plain .p74cr-root rule above. This block re-states the type hierarchy
   at (1,5,2)+ so it wins outright. */
.page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td{
    font-size:13px !important; text-transform:none; font-weight:400; color:var(--p74c-ink);
}
.page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td.label_xs{
    font-size:12px !important; color:var(--p74c-muted);
}
/* project name = the row's title */
.page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(4){
    font-size:14px !important; font-weight:700; text-transform:uppercase; letter-spacing:.01em;
}
/* email + category quiet */
.page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(3){
    text-transform:none; letter-spacing:0; color:var(--p74c-muted);
}
.page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(5){
    font-size:11px !important; text-transform:uppercase; color:var(--p74c-muted);
}
.p74cr-root #din-table tbody tr{ transition:background .12s; }
/* kill any zebra/odd-even banding (table-striped + DataTables stripe) — owner
   rule #1 (pure paper, no grey bands). Rows are flat paper, hover only. */
.p74cr-root #din-table.table-striped > tbody > tr:nth-of-type(odd),
.p74cr-root #din-table tbody tr.odd,
.p74cr-root #din-table tbody tr.even,
.p74cr-root #din-table tbody tr:nth-of-type(odd),
.p74cr-root #din-table tbody tr:nth-of-type(even){ background:var(--p74c-paper); }
.p74cr-root #din-table.table-striped > tbody > tr:nth-of-type(odd) > td,
.p74cr-root #din-table tbody tr.odd > td,
.p74cr-root #din-table tbody tr.even > td{ background:transparent; }
.p74cr-root #din-table tbody tr:hover,
.p74cr-root #din-table tbody tr.odd:hover,
.p74cr-root #din-table tbody tr.even:hover{ background:var(--p74c-soft); }
.p74cr-root #din-table.dataTable.no-footer{ border-bottom:1px solid var(--p74c-hair); }
/* the legacy table_border_first class draws a vertical hairline after the # column
   — custom.css:11371 paints `border-right:1px solid #000 !important` on
   td:nth-child(2) (the # cell; td:first-child is the collapsed details-control col)
   plus a 2px outer frame on .table_border_first itself. Both break the flat-row
   rhythm; null them so the list reads as clean horizontal hairlines only (CHK-3).
   ID-scoped (#din-table) so it outranks the !important theme rule. */
.p74cr-root #din-table.table_border_first > tbody > tr > td:nth-child(2),
.p74cr-root #din-table.table_border_first > tfoot > tr > td:nth-child(2),
.p74cr-root #din-table.table_border_first td:first-child,
.p74cr-root #din-table.table_border_first th:first-child{ border-right:0 !important; }
.p74cr-root #din-table.table_border_first{ border:0 !important; border-top:1px solid var(--p74c-hair) !important; }
/* the # cell reads as a small-caps ID label */
.p74cr-root #din-table td.label_xs{
    font-family:var(--p74c-font-disp); font-weight:700; letter-spacing:.04em;
    color:var(--p74c-muted); width:90px; white-space:nowrap;
}
/* "Sent" pill the controller appends after the id */
.p74cr-root #din-table td.label_xs .label-success{
    display:inline-block; background:var(--p74c-lime); color:var(--p74c-ink);
    border:1px solid var(--p74c-line); border-radius:0; padding:2px 7px;
    font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-left:6px;
}
/* project name reads as the row title */
.p74cr-root #din-table tbody td:nth-child(4){ font-weight:700; text-transform:uppercase; letter-spacing:.01em; }
/* Open + Delete Bootstrap links -> universal kit buttons */
.p74cr-root #din-table a.btn,
.p74cr-root #din-table a.btn-success,
.p74cr-root #din-table a.btn-danger,
.p74cr-root #din-table a.delete_button{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    height:30px; padding:0 12px; border:1px solid var(--p74c-line); border-radius:0;
    background:var(--p74c-paper); color:var(--p74c-ink); text-decoration:none;
    font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
    white-space:nowrap; transition:background .15s,color .15s; box-shadow:none; text-shadow:none;
}
.p74cr-root #din-table a.btn-success:hover{ background:var(--p74c-lime); color:var(--p74c-ink); }
.p74cr-root #din-table a.btn-danger,
.p74cr-root #din-table a.delete_button{ color:var(--p74c-muted); }
.p74cr-root #din-table a.btn-danger:hover,
.p74cr-root #din-table a.delete_button:hover{ background:var(--p74c-red); color:var(--p74c-paper); border-color:var(--p74c-red); }
.p74cr-root #din-table a.btn .glyphicon{ font-size:10px; }
/* hide the responsive expand column so columns stay flat (we keep them all visible) */
.p74cr-root #din-table td.details-control,
.p74cr-root #din-table th.details-control,
.p74cr-root #din-table td.dtr-control,
.p74cr-root #din-table th.dtr-control{ width:0 !important; min-width:0 !important; max-width:0 !important; padding:0 !important; background:none !important; }
.p74cr-root #din-table.collapsed td.details-control:before,
.p74cr-root #din-table.collapsed td.dtr-control:before{ display:none !important; }
/* DataTables chrome: filter / length / pagination -> square kit controls */
.p74cr-root .dataTables_filter input{ border:1px solid var(--p74c-line); border-radius:0; padding:7px 10px; font-size:13px; box-shadow:none; }
.p74cr-root .dataTables_length select{ border:1px solid var(--p74c-line); border-radius:0; padding:6px; }
.p74cr-root .dataTables_filter label,
.p74cr-root .dataTables_length label,
.p74cr-root .dataTables_info{ font-size:12px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.04em; }
.p74cr-root .dataTables_paginate .paginate_button{
    border-radius:0 !important; border:1px solid var(--p74c-line) !important; margin:0 -1px 0 0 !important;
    color:var(--p74c-ink) !important; background:var(--p74c-paper) !important; box-shadow:none !important;
    font-size:12px; min-width:34px; padding:6px 10px !important;
}
.p74cr-root .dataTables_paginate .paginate_button:hover{ background:var(--p74c-lime) !important; color:var(--p74c-ink) !important; }
.p74cr-root .dataTables_paginate .paginate_button.current{ background:var(--p74c-ink) !important; color:var(--p74c-paper) !important; border-color:var(--p74c-ink) !important; }
.p74cr-root .dataTables_paginate .paginate_button.disabled{ color:var(--p74c-faint) !important; background:var(--p74c-paper) !important; }
/* the empty-table message reads as the kit empty state */
.p74cr-root #din-table td.dataTables_empty{
    padding:48px 16px; text-align:center; color:var(--p74c-faint); font-size:14px; border-bottom:0;
}
/* the table sits inside a hairline frame */
.p74cr-root .box.box-without-bottom-padding{ border:0; box-shadow:none; padding:0; }
.p74cr-root .tableWrap{ border:0; }

/* responsive */
@media (max-width:760px){
    .p74cr-grid{ grid-template-columns:1fr; gap:22px; }
    .p74cr-actions{ flex-direction:column-reverse; }
    .p74cr-actions .p74c__btn{ width:100%; }
    .p74cr-reqrow{ flex-direction:column; align-items:flex-start; }
    .p74cr-reqrow-actions{ width:100%; }

    /* ---- CK-2: requests list — rows collapse to stacked CARDS ---------------
       The 608px fixed table + overflow-x:hidden wrapper made EDIT/DELETE
       physically unreachable at 390. CSS-only restructure (the DataTables AJAX
       contract + markup are untouched): each <tr> becomes a block card —
       project name = title, id/email/category = meta lines, Open/Delete =
       full-height tap targets on their own row. */
    .p74cr-root #din-table{ display:block; width:100% !important; border-top:1px solid var(--p74c-hair); }
    .p74cr-root #din-table thead{ display:none; }
    .p74cr-root #din-table tbody{ display:block; width:100%; }
    .p74cr-root #din-table tbody tr{ display:block; width:100%; padding:16px 2px 18px; border-bottom:1px solid var(--p74c-hair); }
    .p74cr-root #din-table tbody tr:hover{ background:transparent; }
    .p74cr-root #din-table tbody td{
        display:block; width:auto !important; border:0 !important; padding:0;
        white-space:normal; text-align:left; background:transparent;
    }
    /* hide the dead expander cell */
    .p74cr-root #din-table tbody td:first-child{ display:none; }
    /* # id — small muted eyebrow (keeps the "Sent" pill inline).
       (1,5,2)+!important scope: custom-media.css:620 forces 10px !important. */
    .page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td.label_xs{
        font-size:11px !important; padding:0 0 6px; width:auto; }
    /* project name = card title */
    .page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(4){
        font-size:16px !important; line-height:1.25; padding:0 0 4px; }
    /* email + category = quiet meta */
    .page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(3){
        font-size:12px !important; padding:0 0 2px; }
    .page-template-template-account .bootstrap-wrapper .p74c .p74cr-root #din-table tbody td:nth-child(5){
        font-size:11px !important; color:var(--p74c-muted); padding:0 0 12px; }
    /* Open + Delete — side-by-side, >=44px tap targets fully in-viewport */
    .p74cr-root #din-table tbody td:nth-child(6),
    .p74cr-root #din-table tbody td:nth-child(7){ display:inline-block; padding:0 10px 0 0; vertical-align:middle; }
    .p74cr-root #din-table tbody td:nth-child(6) a.btn,
    .p74cr-root #din-table tbody td:nth-child(7) a.btn{ height:44px; padding:0 20px; font-size:11px; }
    /* the empty-state cell must stay visible as a block */
    .p74cr-root #din-table td.dataTables_empty{ display:block !important; }
    /* the wrapper must never clip */
    .p74cr-root .tableWrap,
    .p74cr-root .dataTables_wrapper{ overflow:visible !important; }
}


/* ===========================================================================
   C) MEMBER respond page — REBUILT round 2 to MIRROR the approved flagship
   editor (collections-editor.css §12: deboxed money receipt, single hairlines,
   one button family, no grey, no boxed inputs). Owner rejected round 1
   ("money a mess", "random lines", "grey", "clunky buttons", "dark+yellow").

   Layout: ONE clean two-column grid — LEFT = request context (listing + brief),
   RIGHT = the response (deboxed money receipt + comments + availability + send).
   Zones divide with ONE faint hairline; NO boxed cards, NO grey fills, NO Excel
   frame. Money figures are DEBOXED, borderless, right-aligned tabular — the cell
   IS the affordance (faint lime tint + thin lime underline on focus), exactly the
   flagship .p74ce-recfig .p74c__cellinput pattern. The single lime accent is the
   "Your payout" row (lime-bg + INK text — never yellow text on dark).

   HOOKS kept verbatim: #p74-rent / #p74-inc / #p74-fee / #p74-payout / #p74-fee-pct,
   names location_rent_for_dates / incidental_fees / plush74_fee (readonly) /
   comments / available_for_request_dates, .p74-srl-availability radios +
   .is-on/.off/.off-state label toggling, .p74-srl-form. Skin-only.
   =========================================================================== */
.p74-srl{
    max-width:1180px; margin:0 auto; padding:0 4px 60px;
    color:var(--p74c-ink); font-family:var(--p74c-font); font-size:15px; line-height:1.5;
}
.p74-srl *{ box-sizing:border-box; }

/* ---- page header — eyebrow title + small lime accent badge ---------------- */
.p74-srl-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap;
    padding:30px 0 14px; border-bottom:1px solid var(--p74c-hair); margin:0 0 18px; }
.p74-srl-head h1{
    font-family:var(--p74c-font-disp);
    font-size:clamp(26px,3.2vw,36px); font-weight:700; margin:0;
    letter-spacing:.01em; text-transform:uppercase; line-height:1.05; flex:1 1 auto;
}
/* badge — small lime accent (lime bg + ink text), square, no border noise */
.p74-srl-badge{
    background:var(--p74c-lime); color:var(--p74c-ink);
    font-size:10px; font-weight:700; padding:4px 10px; border-radius:0;
    text-transform:uppercase; letter-spacing:.06em;
}
.p74-srl-badge--locked{ background:var(--p74c-paper); color:var(--p74c-muted); border:1px solid var(--p74c-line-2); }
.p74-srl-lead{ color:var(--p74c-muted); font-size:15px; margin:0 0 18px; max-width:760px; line-height:1.55; }

/* ---- intro banner — flat lime strip, ink text, ONE thin hairline ---------- */
.p74-srl-banner{
    background:var(--p74c-lime); color:var(--p74c-ink); border:0; border-radius:0;
    padding:14px 18px; margin-bottom:22px;
    display:flex; gap:13px; align-items:flex-start;
}
.p74-srl-banner-icon{ font-size:20px; line-height:1.2; flex-shrink:0; }
.p74-srl-banner-text{ font-size:14px; line-height:1.55; }
.p74-srl-banner-text b{ font-weight:700; }

/* ---- TWO-COLUMN LAYOUT — clean grid, NO Excel frame (no border-top/left) --- */
.p74-srl-layout{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    gap:48px; align-items:start; border:0;
}
.p74-srl-col{ min-width:0; display:flex; flex-direction:column; gap:0; }

/* MR-15: bootstrap .row negative margins made the (usually empty) alert box
   412px wide at 390 — zero them; collapse entirely when empty. */
.p74-srl .alert_box_m.row{ margin-left:0; margin-right:0; }
.p74-srl .alert_box_m:empty{ display:none; }

/* ---- ZONE = a clean section divided by ONE faint hairline (no boxed card) -- */
.p74-srl-zone{ padding:22px 0; border:0; border-top:1px solid var(--p74c-hair); }
.p74-srl-col > .p74-srl-zone:first-child,
.p74-srl-col > .p74-srl-zone--listing:first-child{ border-top:0; padding-top:0; }
.p74-srl-zone-head{
    font-family:var(--p74c-font-disp);
    font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
    margin:0 0 16px; color:var(--p74c-ink); display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
}
.p74-srl-zone-note{
    font-size:10px; font-weight:600; color:var(--p74c-muted);
    text-transform:uppercase; letter-spacing:.05em;
}

/* ---- listing zone — compact thumb + meta, packed top-left ----------------- */
.p74-srl-listing{ display:flex; gap:16px; align-items:flex-start; }
.p74-srl-thumb{ width:128px; aspect-ratio:4/3; border-radius:0; background:var(--p74c-soft2) center/cover no-repeat; flex-shrink:0; }
.p74-srl-listing-meta{ min-width:0; }
.p74-srl-listing-title{ font-family:var(--p74c-font-disp); font-size:18px; font-weight:700; margin:0 0 4px; line-height:1.18; word-break:break-word; text-transform:uppercase; letter-spacing:.01em; }
.p74-srl-listing-addr{ font-size:12px; color:var(--p74c-muted); margin:0 0 10px; text-transform:uppercase; letter-spacing:.03em; }
.p74-srl-listing-id{ color:var(--p74c-faint); font-weight:700; margin-left:4px; }
/* round-3 polish: match the standard lime-UNDERLINE nav link used on the editor
   + share surfaces (border-bottom lime, thickens on hover) instead of a lime
   marker-stroke fill — keeps lime reserved for the banner, payout + primary CTA. */
.p74-srl-listing-open{ font-size:12px; color:var(--p74c-ink); text-decoration:none; font-weight:700;
    border-bottom:1px solid var(--p74c-lime); padding-bottom:1px; }
.p74-srl-listing-open:hover{ color:var(--p74c-ink); border-bottom-width:2px; }

/* ---- request-details — clean key/value rows, ONE faint hairline per row ----
   MR-5: under border-collapse:separate a border on <tr> never paints — the
   hairline lives on th/td. MR-4's stray black L-frame is killed by the kit
   .p74c-reset on the surface root. */
.p74-srl-table{ width:100%; border-collapse:separate; border-spacing:0; }
.p74-srl-table th, .p74-srl-table td{
    padding:11px 0; text-align:left; vertical-align:top; font-size:14px;
    border-bottom:1px solid var(--p74c-hair);
}
.p74-srl-table th{ width:160px; color:var(--p74c-muted); font-weight:600; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; padding-right:14px; }
.p74-srl-table td{ color:var(--p74c-ink); }
.p74-srl-table tr:last-child th, .p74-srl-table tr:last-child td{ border-bottom:0; padding-bottom:0; }
.p74-srl-collection-link{ color:var(--p74c-ink); font-weight:700; text-decoration:none;
    background:linear-gradient(var(--p74c-lime),var(--p74c-lime)) bottom/100% .4em no-repeat; padding:0 1px; }

/* MR-3 (round-2): full-brief reveal. The notification's project_details copy is
   capped at varchar(512), so a long brief is shown COMPLETE from its wishlist
   source, collapsed to a short preview with a pure-CSS toggle (no JS). Collapsed =
   4 lines + the native line-clamp ellipsis; expanded = the whole brief. Toggle is
   keyboard-reachable — the sr-only checkbox takes focus, its label flips it — and
   uses the surface's established lime-underline link affordance (matches
   .p74-srl-listing-open), so no new line style enters the vocabulary. Keeps a
   long/messy brief from ever dominating the request-details column. */
.p74-srl-brief{ position:relative; }
.p74-srl-brief-cbx{
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0;
}
.p74-srl-brief-text{
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4;
    overflow:hidden;
}
.p74-srl-brief-cbx:checked ~ .p74-srl-brief-text{ display:block; overflow:visible; }
.p74-srl-brief-toggle{
    display:inline-block; margin-top:9px; cursor:pointer;
    font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
    color:var(--p74c-ink); border-bottom:1px solid var(--p74c-lime); padding-bottom:1px;
    user-select:none;
}
.p74-srl-brief-toggle:hover{ border-bottom-width:2px; }
.p74-srl-brief-toggle .p74-srl-brief-showless{ display:none; }
.p74-srl-brief-cbx:checked ~ .p74-srl-brief-toggle .p74-srl-brief-showmore{ display:none; }
.p74-srl-brief-cbx:checked ~ .p74-srl-brief-toggle .p74-srl-brief-showless{ display:inline; }
.p74-srl-brief-cbx:focus-visible ~ .p74-srl-brief-toggle{
    outline:2px solid var(--p74c-lime-d); outline-offset:2px;
}

/* ===========================================================================
   C2) MONEY RECEIPT — mirrors the approved flagship (deboxed, right-aligned).
   The kit (.p74ce-receipt-friendly) owns the label/figure grid. We size the
   figure column to content (fixed) so labels sit LEFT and figures align in a
   tight RIGHT column directly beside them — never detached to the page edge.
   Inputs are BORDERLESS + transparent (no grey box); the cell is the affordance.
   =========================================================================== */
/* receipt grid: label column shrinks to content, figure column sized to the
   figure cell's own content (NOT 1fr — a 1fr figure track stretches and shoves
   the € figures to the far page edge, the rejected "money spinning off right").
   The whole block is CAPPED tight and packed LEFT so labels + figures stay
   grouped (flagship pattern). The lime payout row + sub span both columns. */
.p74-srl-zone--receipt .p74-srl-receipt.p74ce-receipt-friendly{
    grid-template-columns:max-content max-content;
    justify-content:space-between;
    column-gap:24px; row-gap:12px;
    max-width:312px; margin:0; width:100%;
    align-items:center;
}
.p74-srl-receipt .p74ce-reclabel{
    font-family:var(--p74c-font-disp); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
    color:var(--p74c-ink); display:inline-flex; align-items:center; gap:7px;
}
.p74-srl-receipt .p74ce-recplus{ color:var(--p74c-faint); font-weight:700; }

/* figure cell = a fixed-width right-aligned column directly beside the labels.
   Holds the deboxed money input + currency suffix, right-aligned, tabular. */
.p74-srl-recfig{
    justify-self:end; display:inline-flex; align-items:baseline; justify-content:flex-end;
    gap:5px; min-width:128px; max-width:150px; width:150px;
    background:transparent !important; border:0 !important; padding:0;
}
.p74-srl-recinput{
    border:0 !important; background:transparent !important; border-radius:0;
    padding:3px 0; margin:0; font:inherit; font-size:15px; font-weight:700;
    color:var(--p74c-ink); text-align:right; outline:none; box-shadow:none;
    font-variant-numeric:tabular-nums;
    /* POLISH round-1 (finding CK/MR money-glyph): the editable figure now HUGS its
       content (field-sizing) so the "€" suffix sits TIGHT to the right-aligned
       number — identical glyph spacing to the read-only "€ 2.20" display rows,
       instead of "€ ........ 11" spun to the far edge. min-width floors it to fit
       the "0.00" placeholder + a tappable target; max-width caps extreme values.
       (JS below auto-sizes for browsers without field-sizing.) */
    width:auto; min-width:40px; max-width:118px; field-sizing:content;
    /* editable cells carry a subtle RESTING underline so a member can tell which
       figure cells are fillable (rent / incidentals) vs the readonly Member Fee,
       before ever hovering. DL hairline tokens. */
    border-bottom:1px solid var(--p74c-hair) !important; transition:border-color .12s, background .12s;
}
.p74-srl-recinput:hover{ border-bottom-color:var(--p74c-hair-hover) !important; }
.p74-srl-recinput:focus{ border-bottom:1px solid var(--p74c-lime-d) !important; background:rgba(233,255,117,.22) !important; }
.p74-srl-recinput::placeholder{ color:var(--p74c-faint); font-weight:600; }
/* readonly Member Fee reads quieter, no affordance (no resting underline) */
.p74-srl-recinput--ro{ color:var(--p74c-muted) !important; cursor:default; border-bottom-color:transparent !important; }
.p74-srl-recinput--ro:hover{ border-bottom-color:transparent !important; }
.p74-srl-recinput--ro:focus{ border-bottom-color:transparent !important; background:transparent !important; }
.p74-srl-recsuff{ font-size:12px; font-weight:700; color:var(--p74c-muted); flex-shrink:0; }
.p74-srl-recfig--ro .p74-srl-recsuff{ color:var(--p74c-faint); }

/* MR-7 display layer: the SUBMITTED/raw JS-target inputs stay in the DOM but
   sr-only; the member sees the canonical "€ 1,234.00" spans instead. */
.p74-srl-recfig--ro{ position:relative; }
.p74-srl .p74-srl-rawval{
    position:absolute !important; width:1px !important; height:1px !important;
    padding:0 !important; margin:-1px !important; opacity:0; overflow:hidden;
    pointer-events:none; border:0 !important;
}
.p74-srl-recdisp{
    display:inline-block; width:100%; text-align:right;
    font-size:15px; font-weight:700; color:var(--p74c-muted);
    font-variant-numeric:tabular-nums; padding:3px 0;
}
.p74-srl-recdisp.is-zero{ color:var(--p74c-faint); }

/* the live [%] policy pill = a clean flat LIME chip beside MEMBER FEE (lime bg +
   ink text, no border, no brackets) — matches the corrected flagship. The JS
   target #p74-fee-pct is untouched; this is skin-only. */
.p74-srl-pct{
    margin-left:0; padding:2px 7px; font-size:9.5px; border:0 !important; border-radius:0;
    background:var(--p74c-lime) !important; color:var(--p74c-ink) !important;
    letter-spacing:.02em; font-variant-numeric:tabular-nums;
}

/* the ONE heavy rule above the payout — the LINE itself comes from the kit
   .p74c-rule utility on the (div, MR-6: never <hr>) element; here only the
   receipt-grid placement */
.p74-srl-receipt .p74ce-recrule{
    grid-column:1 / -1; display:block; height:0;
    margin:4px 0 2px; padding:0; width:100%;
}

/* "YOUR PAYOUT" — the single LIME ACCENT row, deboxed full-width (spans both
   columns): label left + figure right, lime bg + INK text. NOT a boxed input
   (mirrors the flagship's single lime "Client pays" outcome row). */
.p74-srl-payout{
    grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between;
    gap:14px; background:var(--p74c-lime); color:var(--p74c-ink);
    padding:11px 14px; border:0; border-radius:0;
}
.p74-srl-payout-label{
    font-family:var(--p74c-font-disp); font-size:12px; font-weight:700;
    text-transform:uppercase; letter-spacing:.05em; color:var(--p74c-ink);
}
.p74-srl-payout-fig{ display:inline-flex; align-items:baseline; gap:5px; position:relative; }
.p74-srl-payout-input{
    border:0 !important; background:transparent !important; padding:0; margin:0;
    font:inherit; font-size:17px; font-weight:700; color:var(--p74c-ink);
    text-align:right; outline:none; box-shadow:none; width:auto; max-width:120px;
    font-variant-numeric:tabular-nums;
}
/* MR-7: the visible canonical payout figure (raw input above is sr-only) */
.p74-srl-payout-disp{
    font-size:17px; font-weight:700; color:var(--p74c-ink);
    font-variant-numeric:tabular-nums; white-space:nowrap;
}
.p74-srl-payout-suff{ font-size:13px; font-weight:700; color:var(--p74c-ink); }
.p74-srl-payout-sub{
    grid-column:1 / -1; font-size:11px; color:var(--p74c-muted); line-height:1.4; margin:2px 0 0;
}

/* ---- comments — kit quiet field (markup carries .p74c-quiet); surface
   re-tune keeps it brief-sized. The old hairline BOX is gone per DL. -------- */
.p74-srl textarea.p74c-quiet.p74c-quiet.p74c-quiet{
    width:100%; min-height:108px; font-size:15px !important; line-height:1.55;
    resize:vertical;
}

/* ---- availability — segmented pair, square, lime-on. Keeps hooks.
   MR-9: radios are sr-only (NOT display:none) so keyboard reaches them;
   :has(input:focus-visible) paints the focus ring on the label.
   MR-10: the ✓ renders ONLY on the selected label (CSS ::before). ---------- */
.p74-srl-availability{ display:flex; gap:0; }
.p74-srl-availability label{ flex:1; cursor:pointer; padding:13px; border:1px solid var(--p74c-line);
    border-left:0; border-radius:0; text-align:center; font-weight:700; font-size:13px;
    text-transform:uppercase; letter-spacing:.04em; transition:.15s; background:var(--p74c-paper); color:var(--p74c-ink);
    position:relative; }
.p74-srl-availability label:first-child{ border-left:1px solid var(--p74c-line); }
.p74-srl-availability input{
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0;
}
.p74-srl-availability label:has(input:focus-visible){
    outline:2px solid var(--p74c-lime-d); outline-offset:2px; z-index:1;
}
.p74-srl-availability label.is-on::before{ content:"\2713\00a0\00a0"; font-weight:900; }
.p74-srl-availability label.is-on{ background:var(--p74c-lime); border-color:var(--p74c-line); color:var(--p74c-ink); }
.p74-srl-availability label.off{ color:var(--p74c-faint); }
.p74-srl-availability label.is-on.off-state{ background:#fff5f5; border-color:#e6b3b3; color:#b03434; }

/* ---- submit — universal button family (no boxed bar) ---------------------- */
.p74-srl-submit{ padding:22px 0 0; border-top:1px solid var(--p74c-hair); margin-top:4px; }
.p74-srl-submit-btns{ display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.p74-srl-btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--p74c-line);
    padding:13px 22px; border-radius:0; font-weight:700; font-size:13px; cursor:pointer;
    letter-spacing:.05em; text-transform:uppercase; text-decoration:none; line-height:1;
    font-family:var(--p74c-font); transition:background .15s,color .15s; }
.p74-srl-btn--yellow{ background:var(--p74c-lime); color:var(--p74c-btn-on-lime); border-color:var(--p74c-line); }
.p74-srl-btn--yellow:hover{ background:var(--p74c-lime-d); color:var(--p74c-btn-on-lime); }
.p74-srl-btn--ghost{ background:var(--p74c-paper); color:var(--p74c-ink); }
.p74-srl-btn--ghost:hover{ background:var(--p74c-lime); color:var(--p74c-ink); }
.p74-srl-revise-note{ margin-top:12px; font-size:12px; color:var(--p74c-muted); line-height:1.5; text-align:right; }

/* ---- BUGFIX 2026-07-06: invisible submit CTA on member/host respond page ---
   Root cause: kit legacy-reset `.p74c-reset button:not([class*="p74c__"])`
   (collections-2026.css, specificity 0,2,1) strips background/border/radius
   /appearance from <button class="p74-srl-btn p74-srl-btn--yellow"> because it
   carries no p74c__ class. It only hits the <button> (Send/Update response);
   the ghost "Back" is an <a> so it was never affected by the reset, but the
   .p74-srl-btn base rule is re-declared below too so both siblings share one
   source of truth. Scoped selector adds a 3rd class (.p74c-reset +
   .p74-srl-submit-btns + .p74-srl-btn) = specificity (0,3,0), which beats the
   reset's (0,2,1) on class-count alone — no !important needed. */
.p74c-reset .p74-srl-submit-btns .p74-srl-btn{
    -webkit-appearance:none; appearance:none;
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid var(--p74c-line); border-radius:0;
    padding:13px 22px; font-weight:700; font-size:13px; cursor:pointer;
    letter-spacing:.05em; text-transform:uppercase; text-decoration:none; line-height:1;
    font-family:var(--p74c-font); transition:background .15s,color .15s;
}
.p74c-reset .p74-srl-submit-btns .p74-srl-btn--yellow{
    background:var(--p74c-lime); color:var(--p74c-btn-on-lime); border-color:var(--p74c-line);
}
.p74c-reset .p74-srl-submit-btns .p74-srl-btn--yellow:hover{
    background:var(--p74c-lime-d); color:var(--p74c-btn-on-lime);
}
.p74c-reset .p74-srl-submit-btns .p74-srl-btn--ghost{
    background:var(--p74c-paper); color:var(--p74c-ink);
}
.p74c-reset .p74-srl-submit-btns .p74-srl-btn--ghost:hover{
    background:var(--p74c-lime); color:var(--p74c-ink);
}

/* ---- responsive ----------------------------------------------------------- */
@media (max-width:1000px){
    .p74-srl-layout{ grid-template-columns:1fr; gap:0; }
    .p74-srl-col--respond > .p74-srl-zone:first-child{ border-top:1px solid var(--p74c-hair); padding-top:22px; }
}
@media (max-width:760px){
    /* comfortable edge gutter on phones — root is 0 4px so content hugged the
       screen edge (host-respond mobile). 16px matches the client-facing family. */
    .p74-srl{ padding-left:16px; padding-right:16px; }
    .p74-srl-head h1{ font-size:26px; }
    .p74-srl-banner{ padding:13px 15px; }
    .p74-srl-banner-text{ font-size:13px; }
    .p74-srl-listing{ gap:12px; }
    .p74-srl-thumb{ width:104px; }
    .p74-srl-listing-title{ font-size:16px; }
    .p74-srl-table th, .p74-srl-table td{ padding:10px 0; font-size:13px; }
    .p74-srl-table th{ width:120px; font-size:10px; padding-right:10px; }
    .p74-srl-recfig{ min-width:120px; width:138px; }
    /* >=44px tap targets on the money inputs (were ~30px); 16px stops iOS zoom.
       min-width bumped for a comfortable horizontal tap target while the input
       still hugs its content (€ stays tight to the number). */
    .p74-srl-recinput{ min-height:44px; padding:10px 0; font-size:16px; min-width:52px; }
    .p74-srl-recdisp{ min-height:44px; display:inline-flex; align-items:center; justify-content:flex-end; }
    .p74-srl-availability label{ min-height:44px; }
    .p74-srl-submit-btns{ gap:8px; }
    .p74-srl-submit-btns .p74-srl-btn{ flex:1; justify-content:center; padding:14px 16px; }
    .p74-srl-revise-note{ text-align:center; }
}
@media (max-width:380px){
    .p74-srl-head h1{ font-size:23px; }
    .p74-srl-listing{ flex-direction:column; align-items:flex-start; }
    .p74-srl-thumb{ width:100%; max-width:240px; }
}
