.whole-event { margin: 2.5rem 0; border: 1px solid var(--line, #ccc); background: #fff; border-radius: 12px; color: var(--ink, #171310); }
.whole-event > summary { padding: 1.5rem; cursor: pointer; font-family: var(--serif, Georgia, serif); font-size: clamp(1.25rem, 3vw, 1.8rem); }
.whole-event > summary:focus-visible, #whole-event-workspace :focus-visible { outline: 3px solid var(--green, #247a37); outline-offset: 3px; }
#whole-event-workspace { padding: 0 clamp(.8rem, 3vw, 1.5rem) 1.5rem; min-width: 0; }
#whole-event-workspace p, #whole-event-workspace li { line-height: 1.6; max-width: 90ch; }
#whole-event-workspace h3 { font-family: var(--serif, Georgia, serif); font-size: 1.5rem; margin: 1.5rem 0 .8rem; }
#whole-event-workspace h4 { font-size: 1.05rem; margin: 1.4rem 0 .5rem; }
#whole-event-workspace details { border-top: 1px solid var(--line, #ccc); margin-top: 1rem; }
#whole-event-workspace summary { padding: 1rem 0; cursor: pointer; font-weight: 600; }
.we-section-body { padding-bottom: 1.3rem; }
.we-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 1rem; margin: 1rem 0; }
.we-field { display: flex; flex-direction: column; gap: .4rem; font-size: .92rem; min-width: 0; }
.we-field > span { font-weight: 500; }
#whole-event-workspace input:not([type=checkbox]), #whole-event-workspace select, #whole-event-workspace textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: .65rem; border: 1px solid #a8aaa5; border-radius: 5px; background: #fff; color: #171310; font: inherit; }
#whole-event-workspace input[type=file] { overflow: hidden; }
.we-check { display: flex; align-items: flex-start; gap: .6rem; margin: 1rem 0; }
.we-check input { width: 20px; height: 20px; accent-color: var(--green, #247a37); flex: 0 0 auto; }
.we-stage { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--line, #ccc); border-radius: 7px; min-width: 0; }
.we-stage legend { padding: 0 .5rem; font-weight: 600; }
.we-actions { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; margin: 1rem 0; }
#whole-event-workspace button { min-height: 44px; padding: .7rem 1rem; border: 1px solid #738176; background: #fff; color: #1d542a; font: inherit; font-weight: 500; border-radius: 6px; cursor: pointer; max-width: 100%; white-space: normal; }
#whole-event-workspace button.we-primary { background: var(--green, #247a37); border-color: var(--green, #247a37); color: #fff; }
#whole-event-workspace button:disabled { opacity: .45; cursor: default; }
.we-table-wrap { max-width: 100%; overflow-x: auto; margin: 1rem 0; }
#whole-event-workspace table { width: 100%; border-collapse: collapse; font-size: .9rem; }
#whole-event-workspace caption { text-align: left; font-weight: 600; padding: .6rem 0; }
#whole-event-workspace th, #whole-event-workspace td { border-bottom: 1px solid var(--line, #ccc); padding: .65rem; text-align: left; vertical-align: top; }
#whole-event-workspace th { font-weight: 600; }
#whole-event-workspace td .we-field { min-width: 145px; }
#whole-event-workspace td .we-field > span { font-size: .8rem; font-weight: 400; }
#whole-event-workspace small { display: block; font-weight: 400; color: #5a5e56; }
.we-allocation { display: grid; grid-template-columns: repeat(2, minmax(145px, 1fr)); gap: .6rem; padding: .5rem 0 1rem; }
.we-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1rem; margin: 1rem 0; }
.we-summary > div { border-top: 2px solid #253d2b; padding-top: .8rem; }
.we-summary strong { display: block; font-family: var(--serif, Georgia, serif); font-size: 1.7rem; }
.we-summary span { font-size: .9rem; }
.we-privacy { border-left: 3px solid var(--green, #247a37); padding-left: 1rem; }
.we-status:not(:empty) { padding: .8rem; border: 1px solid #9bb5a0; border-radius: 5px; }
#whole-event-workspace .we-error { color: #912b16; border-color: #912b16; }
.we-outdated { opacity: .55; }
.we-results, .we-workspace, .we-downloads { border-top: 1px solid var(--line, #ccc); margin-top: 1.5rem; padding-top: .5rem; }
#whole-event-workspace [hidden] { display: none !important; }
@media (max-width: 520px) { .we-actions > button, .we-actions > label { width: 100%; } .we-stage { padding: .7rem; } .we-allocation { grid-template-columns: 145px; } }
