:root{--ink:#16142a;--purple:#4d158a;--pink:#f50073;--yellow:#f4c400;--paper:#fbfafc;--line:#ded5e6;--muted:#6d6678}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f6f2f8;line-height:1.45}.shell{max-width:980px;margin:0 auto;padding:34px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:58px;height:auto}.brand strong{font-size:1.1rem}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(43,25,57,.08);padding:28px;margin-bottom:20px}h1{font-size:2rem;margin:0 0 8px}h2{margin:0 0 10px}.muted{color:var(--muted)}.nav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}.button,button{appearance:none;border:0;border-radius:10px;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.button.danger{background:#232125}.status-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.status-copy{max-width:620px}.status-copy h2{margin-bottom:6px}.switch{position:relative;width:62px;height:34px;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.slider{position:absolute;inset:0;background:#aaa;border-radius:999px;transition:.2s}.slider:before{content:"";position:absolute;width:26px;height:26px;left:4px;top:4px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.2s}.switch input:checked + .slider{background:#22a447}.switch input:checked + .slider:before{transform:translateX(28px)}.notice{padding:12px 15px;border-radius:10px;background:#edf8ef;border:1px solid #bfe1c5;margin-bottom:16px}.warning{background:#fff7df;border-color:#efd98c}.field{display:grid;gap:6px;margin-bottom:15px}.field input{font:inherit;padding:11px 12px;border:1px solid #bbb;border-radius:9px;width:100%}.login-card{max-width:520px;margin:65px auto}.small{font-size:.9rem}@media(max-width:650px){.status-row{align-items:flex-start}.topbar{align-items:flex-start}.brand strong{display:none}}

.review-summary{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}.review-summary strong{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}.admin-review-card{padding:22px}.admin-review-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.status-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.status-badge.pending{background:#fff2c7;color:#725900}.status-badge.approved{background:#daf2df;color:#176b35}.status-badge.removed{background:#e7e3e9;color:#594f60}.admin-stars{margin-top:8px;color:#b98500;font-size:1.25rem;letter-spacing:.06em}.admin-review-comment{white-space:normal;font-size:1.04rem}.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.review-actions .secondary-action{background:#625b68}.review-actions .delete-action{background:#9f2335}@media(max-width:650px){.admin-review-top{display:block}.admin-review-top small{display:block;margin-top:8px}}

.admin-review-venue{margin:.25rem 0 .8rem;color:#5b4868;}


.status-badge.new{background:#e5efff;color:#23508d}.status-badge.reviewed,.status-badge.contacted{background:#ede6f6;color:#5b2b83}.status-badge.planned,.status-badge.contract_ready{background:#fff0bd;color:#785c00}.status-badge.booked{background:#daf2df;color:#176b35}.status-badge.closed{background:#e7e3e9;color:#594f60}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;margin:16px 0}.detail-grid p{margin:0;padding:12px;border-radius:10px;background:#faf8fb}.admin-longtext{margin:16px 0;padding:16px;border-left:4px solid var(--purple);background:#faf8fb}.admin-longtext p{margin:8px 0 0}.reference{margin:6px 0;color:#5b4868}.wide-shell{max-width:1180px}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}.admin-toolbar .secondary-action{background:#625b68}.contract-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contract-section{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.contract-section h3{margin:0;padding:11px 14px;background:#f1eaf5;font-size:1rem}.contract-section dl{margin:0}.contract-section dl>div{display:grid;grid-template-columns:minmax(140px,.45fr) 1fr;gap:12px;padding:10px 14px;border-top:1px solid #eee8f1}.contract-section dt{font-weight:800}.contract-section dd{margin:0;white-space:normal}.private-event-card{break-inside:avoid}
@media(max-width:760px){.detail-grid,.contract-details{grid-template-columns:1fr}.contract-section dl>div{grid-template-columns:1fr;gap:3px}}
@media print{body{background:#fff}.shell{max-width:none;padding:0}.topbar,.shell>h1,.shell>p,.nav,.review-summary,.notice,.no-print{display:none!important}.printing-one .private-event-card{display:none}.printing-one .private-event-card.print-target{display:block!important;border:0;box-shadow:none;padding:0;margin:0}.private-event-card.print-target .contract-details{grid-template-columns:1fr 1fr}.private-event-card.print-target .admin-review-top{border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:16px}.contract-section{break-inside:avoid;box-shadow:none}.status-badge{border:1px solid #999}}

/* Print/PDF-ready private event contract */
.contract-action{background:#1f7a43}
.contract-page{background:#ebe7ef}
.contract-toolbar{max-width:8.5in;margin:20px auto 12px;display:flex;gap:10px;justify-content:flex-end;padding:0 16px}
.agreement-sheet{width:min(8.5in,calc(100% - 24px));min-height:11in;margin:0 auto 28px;background:#fff;padding:.55in .6in;box-shadow:0 10px 35px rgba(29,20,39,.18);font-family:Arial,Helvetica,sans-serif;color:#17131d;font-size:10.2pt;line-height:1.35}
.agreement-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding-bottom:14px;border-bottom:3px solid #4d158a;margin-bottom:18px}
.agreement-brand{display:flex;align-items:center;gap:14px}.agreement-brand img{width:66px;height:auto}.agreement-brand h1{font-size:22pt;margin:2px 0 0;line-height:1}.agreement-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:8.5pt;color:#5b4868}.agreement-meta{text-align:right;font-size:9pt;line-height:1.55;white-space:nowrap}.agreement-intro{margin:0 0 16px}
.agreement-section{margin:0 0 16px;break-inside:avoid-page}.agreement-section h2{font-size:12.5pt;color:#4d158a;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #cfc5d6}.agreement-section p{margin:7px 0}
.agreement-table,.charge-table{width:100%;border-collapse:collapse;font-size:9.5pt}.agreement-table th,.agreement-table td,.charge-table th,.charge-table td{border:1px solid #cfc9d2;padding:6px 7px;vertical-align:top}.agreement-table th{width:17%;background:#f5f1f7;text-align:left}.agreement-table td{width:33%}.charge-table thead th{background:#4d158a;color:#fff;text-align:left}.charge-table td:last-child,.charge-table th:last-child{text-align:right;white-space:nowrap}.charge-total th{background:#f2edf5;font-size:10pt}.agreement-list{margin:7px 0 0;padding-left:20px}.agreement-list li{margin:4px 0}.agreement-note{padding:7px 9px;background:#f7f4f8;border-left:3px solid #81609b;margin:7px 0}.agreement-acceptance{margin-top:20px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px}.signature-line{border-top:1px solid #222;margin-bottom:7px}.signature-block{min-height:105px}.date-line{margin-top:18px}.agreement-footer{margin-top:22px;padding-top:8px;border-top:1px solid #bbb;text-align:center;font-size:8pt;color:#615968}
@media(max-width:760px){.contract-toolbar{justify-content:stretch;flex-wrap:wrap}.contract-toolbar .button,.contract-toolbar button{flex:1}.agreement-sheet{padding:28px 22px}.agreement-header{display:block}.agreement-meta{text-align:left;margin-top:12px}.agreement-table,.agreement-table tbody,.agreement-table tr,.agreement-table th,.agreement-table td{display:block;width:100%}.agreement-table th{border-bottom:0}.agreement-table td{border-top:0;margin-bottom:4px}.signature-grid{grid-template-columns:1fr;gap:36px}}
@media print{
 @page{size:letter;margin:.45in}
 .contract-page{background:#fff}.contract-page .no-print{display:none!important}.agreement-sheet{width:auto;min-height:auto;margin:0;padding:0;box-shadow:none;font-size:9.6pt}.agreement-header{margin-bottom:13px}.agreement-brand h1{font-size:20pt}.agreement-section{margin-bottom:12px}.agreement-footer{position:relative}.signature-grid{gap:42px}
}

/* Electronic signature workflow */
.inline-form{display:inline-flex;margin:0}.esign-action{background:#0d6f91}.esign-admin-status{display:inline-flex;align-items:center;padding:9px 13px;border-radius:10px;font-weight:800}.esign-admin-status.signed{background:#daf2df;color:#176b35;border:1px solid #b8dfc1}.esign-banner{max-width:8.5in;margin:14px auto;padding:12px 16px;border-radius:10px;background:#edf4ff;border:1px solid #bfd3ee}.esign-banner.success{background:#edf8ef;border-color:#bfe1c5}.esign-banner.error{background:#fff0f2;border-color:#e0abb3;color:#7a1d2a}.esign-form{margin-top:16px;padding:18px;border:1px solid #cabfd0;border-radius:12px;background:#faf8fb}.esign-field{display:grid;gap:7px;margin-bottom:15px;font-weight:800}.esign-field input[type=text]{font:inherit;padding:10px 11px;border:1px solid #aaa;border-radius:8px;background:#fff}.signature-pad{width:100%;height:150px;background:#fff;border:2px solid #777;border-radius:8px;touch-action:none;cursor:crosshair}.signature-pad-actions{display:flex;justify-content:flex-end;margin-top:8px}.esign-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-weight:700}.esign-consent input{margin-top:3px;transform:scale(1.15)}.esign-submit{background:#1f7a43;font-size:1rem}.captured-signature{display:block;width:100%;max-width:300px;height:72px;object-fit:contain;object-position:left bottom;margin:0 0 -2px}.signed-block .signature-line{margin-top:0}.esign-audit{margin-top:15px;padding:9px 11px;background:#f7f4f8;border-left:3px solid #81609b;font-size:8.7pt}.print-only-signatures{display:none}
@media print{.print-only-signatures{display:grid}.esign-form{display:none!important}.captured-signature{height:64px}.esign-audit{font-size:8pt}}

