/* The directory is a reading and editing surface, independent of payroll tables. */
#adminView #venuesSection{width:100%;min-width:0;box-sizing:border-box;margin-inline:auto;padding:clamp(16px,2.25vw,30px);font-size:16px;line-height:1.45}
#venuesSection .section-heading{margin:0 0 16px}
#venuesSection .section-heading h2{margin:0}
#venuesSection .reference-nav{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 16px;border-bottom:1px solid var(--form-edge)}
#venuesSection .reference-nav button{background:transparent;color:var(--text);border:1px solid transparent;border-radius:8px;padding:8px 12px;min-height:38px;font:inherit;line-height:1.25;cursor:pointer}
#venuesSection .reference-nav button:hover{background:var(--form-panel)}
#venuesSection .reference-nav button[aria-pressed=true]{border-color:var(--form-edge);background:var(--form-header);font-weight:600}
#venuesSection .reference-panel{min-width:0;margin-top:20px}
#venuesSection .reference-panel[hidden],#venuesSection [hidden]{display:none!important}
#venuesSection .reference-panel>h3{font-size:18px;line-height:1.3;margin:0 0 14px}
#venuesSection .ref-hint{color:var(--muted);margin:0 0 12px}
#venuesSection .reference-panel :is(#equipmentCatalog,#specialistRoleCatalog,#customerCatalog,#counterpartyCatalog){padding:0;margin:0;border:0;background:transparent}
#venuesSection .ref-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}
#venuesSection .ref-city,#venuesSection .ref-form>label:not(.ref-check){display:grid;gap:5px;min-width:0;margin:0}
#venuesSection .ref-city{width:min(100%,220px)}
#venuesSection .ref-city select,#venuesSection .ref-form :is(input:not([type=checkbox]),select,textarea){box-sizing:border-box;min-width:0;max-width:100%;width:100%}
#venuesSection .ref-add{max-width:100%;margin:0;padding:0;border:0;background:transparent}
#venuesSection .ref-add[open]{flex:1 1 100%}
#venuesSection .ref-add>summary,#venuesSection .ref-report>summary{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:38px;box-sizing:border-box;padding:7px 12px;border:1px solid var(--form-edge);background:var(--form-panel);color:var(--text);border-radius:8px;font:inherit;font-weight:600;cursor:pointer;list-style:none}
#venuesSection .ref-add>summary::before{content:'+';font-size:1.08em}
#venuesSection .ref-add[open]>summary::before{content:'−'}
#venuesSection summary::-webkit-details-marker{display:none}
#venuesSection .ref-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;align-items:end;max-width:100%;box-sizing:border-box;padding:14px;margin:12px 0 0;border:1px solid var(--form-edge);border-radius:10px;background:var(--form-panel-alt)}
#venuesSection .ref-form>.ref-actions,#venuesSection .ref-form>[role=status]{grid-column:1/-1}
#venuesSection .ref-check{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;margin:0}
#venuesSection .ref-check input[type=checkbox]{width:18px;height:18px;min-height:0;flex:0 0 18px;margin:0}
#venuesSection .ref-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}
#venuesSection .reference-panel .btn{width:auto;margin:0;white-space:normal}
#venuesSection .ref-list{display:grid;gap:0;max-width:100%;margin-block:14px 0}
#venuesSection .ref-row{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px;min-height:64px;padding:12px 4px;box-sizing:border-box;border-bottom:1px solid var(--form-edge);list-style:none}
#venuesSection .ref-row>strong,#venuesSection .ref-record{min-width:min(220px,100%);max-width:100%;overflow-wrap:anywhere}
#venuesSection .ref-record{display:grid;gap:4px;flex:1 1 240px}
#venuesSection .ref-record strong,#venuesSection .ref-row>strong{font-size:16px;font-weight:600}
#venuesSection .ref-record small,#venuesSection .ref-badge{font-size:14px;color:var(--muted)}
#venuesSection .ref-venue{margin:0;padding:0;border:0;border-radius:0;background:transparent}
#venuesSection .ref-venue>summary{cursor:pointer}
#venuesSection .ref-edit-label{color:var(--muted);font-size:14px;border:1px solid var(--form-edge);border-radius:8px;padding:8px 12px;min-height:40px;box-sizing:border-box;background:var(--form-panel);display:inline-flex;align-items:center}
#venuesSection .ref-venue[open] .ref-form{margin:8px 0 12px}
#venuesSection .ref-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px}
#venuesSection .ref-tags li{border:1px solid var(--form-edge);border-radius:7px;padding:6px 10px;background:var(--form-panel-alt);overflow-wrap:anywhere}
#venuesSection .ref-list-form{max-width:760px}
#venuesSection .ref-edit-rows{display:grid;gap:8px;margin-bottom:14px}
#venuesSection .ref-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
#venuesSection .ref-edit-row input{min-width:0;width:100%;box-sizing:border-box}
#venuesSection .ref-report{margin-top:20px;padding-top:16px;border:0;border-top:1px solid var(--form-edge)}
#venuesSection .ref-report>summary::before{content:'▸'}
#venuesSection .ref-report[open]>summary::before{content:'▾'}
#venuesSection .ref-report .ref-form{max-width:100%;margin-top:12px}
#venuesSection .ref-report .table-wrap{max-width:100%;overflow:auto}
#venuesSection [role=status]{margin:10px 0 0}
#venuesSection [role=status]:empty{display:none}
@media(max-width:620px){
 #adminView #venuesSection{padding:14px}
 #venuesSection .reference-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-bottom:12px}
 #venuesSection .reference-nav button{text-align:left;min-height:44px;padding:7px 9px;background:var(--form-panel-alt)}
 #venuesSection .ref-form{grid-template-columns:minmax(0,1fr);padding:12px}
 #venuesSection .ref-record,#venuesSection .ref-row>strong{min-width:0}
 #venuesSection .ref-row{gap:8px 12px}
 #venuesSection .ref-city{width:min(100%,200px)}
 #venuesSection :is(.ref-add,.ref-report)>summary{min-height:44px}
}

#adminView #venuesSection :is(input:not([type=checkbox]),select,textarea,.btn){font-size:16px;min-height:44px;line-height:1.4}
#venuesSection .ref-city{flex:0 1 220px}
#venuesSection .ref-list{width:100%}
#venuesSection .ref-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
#venuesSection .ref-row>strong{flex:1 1 240px}
@media(min-width:1100px){#venuesSection #venueAdminList{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-items:start}}
@media(max-width:620px){#venuesSection .ref-form{grid-template-columns:minmax(0,1fr)}#venuesSection .ref-record{flex-basis:180px}}
