.portal-page { padding-top: 28px; }
.portal-packaging { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 26px; align-items: center; margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fffdf8; }
.portal-packaging > * { min-width: 0; }
.portal-packaging > img { display: block; width: 100%; height: 220px; object-fit: contain; background: white; border-radius: 5px; }
.portal-packaging h2 { margin: 8px 0 16px; font-size: 23px; color: var(--wine); }
.packaging-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.packaging-dimensions dt { font-size: 12px; color: var(--muted); }
.packaging-dimensions dd { margin: 5px 0 0; font-size: 22px; color: var(--wine); overflow-wrap: anywhere; }
.packaging-dimensions small { font-size: 12px; color: var(--muted); white-space: nowrap; }
.resource-admin [data-welfare-packaging] { min-width: 0; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.resource-admin [data-welfare-packaging] h4 { margin: 0 0 8px; font-size: 14px; }
.resource-admin [data-welfare-packaging] .ca-actions { position: static; border: 0; margin: 0; padding: 0; background: transparent; }
.packaging-preview img { display: block; width: 100%; max-width: 300px; height: 180px; object-fit: contain; border: 1px solid var(--line); background: white; border-radius: 5px; }
@media (max-width: 720px) { .portal-packaging { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px; } .portal-packaging > img { height: 200px; } }
.resource-workspace-session { gap: 12px; flex-wrap: wrap; }
.resource-workspace-session .text-button { white-space: nowrap; }
.portal-head { margin: 32px 0; }
.portal-head h1 { font-size: clamp(30px,4vw,46px); margin: 10px 0; color: var(--wine); }
.portal-head p,.portal-detail-head p { color: var(--muted); font-size: 14px; }
.portal-entry-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.portal-entry { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 14px 20px; padding: 30px; border: 1px solid var(--line); background: #fffdf8; color: var(--ink); text-decoration: none; border-radius: 8px; transition: border-color .15s,background .15s; }
.portal-entry:hover { border-color: var(--wine); background: #fff8ec; }
.portal-entry-index { font-size: 15px; color: var(--gold); padding-top: 4px; }
.portal-entry h2 { margin: 0 0 9px; font-size: 24px; color: var(--wine); }
.portal-entry p { margin: 0; color: var(--muted); font-size: 13px; }
.portal-entry-state { grid-column: 2; color: var(--wine); font-size: 13px; overflow-wrap: anywhere; }
.portal-bottom { display: flex; justify-content: flex-end; padding-top: 24px; }
.portal-detail { border: 1px solid var(--line); border-radius: 8px; background: #fffdf8; padding: 32px; margin-top: 24px; }
.portal-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
.portal-detail-head h1 { margin: 9px 0; font-size: 32px; color: var(--wine); }
.portal-detail-head p { margin: 0; }
.portal-instructions { min-width: 0; margin: 24px 0; padding-top: 22px; border-top: 1px solid var(--line); }
.portal-instructions h2 { margin: 0 0 14px; color: var(--wine); font-size: 18px; font-weight: 600; line-height: 1.5; }
.portal-instructions .resource-detail-text { padding: 0; font-size: 13px; line-height: 1.85; }
.portal-form,.applicant-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.portal-form label,.applicant-fields label { display: grid; gap: 7px; min-width: 0; font-size: 13px; }
.portal-form .full,.applicant-fields .full,.applicant-fields .registration-consent { grid-column: 1 / -1; }
.portal-form input,.portal-form textarea,.applicant-fields input:not([type=checkbox]),.applicant-fields textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); font: inherit; box-sizing: border-box; }
.portal-form textarea,.applicant-fields textarea { min-height: 80px; resize: vertical; }
.portal-actions,.access-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 12px; }
.portal-notice-button { display: inline-flex; margin-top: 20px; text-decoration: none; }
.booth-overview { display: flex; gap: 25px; flex-wrap: wrap; padding: 18px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.booth-overview strong { color: var(--wine); font-size: 22px; margin-left: 6px; }
.booth-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.booth-slot { min-width: 0; display: grid; gap: 7px; padding: 15px 10px; text-align: center; background: #faf6ee; border: 1px solid #e4d8c6; border-radius: 5px; overflow-wrap: anywhere; }
.booth-slot strong { font-size: 18px; }.booth-slot span { font-size: 12px; color: var(--muted); }.booth-slot small { font-size: 11px; color: var(--muted); }
.booth-slot.is-occupied { background: #f3e5df; border-color: #d6bbb1; }.booth-slot.is-occupied strong { color: var(--wine); }.booth-slot.is-mine { outline: 2px solid var(--wine); outline-offset: -2px; }
.applicant-dialog { width: min(520px,calc(100vw - 32px)); max-height: calc(100dvh - 40px); box-sizing: border-box; padding: 28px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); color: var(--ink); overflow-y: auto; }
.applicant-dialog::backdrop { background: #24171b80; }.applicant-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 24px; }.applicant-dialog h2 { font-size: 24px; margin: 9px 0 0; }.applicant-dialog .text-button { font-size: 12px; white-space: nowrap; }
.applicant-access-links { display: grid; gap: 17px; padding-top: 21px; border-top: 1px solid var(--line); margin-top: 22px; }.applicant-access-links .text-button { justify-self: start; }.applicant-access-links .secondary { width: 100%; }
.applicant-fields .policy-consent,.applicant-fields .field { grid-column: 1 / -1; }.access-feedback { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }.access-feedback:empty { display: none; }.access-feedback.is-error { color: #aa313c; }
.resource-notices { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 22px; }.resource-notices h2 { margin: 0; font-size: 20px; }.resource-notice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.resource-notice { padding: 18px; border: 1px solid var(--line); background: #fffdf8; border-radius: 6px; min-width: 0; overflow-wrap: anywhere; }.resource-notice h3 { margin: 10px 0; font-size: 18px; color: var(--wine); }.resource-notice p { font-size: 13px; line-height: 1.7; color: var(--muted); }.resource-notice details { font-size: 12px; color: var(--muted); }.resource-notice summary { cursor: pointer; }.resource-notice dl>div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 12px; padding: 7px 0; }.resource-notice dd { margin: 0; }
.query-panel .query-card { width: min(1040px,100%); box-sizing: border-box; }.query-session-bar { gap: 12px; flex-wrap: wrap; }.resource-session>div { display: flex; gap: 14px; flex-wrap: wrap; }
.ca-event-section { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 24px; }.ca-event-editor-row { border: 1px solid var(--line); border-radius: 5px; padding: 16px; margin-top: 12px; }.ca-event-row-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 12px; }.ca-event-row-actions label { margin-right: auto; font-size: 12px; }
.resource-admin-tabs { margin-bottom: 16px; }.resource-admin-topline { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }.resource-admin-summary { display: flex; gap: 18px; flex-wrap: wrap; color: var(--muted); font-size: 12px; }.resource-admin-summary strong { color: var(--wine); }.resource-admin .booth-grid { grid-template-columns: repeat(8,minmax(0,1fr)); }.resource-admin-table-wrap { overflow-x: auto; }.resource-admin table { width: 100%; border-collapse: collapse; font-size: 12px; }.resource-admin th,.resource-admin td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }.resource-admin th { color: var(--muted); }.resource-admin td select { width: 120px; }.resource-admin .ca-form-grid { margin-top: 15px; }
.rw-resource-statistics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin: 14px 0; }.rw-resource-statistics .rw-metric { min-width: 0; }.rw-resource-statistics small { font-size: 10px; color: var(--muted); line-height: 1.5; }
.resource-rich-text { min-width: 0; max-width: 100%; overflow-wrap: anywhere; line-height: 1.75; }
.resource-rich-text > :first-child { margin-top: 0; }
.resource-rich-text > :last-child { margin-bottom: 0; }
.resource-rich-text p,.resource-rich-text div { margin: 0 0 .75em; }
.resource-rich-text h1,.resource-rich-text h2,.resource-rich-text h3,.resource-rich-text h4,.resource-rich-text h5,.resource-rich-text h6 { margin: 1em 0 .5em; line-height: 1.5; font-size: 1.2em; color: var(--wine); }
.resource-rich-text ul,.resource-rich-text ol { padding-left: 1.65em; margin: .6em 0; }
.resource-rich-text li { margin: .3em 0; }
.resource-rich-text blockquote { margin: .75em 0; padding: 8px 12px; border-left: 3px solid var(--line); background: #faf6ee; }
.resource-rich-text pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.resource-rich-text table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; }
.resource-rich-text td,.resource-rich-text th { padding: 6px 8px; border: 1px solid var(--line); overflow-wrap: anywhere; }
.resource-rich-text a { color: var(--wine); text-decoration: underline; overflow-wrap: anywhere; }
.resource-admin .media-editor { width: 100%; }
.resource-admin .media-editor-tabs { flex-wrap: wrap; margin: 3px 0 4px; padding-bottom: 7px; overflow: visible; }
.media-editor-toolbar { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 9px; }
.media-editor-content,.media-editor-preview { min-height: 180px; border: 1px solid #d9cbbb; border-radius: 5px; padding: 12px; background: #fff; font-size: 13px; }
.media-editor-content[aria-disabled="true"] { opacity: .65; }
.resource-admin [data-media-source] { min-height: 240px; font-family: Consolas,monospace; overflow-wrap: anywhere; }
.resource-admin .media-editor-help { margin: 3px 0 0; }
.resource-admin-head-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.resource-admin .resource-settings-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
.resource-admin .resource-settings-tabs button { white-space: normal; min-width: 0; }
.resource-settings-tabs button.has-changes::after { content: ' ·'; color: #956326; font-weight: bold; }
.resource-settings-toolbar { position: sticky; top: 0; z-index: 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 0; border-bottom: 1px solid var(--line); background: #fffdf8; }
.resource-settings-toolbar .ca-help { margin: 0; }
.resource-admin .resource-settings-toolbar .ca-actions { position: static; margin: 0; padding: 0; border: 0; background: transparent; }
.resource-settings-toolbar .ca-feedback { flex-basis: 100%; margin: 0; }
@media (max-width: 720px) { .resource-admin .resource-settings-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.resource-merchant-picker { min-width: 0; margin: 0; padding: 0; border: 0; }
.resource-merchant-picker legend { font-size: 13px; margin-bottom: 10px; }
.resource-merchant-modes { display: flex; gap: 18px; flex-wrap: wrap; font-size: 12px; }
.resource-merchant-modes label { display: inline-flex; align-items: center; gap: 6px; }
.resource-merchant-picker [data-input-merchant] { margin-top: 14px; }
.resource-booth-map-head { margin: 22px 0 14px; border-top: 1px solid var(--line); padding-top: 18px; }
.resource-booth-map-head h3,.resource-booth-map-head p { margin: 0; }
.resource-hold-editor { margin-bottom: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 5px; background: #fbf7f3; }
.resource-hold-editor .ca-form-grid { margin-top: 0; }
.resource-hold-editor h3 { margin: 0; }
.resource-admin .booth-slot-action { width: 100%; font: inherit; color: var(--ink); cursor: pointer; }
.resource-admin .booth-slot-action:hover,.resource-admin .booth-slot-action[aria-pressed="true"] { border-color: var(--wine); }
.resource-admin .booth-slot.is-management-held { background: #f5eddc; border-color: #d2b884; }
@media(max-width:720px) { .portal-entry-grid,.resource-notice-grid,.portal-form,.applicant-fields { grid-template-columns: minmax(0,1fr); }.portal-entry { padding: 23px 20px; }.portal-entry h2 { font-size: 22px; }.portal-detail { padding: 20px 16px; }.portal-detail-head { flex-wrap: wrap; }.portal-detail-head h1 { font-size: 27px; }.booth-grid,.resource-admin .booth-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.applicant-dialog { padding: 22px 18px; }.applicant-dialog h2 { font-size: 20px; }.rw-resource-statistics { grid-template-columns: repeat(2,minmax(0,1fr)); }.resource-notices .resource-section-head { flex-wrap: wrap; }.portal-actions .primary,.access-actions .primary { flex: 1; }.resource-session { align-items: flex-start; } }
.resource-variable-help { margin-bottom: 12px; font-size: 12px; color: var(--muted); }
.resource-variable-help summary { color: var(--wine); cursor: pointer; }
.co-creation-panel { min-width:0; margin:20px 0; padding:20px; border-left:4px solid var(--wine); background:#fff5ef; }
.co-creation-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.co-creation-panel-head h2 { margin:0; color:var(--wine); font-size:20px; }
.co-creation-panel-head p { margin:8px 0 14px; color:var(--muted); font-size:13px; line-height:1.65; }
.co-creation-panel-state { padding:3px 10px; border:1px solid #d5a29a; border-radius:5px; background:#fffdf8; color:var(--wine); font-size:20px; max-width:100%; overflow-wrap:anywhere; }
.co-creation-panel [hidden] { display:none !important; }
.co-creation-panel .portal-form { margin-top:20px; border-top:1px solid var(--line); padding-top:18px; }
.co-creation-panel .co-creation-apply { max-width:100%; font-size:16px; padding:12px 18px; white-space:normal; }
.co-creation-panel .ca-feedback.is-error { color:#aa313c; }
@media(max-width:600px) { .co-creation-panel { padding:16px 14px; }.co-creation-panel-head { flex-direction:column; gap:0; margin-bottom:14px; }.co-creation-panel .co-creation-apply { width:100%; } }

.booth-zone-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }.booth-zone { min-width:0; }.booth-zone h3 { font-size:17px; margin:16px 0 12px; }.booth-zone h3 small { font-size:12px; color:var(--muted); margin-left:8px; }.booth-zone .booth-grid { margin-bottom:0; }
.portal-instructions .booth-facilities-note{margin:16px 0 0;padding:13px 16px;border-left:4px solid var(--wine);background:#fff1e8;color:var(--wine);font-size:17px;line-height:1.7;overflow-wrap:anywhere}
.portal-instructions .booth-facilities-note strong{font-weight:700}
@media(max-width:720px){.portal-instructions .booth-facilities-note{padding:12px 14px;font-size:16px}}
