.v8-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 28px}.v8-tools a{padding:8px 12px;border:1px solid #b9cbe1;border-radius:4px;background:#fff;color:#052344;text-decoration:none}.v8-tools a:hover{background:#e9f1fa}.v8-dialog{width:min(760px,94vw);max-height:88vh;overflow:auto;border:1px solid #b9cbe1;border-radius:8px;padding:28px;color:#052344}.v8-dialog::backdrop{background:#001b38aa}.v8-dialog .tablewrap{padding:8px}.v8-dialog input[type=number]{min-width:0}.v8-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.v8-calendar>strong{padding:10px;background:#052344;color:white}.v8-day{min-height:115px;background:white;border:1px solid #d5e1ed;border-radius:4px;padding:9px}.v8-day.empty{background:#eef2f7}.v8-day a{display:block;border-left:3px solid #5f95c9;background:#eef4fb;padding:5px;margin-top:6px;font-size:12px;text-decoration:none;overflow-wrap:anywhere}.v8-day a small{display:block;color:#4b6687}.v8-map{height:650px;overflow:hidden;background:#edf3f9;border:1px solid #c8d8eb;border-radius:8px;touch-action:none;position:relative;cursor:grab}#v8MapCanvas{display:flex;align-items:flex-start;gap:22px;width:max-content;transform-origin:0 0}.v8-node{min-width:205px;background:#fff;border:1px solid #adc4df;border-top:4px solid #5e94cb;padding:13px;border-radius:6px}.v8-node summary{cursor:pointer;padding-bottom:9px}.v8-node .v8-node{margin-top:14px;min-width:180px}.v8-children{display:flex;align-items:flex-start;gap:14px}.v8-person{padding:7px;border-bottom:1px solid #dfe7ef;font-size:13px;display:flex;gap:8px;align-items:center}.v8-person[draggable=true]{cursor:grab}.v8-person input{width:auto}.v8-map a{color:#052344}.v8-node>button{padding:5px 9px;font-size:12px}.v8-dialog .danger{color:#b52215}.v8-tools a:focus-visible,.v8-map a:focus-visible{outline:3px solid #75a9de}@media(max-width:720px){.v8-calendar{grid-template-columns:repeat(7,minmax(55px,1fr));overflow:auto}.v8-day{padding:4px;min-height:85px}.v8-dialog{padding:16px}.v8-map{height:530px}}
.v8-quick{margin:-12px 0 24px;padding:10px;background:#e8f0f9;border-radius:4px}.v8-quick summary{cursor:pointer;font-weight:600}.v8-quick .actions{margin-top:12px}
#v8MapCanvas{display:grid;grid-template-columns:250px 300px 400px;width:990px;gap:20px}#v8MapCanvas>[data-node=teams]{grid-column:1/-1;grid-row:2}#v8MapCanvas>.v8-node:not([data-node]){grid-column:3;grid-row:1}.v8-children{display:grid;grid-template-columns:1fr;gap:8px}.v8-node .v8-node{min-width:0;margin-top:6px}.v8-node{min-width:0}#v8MapCanvas>[data-node=teams]>.v8-children{grid-template-columns:1fr 2fr 1fr}.v8-node[data-node=category-1]>.v8-children{grid-template-columns:1fr 1fr}.v8-node summary small{display:block}.v8-map{height:760px}
/* Document source and duplicate review keep the existing club palette. */
.da-field{position:relative;padding-right:36px}.da-info{position:absolute;right:0;top:0;border-radius:50%;width:26px;height:26px;padding:0;font-weight:bold;color:#061e3a;background:#e9f1fa}.da-dialog{width:min(1150px,95vw);max-height:92vh;overflow:auto;border:1px solid #bacde1;border-radius:7px;padding:26px;color:#061e3a}.da-dialog::backdrop{background:#061e3a99}.da-page{position:relative;width:100%;background:white;margin:20px 0;user-select:none}.da-page>img{position:absolute;inset:0;width:100%;height:100%}.da-word{position:absolute;min-height:0;min-width:0;padding:0;border:0;border-radius:0;background:transparent;touch-action:none}.da-word:hover,.da-word:focus-visible{background:#75b9ff66;outline:1px solid #346ca6}.da-word.selected{background:#ffcd0060;outline:1px solid #b48b0099}.da-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px}.da-compare img{width:100%;border:1px solid #bacde1}.da-compare dd{overflow-wrap:anywhere}@media(max-width:700px){.da-compare{grid-template-columns:1fr}.da-dialog{padding:15px}}

.v8-dropzone{border:2px dashed #b9cbe1;transition:background-color .15s,border-color .15s}.v8-dropzone.drag-over{border-color:#397db8;background:#e5f0fc}.v8-dropzone:focus-within{border-color:#397db8}.v8-dropzone[aria-busy=true]{opacity:.75}.v8-dropzone [role=status]{overflow-wrap:anywhere}

.intake-sort{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.intake-sort:hover{text-decoration:underline}.intake-date{white-space:nowrap}.intake-date small{display:block}

/* Natural scrolling; reserve only the scaled canvas area. */
.v8-map{overflow:auto;touch-action:pan-x pan-y;height:clamp(360px,70vh,760px);cursor:grab}.v8-map:active{cursor:grabbing}#v8MapSpace{position:relative;overflow:hidden;min-width:100%}#v8MapSpace>#v8MapCanvas{position:absolute;top:0;left:0;transform-origin:0 0}.v8-map:focus-visible{outline:3px solid #2476c6;outline-offset:2px}

.v8-org-search{margin-left:auto;flex:1 1 280px;max-width:460px}.v8-org-search input{margin-top:4px}.v8-org-search-results{padding:12px;background:white;border:1px solid #b7cce0;border-radius:4px;margin:10px 0}.v8-org-search-results[hidden]{display:none}.v8-org-search-results>p{margin:0 0 8px;font-size:14px}.v8-org-search-results>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;max-height:230px;overflow:auto}.v8-org-search-results button{text-align:left;padding:9px 12px}.v8-org-search-results small{display:block;font-weight:400}.v8-org-found{outline:3px solid #2476c6!important;outline-offset:-2px;background:#e7f2ff!important;box-shadow:0 0 0 4px #2476c629}.v8-person.v8-org-found{border-radius:4px}@media(max-width:600px){.v8-org-search{max-width:none;flex-basis:100%}}

.v8-person:has(.v8-external-label){flex-wrap:wrap}.v8-external-label{flex-basis:100%;font-size:11px;color:#526b87}.v8-external-label::before{content:"↗ ";color:#2476c6}

.v8-external-name{font-style:italic;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px}
.v8-team-coach-preview{display:block;font-size:12px;font-weight:400;margin:5px 0 2px;color:#23496f;line-height:1.5}
.v8-team-coaches{border-bottom:1px solid #dce5ed;margin:8px 0;padding-bottom:6px}
.v8-team-coaches>strong{font-size:11px;color:#526b87}

.v8-node[open]>summary .v8-team-coach-preview{display:none}

#teamCoachSuggestions{border:1px solid #b9cbe0;background:#fff;max-height:300px;overflow:auto;margin:4px 0 12px;padding:6px}
#teamCoachSuggestions button{display:block;width:100%;text-align:left;margin:3px 0}
