/* PEXSA EVENTS R1.8 — programme & intervenants, shared across PEXSA, organizer, public. */
.ep-workspace{max-width:1120px;margin:1.5rem auto;color:#241824}.ep-overview{display:flex;justify-content:space-between;align-items:flex-end;gap:1.2rem;padding:1.5rem;background:#fff;border:1px solid #e5dfe3;margin-bottom:1rem}.ep-overview h2,.ep-panel h3,.ep-public-heading h2{font-family:Georgia,serif;font-weight:400;margin:.3rem 0 .65rem}.ep-overview h2{font-size:clamp(1.8rem,3vw,2.8rem)}.ep-overview p{font-size:.87rem;line-height:1.6;max-width:590px;margin:.4rem 0}.ep-metrics{display:flex;gap:.65rem;flex-wrap:wrap}.ep-metrics span{display:flex;flex-direction:column;background:#f8f3f6;border:1px solid #eadde6;padding:.7rem .95rem;font-size:.74rem;min-width:95px}.ep-metrics strong{color:#731d65;font-family:Georgia,serif;font-size:1.65rem}.ep-workspace-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:1rem;align-items:start}.ep-panel{background:#fff;border:1px solid #e5dfe3;padding:1.5rem;min-width:0}.ep-panel-head{border-bottom:1px solid #eee3ea;margin-bottom:1rem}.ep-panel h3{font-size:1.9rem}.ep-edit-block{border:1px solid #e3d8df;border-radius:6px;margin:.7rem 0;background:#fbf9fa}.ep-edit-block>summary{cursor:pointer;padding:.85rem 1rem;color:#642255;font-size:.84rem;font-weight:700}.ep-edit-block[open]>summary{border-bottom:1px solid #e8e0e5}.ep-form{padding:1rem}.ep-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.ep-fields label{font-size:.78rem;font-weight:700;display:flex;flex-direction:column;gap:.3rem;color:#3e2d3b}.ep-fields input:not([type=checkbox]),.ep-fields select,.ep-fields textarea{box-sizing:border-box;border:1px solid #cfc4cd;border-radius:4px;background:#fff;color:#251b25;font:inherit;padding:.65rem;width:100%;min-width:0}.ep-fields input:focus,.ep-fields select:focus,.ep-fields textarea:focus{outline:2px solid #8d4a8f;outline-offset:1px}.ep-fields label.ep-wide,.ep-fields fieldset.ep-wide{grid-column:1/-1}.ep-fields label.ep-check{display:flex;flex-direction:row;align-items:center;gap:.45rem}.ep-fields small{font-size:.68rem;color:#64525e;font-weight:400}.ep-speaker-picker{border:1px solid #e4d9e0;padding:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.ep-speaker-picker legend{font-weight:700;font-size:.78rem}.ep-speaker-picker label{display:flex;flex-direction:row;align-items:flex-start;font-weight:500}.ep-speaker-picker input[type=checkbox]{width:auto}.ep-cards{display:grid;gap:.8rem}.ep-card{border:1px solid #e8e0e5;padding:.9rem;background:#fff;min-width:0}.ep-card-top{display:flex;align-items:flex-start;gap:.7rem}.ep-card-top>div{min-width:0;flex:1}.ep-card h4{font-size:.97rem;line-height:1.35;margin:.1rem 0 .3rem;overflow-wrap:anywhere}.ep-card small{display:block;color:#786777;font-size:.7rem;line-height:1.5}.ep-avatar{width:50px;height:50px;object-fit:cover;border-radius:8px;flex-shrink:0}.ep-avatar-fallback{display:grid;place-items:center;background:#f3e5ec;color:#762f71;font-weight:700;font-size:.8rem}.ep-pill{font-size:.66rem;font-weight:700;background:#eee7ed;padding:.3rem .45rem;border-radius:100px;white-space:nowrap}.ep-pill.published{background:#ddf3e5;color:#17603d}.ep-pill.cancelled{background:#f9e5e2;color:#8a2b23}.ep-edit-inline{margin-top:.85rem}.ep-speaker-names{font-size:.77rem;color:#493248}.ep-empty{font-size:.85rem;color:#675566;padding:1.2rem;background:#f8f5f7}.ep-notice{font-size:.75rem;color:#594e58;line-height:1.6;padding:.8rem 1rem}.ep-public{background:#fbf8fa;color:#271c28}.ep-public-heading{max-width:760px;margin:0 auto 2rem}.ep-public-heading h2{font-size:clamp(2.3rem,5vw,4.1rem)}.ep-public-heading p{font-size:.98rem;line-height:1.6}.ep-public-list{max-width:920px;margin:auto}.ep-public-day{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;border-bottom:1px solid #e4d7df;padding:1rem 0 .6rem}.ep-public-item{display:grid;grid-template-columns:95px 1fr;gap:1.1rem;padding:1.2rem 0;border-bottom:1px solid #eadfe7}.ep-public-time{display:flex;flex-direction:column;color:#70345f}.ep-public-time strong{font-size:1.35rem}.ep-public-time span{font-size:.85rem}.ep-public-content h4{font-size:1.2rem;margin:.4rem 0}.ep-public-content p{font-size:.9rem;line-height:1.6;margin:.3rem 0 .7rem}.ep-public-content small{display:block;color:#65535f;font-size:.8rem;margin:.3rem 0}.ep-public-type{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7b3b6f}.ep-public-profiles{max-width:920px;margin:2.5rem auto 0}.ep-public-profiles h3{font-family:Georgia,serif;font-size:2rem;font-weight:400}.ep-profiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.ep-profile{display:flex;align-items:start;gap:.85rem;background:#fff;border:1px solid #ebdfe8;padding:1.1rem}.ep-profile img{width:70px;height:80px;object-fit:cover;border-radius:4px}.ep-profile h4{margin:0 0 .35rem}.ep-profile small{display:block;font-size:.74rem;color:#685969}.ep-profile p{font-size:.82rem;line-height:1.55;white-space:pre-line}.ep-profile a{font-size:.78rem;color:#70335f}@media(max-width:900px){.ep-workspace-grid{grid-template-columns:1fr}.ep-overview{align-items:flex-start;flex-direction:column}}@media(max-width:580px){.ep-overview,.ep-panel{padding:1rem}.ep-fields{grid-template-columns:1fr}.ep-metrics span{min-width:0}.ep-public-item{grid-template-columns:65px 1fr;gap:.6rem}.ep-public-time strong{font-size:1.05rem}.ep-panel h3{font-size:1.55rem}.ep-card-top{flex-wrap:wrap}}


/* R1.8.6: The programme administration is a workspace, not a 560px setup box.
   Scoped to this page so organizer and authentication screens are untouched. */
.setup-card.admin-edit-shell {
  width: min(1220px, calc(100% - 2rem));
  max-width: 1220px;
  min-width: 0;
}
.admin-edit-shell .ep-workspace {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.admin-edit-shell .admin-panel-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.admin-edit-shell .admin-panel-head > div:first-child {
  flex: 1 1 420px;
  min-width: 0;
}
.admin-edit-shell .admin-panel-head h1 {
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.admin-edit-shell .admin-inline-actions {
  justify-content: flex-end;
  flex: 0 0 auto;
}
@media (max-width: 1100px) {
  .admin-edit-shell .ep-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  .setup-card.admin-edit-shell {
    margin: .75rem auto;
    padding: 1rem !important;
  }
  .admin-edit-shell .admin-panel-head {
    flex-direction: column;
  }
  .admin-edit-shell .admin-panel-head > div:first-child {
    flex: 0 1 auto;
  }
  .admin-edit-shell .admin-inline-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

/* R1.8.7: date limits and form recovery, scoped to the programme workspace. */
.ep-calendar-boundary,.ep-publication-help,.ep-recovery-note {
  font-size:.78rem;line-height:1.55;padding:.7rem .85rem;margin:.4rem 0 .9rem;
  color:#51324b;background:#f6eff4;border-left:3px solid #8b3a83;
}
.ep-calendar-boundary{margin-top:0}
.ep-recovery-note{color:#6d3b18;background:#fff6e9;border-color:#bd7e22}
.ep-fields .ep-publication-help.ep-wide {grid-column:1/-1}

.ep-form-error{font-size:.8rem;line-height:1.5;padding:.75rem .85rem;margin:.5rem 1rem;background:#fff1f0;border-left:3px solid #b42318;color:#802020;overflow-wrap:anywhere}

/* R1.8.9 — accessible, guided one/many confirmed-speaker selector. */
.ep-smart-picker{min-width:0;border:1px solid #dfceda;border-radius:12px;padding:1rem;background:#fffdfd;grid-column:1/-1}
.ep-smart-picker>legend{font-weight:750;font-size:.92rem;color:#53204e;padding:0 .5rem}
.ep-picker-intro{font-size:.8rem;color:#665561;line-height:1.5;margin:.1rem 0 .95rem}
.ep-picker-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.ep-picker-mode{display:flex!important;position:relative;min-width:0;cursor:pointer}
.ep-picker-mode input{position:absolute;opacity:0;width:1px;height:1px;left:10px;top:10px}
.ep-picker-mode span{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0;min-height:66px;padding:.8rem;border:1px solid #e6dce3;border-radius:9px;background:#fff;color:#4c3549;transition:background .16s,border-color .16s,box-shadow .16s}
.ep-picker-mode strong{font-size:.8rem}.ep-picker-mode small{font-size:.67rem;line-height:1.45;color:#6b5c67;font-weight:400}
.ep-picker-mode.is-active span,.ep-picker-mode:has(input:checked) span{background:#f6eaf3;border-color:#963d89;box-shadow:inset 0 0 0 1px #963d89}
.ep-picker-mode:focus-within span{outline:2px solid #9a4b9b;outline-offset:2px}
.ep-picker-mode:has(input:disabled){opacity:.46;cursor:not-allowed}
.ep-picker-options{margin-top:.9rem}.ep-picker-options[hidden],.ep-speaker-choice[hidden],.ep-picker-no-match[hidden],.ep-picker-warning[hidden],.ep-picker-error[hidden],.ep-choice-busy[hidden]{display:none!important}
.ep-picker-toolbar{display:flex;justify-content:space-between;align-items:end;gap:.7rem;margin-bottom:.7rem;flex-wrap:wrap}
.ep-picker-search{display:flex!important;gap:.25rem;flex-direction:column;font-size:.75rem!important;min-width:min(100%,230px);flex:1}
.ep-picker-search input{min-height:39px;font-size:.8rem!important}
.ep-picker-count{font-size:.7rem;background:#eee3eb;color:#5d2655;border-radius:100px;font-weight:700;padding:.35rem .65rem;white-space:nowrap}
.ep-picker-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:.5rem;max-height:318px;overflow:auto;overscroll-behavior:contain;padding:.15rem .3rem .35rem .15rem;scrollbar-color:#b7a4b1 transparent}
.ep-speaker-choice{display:flex!important;position:relative;align-items:center!important;flex-direction:row!important;gap:.55rem!important;min-height:56px;cursor:pointer;border:1px solid #e4dbe1;border-radius:9px;padding:.62rem;background:#fff;transition:border-color .18s,background .18s;min-width:0}
.ep-speaker-choice:hover{border-color:#b682a8}.ep-speaker-choice.is-selected{background:#fcf3fa;border-color:#973c88}
.ep-speaker-choice:focus-within{outline:2px solid #9a4b9b;outline-offset:1px}
.ep-speaker-choice input[type=checkbox]{flex:0 0 auto;accent-color:#802972;width:17px;height:17px;margin:0}
.ep-choice-avatar{width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:9px;background:#f1e1ec;color:#6b255d;font-weight:800;font-size:.72rem}
.ep-choice-body{flex:1;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:.15rem}
.ep-choice-body strong{font-size:.78rem;color:#2d202a}.ep-choice-body small{font-size:.66rem;color:#6a5966;font-weight:400;line-height:1.35}
.ep-choice-body em{font-size:.62rem;font-style:normal;color:#986522;font-weight:500}
.ep-choice-check{flex:0 0 auto;font-size:.75rem;color:#fff;background:#773067;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0}
.ep-speaker-choice.is-selected .ep-choice-check{opacity:1}
.ep-speaker-choice.is-busy{border-style:dashed;border-color:#cf9a70}
.ep-choice-busy{position:absolute;bottom:3px;right:8px;color:#8a5324;font-size:.62rem;font-weight:600;background:#fff8eb;border-radius:3px;padding:0 3px}
.ep-picker-summary{border-top:1px solid #eee3ea;margin-top:.75rem;padding:.7rem .1rem 0;display:flex;flex-wrap:wrap;gap:.4rem .7rem;font-size:.74rem;color:#4d3a49;line-height:1.5}
.ep-picker-summary strong{color:#713062}.ep-picker-summary span{flex:1;min-width:180px;overflow-wrap:anywhere}
.ep-picker-warning,.ep-picker-legacy,.ep-picker-error,.ep-picker-empty,.ep-picker-no-match{border-left:3px solid #bf882d;padding:.7rem .8rem;margin:.8rem 0 0;font-size:.76rem;line-height:1.55;color:#664b2a;background:#fff8ef}
.ep-picker-error{color:#842525;background:#fff0f0;border-color:#b32525}
.ep-picker-empty{color:#564455;background:#f8f3f7;border-color:#883c81}
.ep-picker-empty a{color:#702366;font-weight:700;text-underline-offset:3px}
.ep-picker-no-match{background:#f9f6f8;color:#635366;border-color:#b6a4af}
@media(max-width:680px){.ep-picker-modes{grid-template-columns:1fr}.ep-picker-mode span{min-height:0;padding:.65rem .8rem}.ep-picker-list{grid-template-columns:1fr;max-height:340px}.ep-smart-picker{padding:.8rem}.ep-picker-summary{display:block}.ep-picker-summary span{display:block;margin-top:.3rem}}
