.builder-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:6px 0 22px; }
.builder-toolbar h1 { font-size:24px; margin:0 0 5px; }
.builder-toolbar p { margin:0; color:#657180; font-size:13px; }
.builder-actions, .builder-bottom { display:flex; gap:10px; flex-wrap:wrap; }
.builder-bottom { justify-content:flex-end; margin-top:22px; }
.agenda-sheet { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 6px 24px #00416512; color:#1e293b; font-size:12px; }
.sheet-meta { display:flex; gap:16px; justify-content:space-between; align-items:center; background:#004165; color:white; padding:14px 18px; }
.district-fields { display:flex; align-items:center; gap:6px; font-weight:700; min-width:0; flex:1; }
.district-fields > * { width:100px; }
.district-fields > * + * { border-left:1px solid #ffffff55 !important; padding-left:8px; }
.meeting-clock { display:flex; align-items:center; gap:7px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.meeting-clock input[type=date] { width:130px; color-scheme:dark; }
.meeting-clock .time-input { width:125px; color-scheme:dark; }
.meeting-clock .time-input:focus { color-scheme:light; }
.meeting-clock input[name=timezone] { width:48px; }
.duration-cell .rm-min-class{width:50px!important;}
.sheet-input { display:block; width:100%; min-width:0; border:1px solid #772432; background:transparent; color:inherit; padding:5px 6px; border-radius:3px; font:inherit; line-height:1.35; }
.sheet-input::placeholder { color:#9aa6b5; font-weight:400; }
.sheet-input:hover:not([readonly]) { background:#00416506; border-color:#dce2e8; }
.sheet-input:focus { outline:2px solid #e3c655; outline-offset:-1px; background:#fffcec; color:#243546; }
.sheet-meta .sheet-input { background:#ffffff0d; }
.sheet-meta .sheet-input:focus, .sheet-title .sheet-input:focus { background:#fff; color:#004165; }
.end-time { background:#f2df7420; border:1px solid #f2df7460; padding:4px 7px; color:#f2df74; border-radius:3px; font-weight:bold; }
#end-day { font-size:10px; }
.sheet-title { display:flex; gap:8px; align-items:center; padding:9px 18px; background:#772432; color:white; font-size:16px; font-weight:700; }
.sheet-title > span:first-child { flex-shrink:0; }
.sheet-theme { display:flex; gap:10px; align-items:center; padding:9px 18px; border-bottom:1px solid #dfe4eb; font-size:14px; font-style:italic; }
.sheet-title > #agenda-title { flex-shrink:1; overflow-wrap:anywhere; }
.clubs-editor { background:#f8fafc; border-bottom:1px solid #dfe4eb; padding:12px 18px; }
.clubs-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.clubs-heading h2 { margin:0; font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:#657180; }
.clubs-heading .add-entry { padding:5px 10px; border:1px solid #004165; border-radius:4px; }
.clubs-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.club-entry { display:flex; align-items:center; gap:6px; padding:8px; background:white; border:1px solid #dde3eb; border-radius:6px; }
.club-entry [data-club-select] { flex:1; border-color:#dde3eb; }
.club-entry [data-club-number] { width:100px; border-color:#dde3eb; }
.club-number { background:#004165; color:white; padding:1px 5px; border-radius:3px; font-size:10px; }
.club-entry .remove-entry:disabled { opacity:.25; cursor:default; }
.club-officer-name { display:flex; align-items:center; gap:10px; margin:5px 0; min-width:0; }
.officer-club-label { display:block; flex:0 0 60px; min-width:0; color:#929dad; font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.club-officer-name > .sheet-input, .club-officer-name > .sheet-value { flex:1; min-width:0; }
.club-officer-name > .sheet-value { display:block; font-size:11px; overflow-wrap:anywhere; }
.club-officer-name > .sheet-input { font-size:13px; }
.club-officer-name > .sheet-input::placeholder { color:#c0c9d5; }
.sheet-body { display:grid; grid-template-columns:22% 78%; }
.sheet-sidebar { background:#f2f5f7; border-right:1px solid #dfe4eb; padding:18px 15px; }
.sheet-sidebar h2 { font-size:11px; letter-spacing:1.3px; text-transform:uppercase; margin:0 0 15px; }
.officer-entry { margin-bottom:14px; }
.officer-entry > strong, .officer-entry > .sheet-value { display:block; margin-bottom:5px; }
.officer-label { display:flex; align-items:center; }
.officer-label select, .officer-entry > strong { color:#772432; font-size:11px; font-weight:700; }
.sidebar-note { margin-top:22px; border-top:1px solid #d6dde5; padding-top:14px; }
.sidebar-note h3 { color:#772432; font-size:11px; margin:0 0 6px; }
.sidebar-note p { font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.sidebar-note textarea { resize:vertical; min-height:48px; font-size:11px; line-height:1.5; }
.sidebar-link { display:block; margin-top:18px; font-size:10px; overflow-wrap:anywhere; }
.sheet-main { min-width:0; }
.schedule-table { width:100%; table-layout:fixed; border-collapse:collapse; }
.time-col { width:8%; }.item-col { width:52%; }.role-col { width:23%; }.duration-col { width:17%; }
.schedule-table > thead th { background:#f0f2f5; text-transform:uppercase; letter-spacing:.4px; font-size:9px; color:#667383; text-align:left; padding:9px 7px; }
.agenda-line > td { border-bottom:1px solid #edf0f4; padding:6px 7px; line-height:1.5; overflow-wrap:anywhere; vertical-align:middle; }
.agenda-clock { color:#004165; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.agenda-line .agenda-clock { background:#fffdf0; font-size:11px; }
.agenda-line td:last-child { font-size:11px; color:#536474; }
.agenda-line td .sheet-input { padding:4px 2px; }
.role-name { color:#772432; }
.wod-content { padding:5px 100px 5px; border-bottom:1px solid #edf0f4; }
.wod-content h2 { margin:0 0 8px; color:#772432; font-size:14px; }
.wod-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.wod-field { display:flex; align-items:center; gap:10px; min-width:0; padding:9px 10px; border:1px solid #f5e9a5; border-radius:5px; }
.wod-field > strong { flex:0 0 65px; color:#772432; }
.wod-field > .sheet-input, .wod-field > .sheet-value { flex:1; min-width:0; overflow-wrap:anywhere; }
@media print { .wod-content { break-inside:avoid; }.wod-field { padding:4px; }.wod-content h2 { font-size:10px; } }
.segment-heading { background:#eef3f6; }
.segment-heading > * { padding:8px 7px; text-align:left; font-size:11px; }
.segment-total { color:#657180; font-size:10px; font-weight:500; }
.segment-content { padding:8px 10px 10px !important; background:#fafbfc; }
.participant-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:11px; border:1px solid #8996a5; }
.participant-table th { background:#e9edf1; color:#243746; font-size:10px; font-weight:700; padding:5px 6px; text-align:left; }
.participant-table td { border:1px solid #c7ced7; padding:5px 6px; overflow-wrap:anywhere; }
.participant-table .sheet-input { padding:3px 2px; }
.pathway-select option.pathway-current { background:#d1e7dd; color:#0f5132; }
.pathway-select option.pathway-discontinued { background:#f8d7da; color:#842029; }
.participant-table.prepared_speakers th:nth-child(1) { width:24%; }
.participant-table.prepared_speakers th:nth-child(2) { width:28%; }
.participant-table.prepared_speakers th:nth-child(3) { width:10%; }
.participant-table.prepared_speakers th:nth-child(4) { width:20%; }
.participant-table.prepared_speakers th:nth-child(5) { width:18%; }
.participant-table.evaluators th { width:38%; }.participant-table.evaluators th:last-child { width:24%; }
.participant-table.tt_speakers th:first-child { width:25%; }
.participant-table.tt_speakers th:last-child { width:25%; }
.duration-cell { display:flex; align-items:center; gap:2px; }
.duration-cell > .duration-cell { flex:1; min-width:0; }
.duration-unit { white-space:nowrap; margin-left:3px; }
.ballot-block h3 label { cursor:pointer; }
.remove-entry { flex-shrink:0; border:0; background:transparent; color:#8794a4; font-size:17px; padding:0 3px; cursor:pointer; line-height:1; }
.remove-entry:hover { color:#b42335; }
.add-entry { border:0; background-color:#f2df74; color:#004165; font-weight:700; font-size:11px; padding:8px 2px 0; cursor:pointer; }
.add-entry:hover { color:#ffffff; }
.schedule-note { display:flex; justify-content:space-between; gap:10px; padding:10px 10px; color:#772432;font-style:italic; font-size:12px; border-bottom:1px solid #dde3ea; }
.ballot-sheet { padding:14px 10px 18px; }
.ballot-sheet > h2 { font-size:12px; margin:0 0 8px; }.ballot-sheet > h2 span { color:#7b8796; font-size:10px; font-weight:400; margin-left:8px; }
.ballot-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.ballot-block { border:1px solid #aeb8c4; min-width:0; display:flex; flex-direction:column; }
.ballot-block h3 { background:#eceff3; color:#004165; font-size:10px; line-height:1.4; padding:7px; margin:0; min-height:42px; }
.ballot-block ul { list-style:none; padding:8px 6px 0; margin:0; font-size:10px; flex:1; }
.ballot-block li { display:flex; align-items:baseline; gap:4px; margin-bottom:5px; overflow-wrap:anywhere; }
.ballot-checkbox { display:inline-block; border:1px solid #8592a0; width:7px; height:7px; flex-shrink:0; }
@media (max-width:1000px) { .sheet-meta { flex-wrap:wrap; }.sheet-body { grid-template-columns:20% 80%; }.sheet-sidebar { padding:14px 10px; }.builder-toolbar { align-items:flex-start; } }
@media (max-width:700px) {
    .builder-toolbar { flex-direction:column; }.builder-toolbar h1 { font-size:22px; }
    .agenda-sheet { overflow-x:auto; }.sheet-meta, .sheet-title, .sheet-theme, .sheet-body, .clubs-editor { min-width:900px; }
    .sheet-body { grid-template-columns:180px 720px; }.builder-actions .btn { font-size:12px; }
}
@media print {
    @page { size:A4 portrait; margin:8mm; }
    nav, body > footer, .builder-toolbar, .builder-bottom, .add-entry, .remove-entry { display:none !important; }
    body > .container { max-width:none; padding:0 !important; }
    .agenda-sheet { box-shadow:none; border-radius:0; font-size:9px; overflow:visible; }
    .sheet-meta, .sheet-title, .sheet-theme, .sheet-body { min-width:0; }
    .sheet-body { grid-template-columns:22% 78%; }
    .agenda-sheet * { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
    .agenda-line > td { padding:3px; }.sheet-title { font-size:12px; }
    .ballot-row { break-inside:avoid; }.participant-row, .agenda-line { break-inside:avoid; }
    .sheet-input { border:0; padding:1px; }
}

.schedule-block.is-excluded { opacity:.55; }
.schedule-block [data-section-toggle] { display:block; margin-bottom:4px; cursor:pointer; }

#new-member-dialog { max-width:520px; width:90%; border:1px solid #ccd4df; border-radius:8px; padding:22px; }
#new-member-dialog label { display:block; margin:10px 0; }
#new-member-dialog input, #new-member-dialog select, #new-member-dialog textarea { display:block; width:100%; padding:6px; }
#new-member-dialog::backdrop { background:#0006; }

.agenda-print-footer { display:none; }
@media print { .agenda-print-footer { display:block; text-align:left; margin-top:5mm; font:8pt Arial,sans-serif; color:#000; } }

#role-member-results { position:fixed; z-index:2000; max-height:280px; overflow-y:auto; background:white; border:1px solid #b7c4d2; border-radius:5px; box-shadow:0 5px 18px #0003; }
#role-member-results button { display:block; width:100%; border:0; background:white; padding:9px 12px; text-align:left; color:#16334b; font-size:13px; }
#role-member-results button:hover, #role-member-results button[aria-selected="true"] { background:#e6effa; }
#role-member-results button:last-child { position:sticky; bottom:0; border-top:1px solid #ccd6e0; color:#772432; font-weight:bold; }
@media print { #role-member-results, #new-member-dialog { display:none !important; } }

.agenda-validation-control { display:block; flex:1; min-width:0; }
.agenda-field-error { display:block; color:#b42335; font-size:11px; line-height:1.3; margin-top:3px; white-space:normal; font-weight:400; }
.agenda-invalid { border:1px solid #b42335 !important; background:#fff4f4 !important; }
.validation-error-link { border:0; background:none; padding:0; text-align:left; color:inherit; text-decoration:underline; cursor:pointer; }
@media print { .agenda-field-error { display:none !important; } }
