.v3-production-board{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));align-items:start;overflow-x:visible}.v3-production-board>.panel{min-width:0}.v3-production-board .card{display:grid;gap:8px}.v3-production-board .card header{display:grid;gap:3px}.v3-production-board .card header b{font-size:14px}.v3-production-board .card header span{color:var(--muted);font-weight:650}.v3-production-board .card p{margin:0}.v3-board-vehicle{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-board-facts,.v3-board-tires{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-board-due{font-weight:750}.v3-board-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted)}.v3-board-worker{padding-top:7px;border-top:1px solid var(--line)}.v3-board-alerts{display:flex;gap:5px;flex-wrap:wrap;min-height:22px}.v3-board-alert{padding:3px 7px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.03em;background:#e9eef5;color:#364152}.v3-board-alert.danger{background:#ffe3e5;color:var(--red)}.v3-board-alert.warning{background:#fff0d7;color:var(--amber)}.v3-board-alert.info{background:#e2efff;color:var(--blue)}.v3-board-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.v3-board-actions button{width:100%;min-height:34px}.v3-board-detail{order:-1}

/* Etap A2.4: production, stations and QC — responsive presentation only. */
.v3-production-board,.v3-production-board .card,.v3-quality-order-card,#v3-task-details,#v3-task-details .panel,.grid>.panel{min-width:0;max-width:100%;overflow-wrap:anywhere}.v3-board-actions button,#v3-quality-actions button,#v3-task-details .actions button{min-height:44px}.kanban{max-width:100%;overscroll-behavior-x:contain}.v3-quality-order-card small{white-space:normal;overflow-wrap:anywhere}#v3-quality-actions{align-items:center;flex-wrap:wrap;gap:10px}#v3-task-details .actions{align-items:stretch;flex-wrap:wrap;gap:10px}
.v3-board-photo{position:relative;display:grid;place-items:center;width:100%;height:150px;padding:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:12px;background:#edf2f7;color:#64748b;font-size:12px;text-align:center}.v3-board-photo img{width:100%;height:100%;object-fit:cover}.v3-board-photo:not(.v3-board-photo-empty)>span{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:#102033d9;color:#fff;font-size:10px;font-weight:800}.v3-board-photo-empty{line-height:1.3}.v3-board-photo:hover{border-color:#1769e0;box-shadow:0 0 0 2px #1769e026}
.v3-stations-grid{align-items:start}.v3-station-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.v3-station-card:hover,.v3-station-card:focus-visible{border-color:#1769e0;box-shadow:0 0 0 3px #1769e01f;outline:0}.v3-station-card.is-expanded{grid-column:span 2;cursor:default}.v3-station-summary{display:grid;gap:8px}.v3-station-summary h2,.v3-station-summary p{margin:0}.v3-station-hint{margin-top:8px;color:#1769e0;font-size:12px;font-weight:800}.v3-station-queue{cursor:default}.v3-station-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.v3-station-queue-head h3{margin:0}.v3-station-order{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}.v3-station-order>.v3-board-photo{width:112px;height:92px}.v3-station-order>div{display:grid;gap:4px;min-width:0}.v3-station-order>div>span{font-weight:700}.v3-station-order small{color:var(--muted)}.v3-station-order button{margin-top:4px;width:100%}@media(max-width:700px){.v3-station-card.is-expanded{grid-column:1/-1}.v3-station-order{grid-template-columns:92px minmax(0,1fr)}.v3-station-order>.v3-board-photo{width:92px;height:82px}}
@media(max-width:620px){.v3-production-board .card{padding:14px}.v3-production-board .card header b{font-size:17px}.v3-board-vehicle,.v3-board-facts,.v3-board-tires{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.v3-board-meta{align-items:flex-start;flex-direction:column}.v3-board-actions{gap:8px}.v3-board-actions button{min-height:46px}.v3-quality-order-card small{display:block}#v3-quality-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}#v3-quality-actions>span,#v3-quality-actions button{width:100%}#v3-quality-actions button{min-height:46px}#v3-task-details .panel{padding:14px}#v3-task-details .actions{display:grid;grid-template-columns:minmax(0,1fr)}#v3-task-details .actions button,#v3-task-details>[data-v3-task-close]{width:100%;min-height:46px}}
@media(max-width:480px){.assembly-task,.assembly-hero,.assembly-block,.assembly-instructions,.assembly-comment{min-width:0;max-width:100%;overflow-wrap:anywhere}.assembly-hero h2,.assembly-vehicle,.assembly-main-instruction,.assembly-location strong{overflow-wrap:anywhere}.assembly-facts span,.assembly-block p{white-space:normal}.assembly-comment textarea{min-width:0;max-width:100%;min-height:120px}.assembly-comment button,.assembly-actions button{min-height:46px}.assembly-actions{display:grid;grid-template-columns:minmax(0,1fr)}.v3-board-alert{font-size:11px}.kanban{overflow-x:auto;-webkit-overflow-scrolling:touch}}
.v3-board-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid #9fc1ff;border-radius:12px;background:#eaf2ff;color:#0c4ea3}.v3-board-count{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;padding:0 7px;border-radius:99px;background:#e9eef5;color:#364152;font-size:12px}@media(max-width:620px){.v3-board-filter{align-items:stretch;flex-direction:column}.v3-board-filter button{width:100%}}
.v3-assignment-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#10203399}.v3-assignment-dialog{width:min(520px,100%);max-height:min(80vh,680px);margin:0;overflow-y:auto;box-shadow:0 24px 70px #0004}.v3-assignment-dialog>p{color:var(--muted)}.v3-assignment-candidates{display:grid;gap:10px;margin:16px 0}.v3-assignment-candidates button{display:grid;gap:4px;width:100%;min-height:52px;text-align:left}.v3-assignment-candidates button span{color:var(--muted);font-size:12px}@media(max-width:480px){.v3-assignment-dialog-backdrop{align-items:end;padding:10px}.v3-assignment-dialog{max-height:90vh;padding:16px}.v3-assignment-candidates button{min-height:48px}}
