/* Diagram equipment and independent training groups. */
.element-library{border:1px solid #cbdbe2;border-radius:7px;background:#fff;min-width:0}
.element-library summary{cursor:pointer;color:#275268;font-weight:650;font-size:13px;padding:10px 8px;line-height:1.5}
.element-library summary>span{font-weight:400;color:#6c8391;font-size:11px}
#equipmentPalette{padding:0 6px 8px;max-height:280px;overflow-y:auto;scrollbar-width:thin}
.element-group>span{display:block;color:#6b8290;font-size:11px;margin:9px 2px 6px}
.element-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.app-shell .field-card>.tool-row .element-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 2px;min-height:64px;font-size:11px;line-height:1.4;text-align:center}
.element-button svg{display:block;width:46px;height:36px;pointer-events:none}
.element-button span{pointer-events:none}
#fieldCanvas .object-resize{cursor:nwse-resize;touch-action:none}
#fieldCanvas .placed:focus-visible .selection-ring{stroke:#1b6c89;stroke-width:3}
.selected-inspector{flex-wrap:wrap;gap:12px 17px;padding:10px 0}
.selected-inspector label{display:flex;align-items:center;gap:7px;white-space:nowrap}
.selected-inspector .object-size-control input,.selected-inspector .object-rotation-control input{width:116px;padding:0;border:0;min-height:32px;accent-color:#1b6c89}
.selected-inspector output{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}
.selected-inspector .object-actions{display:flex;gap:10px;margin-left:auto}
.selected-inspector .object-actions button{margin:0;font-size:13px}
.pitch-type-control{display:flex;align-items:center;gap:12px;color:#31566b;font-size:14px;font-weight:650}
.pitch-type-control select{border:1px solid #c4d6df;border-radius:8px;background:#fff;color:#24465b;padding:9px 12px;min-height:42px;font:inherit}
.region-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:11px 13px;margin-bottom:15px;min-height:50px;border:1px solid #dbe7eb;border-radius:9px;background:#f7fafb}
.region-toolbar:has(>[hidden]):not(:has(>:not([hidden]))){display:none}
.selected-region-name{color:#28536b;font-size:13px;font-weight:650}
.app-shell .lesson-field-plan .plan-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:17px}
.plan-exercise-list{max-height:610px;gap:10px}
.plan-exercise{display:block;padding:0;background:#fff;overflow:hidden}
.plan-exercise>header{display:flex;align-items:center;gap:8px;padding:12px 10px;border-bottom:1px solid #e3ecef;background:#f6f9fb}
.plan-exercise>header>.text-button{flex:none;min-height:34px;padding:4px;font-size:12px;white-space:nowrap}
.plan-exercise-name strong>small{display:inline;margin-left:4px;font-weight:400}
.plan-group-list{display:grid;padding:6px;gap:4px}
.plan-group-list:empty{display:none}
.plan-group{display:flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:7px;padding:3px 5px;background:#fff;min-width:0}
.plan-group.is-selected{border-color:#7db2c0;background:#edf6f7}
.plan-group-select{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:35px;border:0;border-radius:5px;background:transparent;text-align:left;font:inherit;color:#335567;font-size:13px;cursor:pointer}
.plan-group .text-button{flex:none;padding:7px 3px;min-height:32px;font-size:12px}
.plan-group .region-delete{color:#ad5148}
.pitch-scale-note{color:#788e99;font-size:12px;margin:8px 0 0}
.region-label:focus-visible>rect{stroke:#17394d;stroke-width:4}
.plan-legend-item{align-items:flex-start;line-height:1.5;break-inside:avoid}
.plan-legend-item span:last-child{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
@media(max-width:1100px){.selected-inspector .object-actions{margin-left:0}.region-toolbar .pitch-size-control{margin-left:0}.app-shell .lesson-field-plan .plan-layout{grid-template-columns:minmax(205px,240px) minmax(0,1fr)}}
@media(max-width:760px){
  .app-shell .field-card>.tool-row .element-library{grid-column:1/-1}
  #equipmentPalette{max-height:none;padding:0 9px 10px}
  .element-group>div{grid-template-columns:repeat(4,minmax(0,1fr))}
  .app-shell .field-card>.tool-row .element-button{width:100%;min-height:66px;flex-direction:column}
  .selected-inspector{gap:8px 12px}
  .selected-inspector>.selection-name{width:100%}
  .selected-inspector .object-size-control,.selected-inspector .object-rotation-control{flex:1 1 100%;justify-content:space-between}
  .selected-inspector .object-size-control input,.selected-inspector .object-rotation-control input{flex:1;max-width:200px}
  .selected-inspector .object-actions{width:100%;justify-content:flex-end}
  .pitch-toolbar{gap:10px}
  .pitch-toolbar .pitch-type-control{width:100%;justify-content:space-between}
  .pitch-type-control select{flex:1;max-width:215px}
  .region-toolbar{gap:8px;padding:11px}
  .selected-region-name{width:100%}
  .region-toolbar .pitch-size-control{margin:0;width:100%;font-size:13px}
  .region-toolbar .pitch-size-control input{flex:1;min-width:0}
  .region-toolbar .plan-color-control{font-size:13px}
  .app-shell .lesson-field-plan .plan-layout{display:flex;flex-direction:column}
  .plan-canvas{order:1;width:100%}
  .plan-exercise-list{order:2;grid-template-columns:1fr;width:100%;max-height:none}
  .plan-exercise>header{padding:10px 12px}
  .plan-group-list{padding:6px 10px}
}
@media print{.plan-legend{font-size:9pt}.plan-legend-item{gap:2mm}.plan-legend-item strong{font-size:9pt}}
