.portal-event-list,.my-events,.event-attendee-list{display:grid;gap:14px}
.portal-event-card{display:grid;grid-template-columns:210px minmax(0,1fr) 190px;gap:22px;align-items:center;padding:22px;border:1px solid var(--line);border-top:5px solid var(--blue);background:var(--paper)}
.portal-event-date,.portal-event-copy,.portal-event-action{display:grid;gap:7px}
.portal-event-date time{color:var(--deep);font-weight:800;text-transform:capitalize}
.portal-event-date span,.portal-event-copy p{color:var(--muted);font-size:13px}
.portal-event-copy h2{margin:2px 0;color:var(--deep);font-size:21px}
.portal-event-copy p{margin:0;line-height:1.45}
.portal-event-action{text-align:center}.portal-event-action>strong{color:var(--deep);font-size:18px}
.public-event-status,.event-registration-status{display:inline-block;width:max-content;padding:5px 8px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:900}
.status-places_available,.status-trial_available,.status-free_event,.registration-confirmed,.registration-attended{background:#e7f8ef;color:#147346}
.status-limited_availability,.registration-provisional{background:#fff5cc;color:#795a00}
.status-waiting_list,.registration-waiting_list{background:#fff0dc;color:#914700}
.status-registration_closed,.registration-cancelled,.registration-no_show{background:#fde8e8;color:#9c1f2f}
.event-action-result{margin:0;font-size:12px}.event-action-result.success{color:#147346}.event-action-result.error{color:#a11d2b}
.my-event{display:flex;justify-content:space-between;gap:20px;padding:17px;border-left:6px solid var(--green);background:#f5fbf8}
.my-event>div{display:grid;gap:4px}.my-event span{color:var(--muted);font-size:12px}
.calendar-admin-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);background:var(--paper)}
.calendar-view-tabs,.calendar-period-controls{display:flex;gap:6px}
.calendar-view-tabs button,.calendar-period-controls button{min-height:40px;padding:9px 13px;border:1px solid var(--line);background:#fff;color:var(--deep);font-weight:800;cursor:pointer}
.calendar-view-tabs button.active{background:var(--blue);color:#fff}.calendar-period-controls{margin-left:auto}.calendar-period-controls input{padding:8px;border:1px solid var(--line)}
.admin-calendar-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(520px,1.4fr);gap:18px;align-items:start}.admin-calendar-list{display:grid;gap:9px}
.admin-event-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 14px;width:100%;padding:15px;border:1px solid var(--line);border-left:6px solid var(--blue);background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.admin-event-card:hover,.admin-event-card.selected{border-color:var(--blue);background:#f3f8ff}.admin-event-card time,.admin-event-card>strong{color:var(--deep);font-weight:850}.admin-event-card time{text-transform:capitalize}
.admin-event-card>span{grid-column:2;color:var(--muted);font-size:12px}.admin-event-card>div{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid var(--line)}
.admin-event-card small{color:var(--muted)}.admin-event-card em{grid-column:1/-1;color:var(--blue);font-size:11px;font-style:normal;font-weight:850}
.event-editor{position:sticky;top:18px}.event-editor .check-field{display:flex;grid-column:auto;align-items:center;gap:8px}.event-editor .check-field input{width:auto}
.danger-button{min-height:42px;padding:10px 15px;border:1px solid #e6aeb4;background:#fff;color:#a11d2b;font-weight:800;cursor:pointer}
.event-admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.event-admin-kpis span{display:grid;padding:15px;background:var(--soft);color:var(--muted);font-size:12px;text-align:center}.event-admin-kpis b{color:var(--deep);font-size:25px}
.event-attendee-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(120px,1fr)) minmax(140px,1fr) auto;gap:8px;align-items:end;padding:14px;border:1px solid var(--line);background:#fff}
.event-attendee-row>div{display:grid;gap:3px}.event-attendee-row span,.event-attendee-row small{color:var(--muted);font-size:11px}
.event-attendee-row label{display:grid;gap:4px;color:var(--deep);font-size:11px;font-weight:750}.event-attendee-row input,.event-attendee-row select{min-width:0;width:100%;padding:8px;border:1px solid var(--line)}
.event-attendee-row .form-result{grid-column:1/-1;margin:0}.event-attendees{margin-top:18px}
@media(max-width:1100px){.admin-calendar-layout{grid-template-columns:1fr}.event-editor{position:static}.event-attendee-row{grid-template-columns:repeat(2,minmax(0,1fr))}.event-attendee-row>div{grid-column:1/-1}}
@media(max-width:760px){.portal-event-card{grid-template-columns:1fr}.portal-event-action{text-align:left}.calendar-admin-controls{align-items:stretch}.calendar-view-tabs{overflow-x:auto}.calendar-period-controls{margin-left:0}.admin-calendar-layout{grid-template-columns:1fr}.event-admin-kpis{grid-template-columns:repeat(2,1fr)}.event-attendee-row{grid-template-columns:1fr}.event-attendee-row>div{grid-column:auto}.my-event{display:grid}}
