/* Complementos: pantalla de acceso (también se sirve sin sesión) y pequeños ajustes de legibilidad. */
.login-wrap{max-width:420px;margin:10vh auto;padding:24px}
.login-wrap .brand-mark{width:40px;height:40px;font-size:1.2rem;border-radius:10px}
.login-wrap .eyebrow{margin:14px 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.login-wrap h1{font-size:1.7rem;margin-bottom:6px}
.login-wrap .card{display:grid;gap:16px;padding:24px;margin:22px 0;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
.login-wrap label{display:grid;gap:6px;font-weight:600}
.login-wrap input{width:100%;font-weight:400}
.login-wrap #login-error:empty{display:none}
tbody tr:hover td{background:#fafbfe}
tr.selected:hover td{background:var(--blue-soft)}

/* Destino visible por puesto; confirmación en la misma pantalla, sin ventana de etiqueta. */
.print-destination{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.print-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #93c5fd;background:#eff6ff;border-radius:12px;color:#1e3a8a}
.print-inline .row{margin:0}.print-inline kbd{margin-left:6px}
@media(max-width:900px){.print-destination{max-width:170px}}

.pack-controls:has(.print-inline) .pack-navigation,.pack-controls:has(.print-inline) .pack-shortcuts{display:none}
.pack-controls .pack-status:empty{display:none}
.topbar .nav a{white-space:nowrap}
@media(min-width:781px) and (max-width:1200px){.topbar{gap:12px;padding-inline:16px}.topbar-right{gap:8px}.operator select{max-width:125px}.print-destination{max-width:185px}.nav a{padding-inline:10px}}
/* La cantidad dinámica conserva el área de la fila en escritorio y pantallas estrechas. */
.pack-quantity-slot{display:contents}
.print-destination{text-align:left}
/* La consulta real mantiene el producto completo visible, sin controles de almacén. */
.live-order .live-line { grid-template-columns: minmax(150px,220px) minmax(0,1fr) minmax(180px,250px); }
.live-order .pack-product h3 { overflow-wrap:anywhere; line-height:1.45; }
@media(max-width:800px){.live-order .live-line {grid-template-columns:120px minmax(0,1fr);} .live-order .pack-qty{grid-column:2;} }

/* Confirmación local: cantidad comercial y envases físicos separados. */
.composition-control{display:grid;gap:10px;margin-top:12px;max-width:260px}.composition-control label{display:grid;gap:6px;font-weight:600}.composition-control input{width:100%;font-size:20px;min-height:44px}.pack-qty.unknown{display:flex;flex-direction:column;gap:6px}.pack-qty.unknown>strong{font-size:32px;color:var(--text,#14243e)}

/* Avisos de cancelacion y pausa de preparacion. */
.cancellation-indicator { color:#475569; font-size:12px; font-weight:650; text-decoration:none; white-space:nowrap; padding:7px 10px; border-radius:8px; border:1px solid #dbe3ef; }
.cancellation-indicator.has-alert { background:#fff1f2; color:#a51c30; border-color:#fecdd3; }
.cancel-sync-note { background:#f1f5f9; color:#475569; padding:12px 16px; border-radius:10px; font-size:13px; }
.cancellation-list { display:grid; gap:14px; margin:18px 0; }
.cancel-card { border-left:4px solid #dc3545; margin:0; padding:20px; }
.cancel-card h3 { margin:0; }
.cancel-card.held { border-left-color:#64748b; }
.cancel-instruction { font-weight:650; color:#9f1239; }
.cancel-card.held .cancel-instruction { color:#475569; }
.pack-cancellation-alert { border:2px solid #dc3545; background:#fff1f2; color:#881337; border-radius:12px; padding:20px; margin-bottom:14px; }
.pack-cancellation-alert h2 { font-size:22px; margin:0 0 8px; }
.pack-cancellation-alert p { margin:0 0 16px; }
.pack-card.cancel-stopped { opacity:.65; border-color:#fecdd3; }
.cancel-global-alert { position:sticky; top:56px; z-index:20; padding:12px 28px; background:#fff1f2; border-bottom:1px solid #fecdd3; color:#9f1239; font-size:14px; }
.cancel-global-alert[hidden] { display:none; }
.cancel-global-alert a { color:inherit; text-decoration:underline; font-weight:650; }
.pack-cancellation-alert { scroll-margin-top:116px; }

/* Identidad del canal: archivos locales, nombre de la cuenta siempre visible. */
.channel-label{display:inline-flex;align-items:center;gap:10px;min-width:0;vertical-align:middle}
.channel-logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;background:#fff;border:1px solid #e9edf3;border-radius:7px;overflow:hidden}
.channel-logo img{display:block;width:24px;height:24px;object-fit:contain}
.channel-logo-all{background:#f0f5ff;color:#5674a7}
.channel-logo-all::before{content:'';width:7px;height:7px;border-radius:2px;background:currentColor;box-shadow:10px 0 currentColor,0 10px currentColor,10px 10px currentColor;transform:translate(-5px,-5px)}
.channel-name{min-width:0;line-height:1.35}
.channel-select{position:relative;max-width:100%;min-width:240px}
button.channel-trigger{width:100%;min-height:44px;justify-content:space-between;gap:18px;padding:6px 12px 6px 8px;background:#fff;border:1px solid var(--border-strong);color:var(--text);font-weight:500;text-align:left;box-shadow:0 1px 2px #122c5310}
button.channel-trigger:hover,button.channel-trigger[aria-expanded=true]{background:#f8faff;border-color:#93b4ff;color:var(--text)}
.channel-trigger>span:first-child{min-width:0}
.channel-trigger .channel-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.channel-chevron{width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:rotate(45deg);margin:-4px 3px 0 0}
[aria-expanded=true]>.channel-chevron{transform:rotate(225deg);margin-top:4px}
.channel-options{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:100%;min-width:330px;max-width:calc(100vw - 48px);margin:0;padding:5px;background:#fff;border:1px solid #dce5f1;border-radius:11px;box-shadow:0 12px 32px #18345a24;overflow:auto;overscroll-behavior:contain}
.channel-options[hidden]{display:none}
.channel-options.opens-up{top:auto;bottom:calc(100% + 6px)}
.channel-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border-radius:7px;min-height:44px;cursor:pointer;color:var(--text);font-weight:500}
.channel-option:hover,.channel-option.is-active{background:#f0f5ff}
.channel-option[aria-selected=true]{color:var(--blue-dark);background:#edf4ff}
.channel-selected-mark{color:var(--blue);font-weight:700;visibility:hidden}
.channel-option[aria-selected=true] .channel-selected-mark{visibility:visible}
.today-shop-head h2 .channel-logo{width:34px;height:34px;flex-basis:34px;border-radius:9px}
.today-shop-head h2 .channel-logo img{width:28px;height:28px}
@media(max-width:540px){.channel-select{min-width:0;width:100%}.channel-trigger .channel-name{max-width:calc(100vw - 150px)}.channel-options{min-width:0}.channel-option .channel-name{overflow-wrap:anywhere}}

/* Solo la etiqueta de antigüedad de Incompletos: no indica que haya salido mercancía. */
.wait-badge.wait-age-0 { background:#f1f5f9; color:#475569; }
.wait-badge.wait-age-1 { background:#dcfce7; color:#166534; }
.wait-badge.wait-age-2 { background:#fef3c7; color:#713f12; }
.wait-badge.wait-age-3 { background:#ffedd5; color:#9a3412; }
.wait-badge.wait-age-4 { background:#fee2e2; color:#991b1b; }
