/* Ticket/workspace layout is independent of engineering drawing selectors. */
.workspace-choice{display:grid;gap:3px;font-size:11px}
.workspace-choice select{min-height:44px;max-width:190px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px}
.locator-layout-controls{display:flex;gap:8px;margin-bottom:10px}
.locator-layout-controls button{min-height:44px;min-width:75px}
#locator-workspace{display:grid;grid-template-columns:minmax(300px,2fr) minmax(0,3fr);gap:14px;min-height:0;flex:1;overflow:auto}
#locator-pathway-host{display:flex;flex-direction:column;min-width:0;min-height:430px}
#locator-ticket-host{min-width:0;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface);color:var(--text)}
#locator-workspace[data-layout=map]{grid-template-columns:minmax(0,1fr)}
#locator-workspace[data-layout=map] #locator-ticket-host,#locator-workspace[data-layout=ticket] #locator-pathway-host{display:none}
#locator-workspace[data-layout=ticket]{grid-template-columns:minmax(0,1fr)}
.ticket-controls,.ticket-actions{display:flex;gap:7px;flex-wrap:wrap;margin-block:10px}
[data-locator-pane]{min-height:44px;min-width:90px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px}
[data-locator-pane][aria-pressed=true]{outline:2px solid var(--accent)}
.in811-inbox [data-in811=list]{display:grid;gap:6px;max-height:320px;overflow:auto}
.in811-inbox [data-in811=list] button{text-align:left;overflow-wrap:anywhere}
.in811-inbox p{white-space:pre-wrap;overflow-wrap:anywhere}
.in811-warning{border-inline-start:4px solid #b45309;padding:8px}
.ticket-workspace button,.ticket-workspace input,.ticket-workspace select,.locator-area-controls button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ticket-workspace button,.ticket-workspace select,.ticket-workspace input,.ticket-workspace textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px}
.ticket-workspace button:focus-visible,.locator-layout-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ticket-workspace [data-ticket=queue]{display:grid;gap:5px;max-height:280px;overflow:auto;margin-bottom:12px}
.ticket-workspace [data-ticket=queue] button{text-align:left}
.ticket-workspace [data-ticket=queue] small{margin-bottom:10px;color:var(--muted)}
.ticket-workspace [data-ticket=error]{color:#b42318;white-space:pre-wrap;overflow-wrap:anywhere}
.ticket-workspace [data-ticket=detail] article{padding:8px;border-block-start:1px solid var(--border)}
.ticket-workspace [data-ticket=detail] p{white-space:pre-wrap;overflow-wrap:anywhere}
.ticket-form{border-top:2px solid var(--accent);padding-top:10px}
.ticket-form label{display:grid;gap:5px}
.ticket-form textarea{min-height:80px;resize:vertical}
.locator-area-controls{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:2px solid #1264cb;margin-bottom:8px}
.locator-area-controls [data-locator=area-help]{flex-basis:100%}
#view-locator .locator-overlay circle{pointer-events:all;cursor:pointer}
#view-locator .locator-overlay circle:focus{outline:3px solid #a23a69}
@media(max-width:1100px){#locator-workspace{display:flex;flex-direction:column}#locator-pathway-host{flex:none;min-height:0}#locator-ticket-host{flex:none;overflow:visible}#locator-pathway-host .locator-body{flex:none;grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:730px){.workspace-choice select{max-width:125px}#locator-pathway-host .locator-body{display:flex}.ticket-controls{display:grid;grid-template-columns:1fr 1fr}.ticket-controls input{grid-column:1/-1}}

/* Split reserves the left pane for tickets; saved plant stays on the map. */
#locator-workspace[data-layout=split] #locator-pathway-host .locator-body{position:relative;display:block}
#locator-workspace[data-layout=split] #locator-pathway-host .locator-map{height:100%;min-height:430px}
#locator-workspace[data-layout=split] .locator-pathway-list{display:none}
#locator-workspace[data-layout=split] .locator-inspector{position:absolute;inset:0 0 0 auto;width:min(340px,88%);box-sizing:border-box;z-index:3;background:var(--surface);color:var(--text);box-shadow:-5px 0 18px #0003;animation:locator-details-in .15s ease-out}
#locator-workspace[data-layout=split] #locator-pathway-host:not(.locator-has-selection) .locator-inspector{display:none}
.locator-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.locator-drawer-header h3{margin-block:4px}
#view-locator .locator-drawer-header button{width:auto;min-height:44px}
.locator-map-picker select{max-width:220px;min-height:44px}
#view-locator .locator-overlay [role=button]:focus{outline:3px solid var(--accent)}
@keyframes locator-details-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#locator-workspace[data-layout=split] .locator-inspector{animation:none}}
@media(max-width:730px){#locator-workspace[data-layout=split] #locator-pathway-host .locator-map{height:48vh;min-height:300px}#locator-workspace[data-layout=split] .locator-inspector{max-height:100%}}

.ticket-form fieldset{min-width:0;border:1px solid var(--border);border-radius:6px;padding:12px;display:grid;gap:10px}
.ticket-form legend{font-weight:700;padding-inline:6px}
.ticket-form label[hidden]{display:none}
.ticket-form [required]{border-inline-start:3px solid var(--accent)}
.ticket-form fieldset p{margin-block:4px;line-height:1.4}
