/* Additions to the unchanged Server 1 stylesheet. */
.manual-link { display:inline-block; border:0; background:none; color:#64748b; font-size:.78rem; padding:3px 0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.manual-link:hover { color:#365b32; }
.qty-button { border:0; border-radius:7px; background:#e2e9dc; color:#35552d; font-size:1.5rem; width:44px; height:38px; }
.shortage-count { width:65px; }
.assembly-photo { width:100px; height:100px; object-fit:cover; border-radius:8px; }
.action-error { max-width:650px; }
.item-card.done { opacity:1; }
.item-card.done .item-card-main { background:#f0f6ea; }
.environment-label { background: #ecf0e5; color: #52643d; text-align: center; padding: 6px 12px; font-size: .8rem; }
.login-card { max-width: 420px; margin-top: 8vh; }
.amounts { display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; }
.amounts dt { font-weight: 400; color: #64748b; }
.amounts dd { text-align: right; margin: 0; }
.operation-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.details-data { background: #f7f9fb; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px; max-height: 360px; white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; font-size: .78rem; }
.item-price { flex-shrink: 0; font-size: .9rem; }
.product-placeholder { display: grid; place-items: center; width: 52px; height: 52px; background: #f1f5ed; border-radius: 8px; font-size: 1.5rem; }
.item-img-col { width: 52px; }
.item-info { padding: 10px; }
.shipment-summary { min-width: 0; }
summary { cursor: pointer; }
a:focus-visible,button:focus-visible { outline: 3px solid #a7c581; outline-offset: 3px; }
.navbar-collapse { padding-bottom: 0; }

/* ── Warehouse glance (ORDERZ 1.0 look): what to pick, where it goes ── */
.order-number { font-size: .85rem; font-weight: 500; color: #64748b; }
.order-number a { color: inherit; text-decoration: none; }
.order-number a:hover { text-decoration: underline; }
.qty-figure { font-size: 1.75rem; font-weight: 700; line-height: 1; color: #1a202c; }
.destination-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 8px 0 4px; padding: 10px 12px; background: #f0f6ea; border: 1.5px solid #dbe7cf; border-radius: 10px; text-decoration: none; }
a.destination-line:hover { background: #e6efdb; }
.destination-main { font-size: 1.25rem; font-weight: 700; color: #35552d; line-height: 1.25; overflow-wrap: anywhere; }
.destination-point { font-size: 1.05rem; font-weight: 600; color: #52643d; }
.pick-line { display: flex; align-items: baseline; gap: 12px; padding: 6px 0; border-bottom: 1px dashed #e2e8f0; }
.pick-line:last-child { border-bottom: 0; }
.pick-name { font-size: 1.4rem; font-weight: 700; line-height: 1.2; color: #1a202c; overflow-wrap: anywhere; }
.pick-qty { margin-left: auto; font-size: 1.4rem; font-weight: 700; color: #1e3c72; white-space: nowrap; }

/* Card items: the plant and its quantity dominate the row. */
.item-name { font-size: 1.25rem; }
.item-qty-badge { font-size: 1.2rem; }
.qty-button { width: 52px; height: 44px; font-size: 1.7rem; }
.shortage-form .manual-link, .manual-actions .manual-link { display: inline-flex; align-items: center; min-height: 40px; padding: 4px 14px; border-radius: 8px; background: #e2e9dc; font-size: .95rem; font-weight: 600; text-underline-offset: 0; }
.shortage-form .manual-link:hover, .manual-actions .manual-link:hover { background: #d3e0c4; color: #2c4a24; text-decoration: none; }
details.card > summary { font-weight: 600; }

@media (max-width: 575px) {
  .operation-row { align-items: start; }
  .operation-row > span { max-width: 52%; text-align: right; }
  .item-price { font-size: .8rem; }
  .item-img-col { width: 38px; margin-left: 8px; }
  .product-placeholder { width: 38px; height: 46px; }
  .item-name { font-size: 1.1rem; }
  .item-qty-badge { font-size: 1.05rem; padding: 5px 12px; }
  .pick-name, .pick-qty { font-size: 1.2rem; }
  .destination-main { font-size: 1.1rem; }
  .qty-figure { font-size: 1.5rem; }
  .navbar-collapse { padding: 12px 0; }
}

/* ── Kanban board: check cards by assembly stage, no horizontal scroll ── */
.kanban-board { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; margin-bottom: 10px; }
.kanban-col { flex: 1 1 175px; min-width: 170px; max-width: 280px; background: #f6f8f4; border: 1.5px solid #e2e8f0; border-radius: 10px; padding: 8px; }
.kanban-col-head { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; padding: 0 2px; }
.kanban-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.kanban-dot-new { background: #94a3b8; } .kanban-dot-payment { background: #f59e0b; }
.kanban-dot-assembly { background: #4d7c0f; } .kanban-dot-packaging { background: #0d9488; }
.kanban-dot-packed { background: #14532d; } .kanban-dot-closed { background: #a1a1aa; }
.kanban-col-title { font-weight: 600; font-size: .84rem; line-height: 1.2; }
.kanban-count { margin-left: auto; background: #e2e9dc; color: #35552d; font-weight: 700; font-size: .74rem; border-radius: 999px; padding: 1px 8px; }
.kanban-cards { display: flex; flex-direction: column; gap: 7px; }
.kanban-empty { color: #b6c2ba; font-size: .74rem; padding: 2px; }
.kanban-check { position: relative; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 8px; padding: 7px 9px; font-variant-numeric: tabular-nums; }
.kanban-check:hover { border-color: #dbe7cf; }
.kanban-check-top { display: flex; align-items: baseline; margin-bottom: 3px; }
.kanban-check-num { font-weight: 700; font-size: .92rem; color: #1a202c; text-decoration: none; }
.kanban-check-num:hover { text-decoration: underline; }
.kanban-check-date { margin-left: auto; font-size: .68rem; color: #94a3b8; }
.kanban-line { display: flex; align-items: baseline; gap: 5px; font-size: .78rem; padding: 1.5px 0; }
.kanban-line-name { overflow-wrap: anywhere; }
.kanban-line-dots { flex: 1; border-bottom: 1.5px dotted #cbd5e1; transform: translateY(-2px); }
.kanban-line-price { font-weight: 600; white-space: nowrap; }
.kanban-total { display: flex; align-items: center; gap: 5px; margin-top: 4px; padding-top: 4px; border-top: 1.5px dashed #e2e8f0; font-size: .86rem; font-weight: 700; }
.kanban-places { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; }
.kanban-places-text { margin-left: auto; font-weight: 500; color: #94a3b8; font-size: .7rem; }
.kanban-parcel { display: inline-block; width: 13px; height: 11px; border: 1.5px solid #52643d; border-radius: 2.5px; position: relative; box-sizing: border-box; }
.kanban-parcel::after { content: ''; position: absolute; left: 50%; margin-left: -1px; top: -1px; bottom: -1px; border-left: 1.5px solid #52643d; }
.kanban-archive { margin-top: 2px; border: 1.5px solid #e4e4e7; border-radius: 10px; background: #f6f6f7; padding: 8px; }
.kanban-archive .kanban-count { background: #e4e4e7; color: #52525b; }
.kanban-cards-row { flex-direction: row; flex-wrap: wrap; }
.kanban-cards-row .kanban-check { flex: 1 1 210px; max-width: 280px; opacity: .72; }
@media (max-width: 575px) {
  .kanban-col { max-width: none; flex: 1 1 100%; }
  .kanban-line { font-size: .92rem; }
}
