/* yard area styles — dock scheduler, gate manager, work manager (Taiga Day tokens only) */
.ym-view { display: flex; flex-direction: column; gap: var(--space-4); }
.ym-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-3); }
.ym-toolbar .field { min-width: 160px; }
.ym-buttons { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.ym-legend { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--text-muted); font-size: 13px; }
.ym-swatch { display: inline-block; width: 14px; height: 14px; border: 1px solid var(--border); border-radius: var(--radius-s); vertical-align: middle; }
.ym-card { overflow: auto; max-height: calc(100vh - 260px); }

.ym-grid { display: grid; position: relative; min-width: max-content; background: var(--surface); }
.ym-corner, .ym-head { position: sticky; top: 0; z-index: 3; background: var(--surface); border-bottom: 1px solid var(--border); }
.ym-head { padding: var(--space-1) var(--space-2); font-weight: 600; color: var(--pine); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-time { position: sticky; left: 0; z-index: 2; background: var(--surface); padding-right: var(--space-2); text-align: right; font-size: 12px; color: var(--text-muted); border-right: 1px solid var(--border); }
.ym-cell { border-bottom: 1px dashed var(--border); border-right: 1px solid var(--border); background: var(--surface); }
.ym-cell:hover { background: var(--pine-soft); }
.ym-nonwork { background: var(--surface-2); }
.ym-blocked { background: repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 4px, rgb(185 58 48 / .14) 4px, rgb(185 58 48 / .14) 8px); }
.ym-res { z-index: 1; margin: 1px 3px; padding: 2px var(--space-2); border-radius: var(--radius-s); border: 1px solid var(--pine); border-left: 4px solid var(--pine);
  background: var(--surface); font-size: 12px; line-height: 1.3; overflow: hidden; cursor: pointer; text-align: left; color: var(--text); }
.ym-res.ym-shipping { border-color: var(--accent); border-left-color: var(--accent); }
.ym-res.ym-unconfirmed { border-style: dashed; border-left-style: solid; }
.ym-res.ym-conflict { box-shadow: inset 0 0 0 2px var(--danger); }
.ym-res.ym-outside-wt { background: var(--surface-2); }
.ym-res:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ym-res-top { display: flex; gap: var(--space-1); align-items: center; flex-wrap: wrap; }
.ym-virtual { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; padding: var(--space-3) 0; }
.ym-virtual h3 { width: 100%; margin: 0; font-size: 14px; color: var(--text-muted); }
.ym-chip { margin: 0; }
.ym-row-conflict td:first-child { box-shadow: inset 3px 0 0 var(--danger); }

.ym-gate-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: var(--space-4); }
.ym-gate-panel h2 { margin-top: 0; color: var(--pine); }
.ym-results { margin: var(--space-3) 0; display: flex; flex-direction: column; gap: var(--space-2); }
.ym-results h3 { margin: var(--space-2) 0 var(--space-1); font-size: 14px; color: var(--text-muted); }
.ym-hit { display: block; padding: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-s); margin-bottom: var(--space-1); }
.ym-docs { border: 1px solid var(--border); border-radius: var(--radius-s); padding: var(--space-2); display: flex; flex-wrap: wrap; gap: var(--space-3); }
.ym-msg:empty { display: none; }
.ym-checks { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.ym-table td, .ym-table th { white-space: nowrap; }
.ym-pane, .ym-wm { display: flex; flex-direction: column; gap: var(--space-3); }
.ym-wm h3 { margin: var(--space-2) 0 0; font-size: 14px; color: var(--pine); }
