body{font-family:system-ui,Arial,sans-serif;background:#f6f7fb;color:#172033;margin:0}main{max-width:960px;margin:auto;padding:1rem}.card{background:white;border-radius:14px;padding:1rem;margin:1rem 0;box-shadow:0 3px 18px #0001}.phase{position:relative}.phase-number{float:right;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:800}.instruction{font-size:1.05rem;font-weight:650}input,textarea,button{box-sizing:border-box;width:100%;padding:.8rem;margin:.35rem 0;border:1px solid #ccd;border-radius:10px;font-size:1rem}button,.button,.button-link{background:#2563eb;color:white;border:0;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;padding:.8rem;border-radius:10px}.button-link{padding:.5rem .7rem;margin-top:.4rem}button:disabled{cursor:not-allowed;opacity:.65}.secondary{background:#64748b}.danger{background:#dc2626}.scan-button{font-size:1.1rem;font-weight:700;padding:1rem}.summary{background:#eff6ff;border-radius:10px;padding:.8rem}.summary ul{margin:.4rem 0 0}.package-confirmation{display:flex;flex-direction:column;gap:.45rem;margin:.8rem 0;padding:.8rem;border:2px solid #bfdbfe;border-radius:10px;background:#eff6ff}.package-confirmation dl{margin:0}.package-confirmation dl div{display:grid;grid-template-columns:minmax(95px,1fr) 2fr;gap:.5rem;padding:.2rem 0}.package-confirmation dt{font-weight:700}.package-confirmation dd{margin:0;overflow-wrap:anywhere}.route-list{padding-left:2rem}.route-list li{border-left:8px solid;padding:.7rem;margin:.6rem 0;background:#f8fafc;border-radius:8px}.route-list li span{display:block;margin-top:.2rem}.color-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%}.stop{border-left:12px solid #4f46e5;padding:.9rem;margin:.8rem 0;background:#f8fafc;border-radius:10px}.stop-complete{background:#f0fdf4}.stop header{display:flex;flex-direction:column;gap:.4rem;align-items:start}.stop h3,.stop p{margin:.2rem 0}.packages{margin-top:.8rem}.package{display:grid;grid-template-columns:76px 1fr;gap:.75rem;align-items:center;background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:.65rem;margin:.6rem 0}.package.is-delivered{background:#f0fdf4;border-color:#86efac}.pickup-thumb{display:block;width:76px;height:76px;border-radius:8px;overflow:hidden;background:#e2e8f0}.pickup-thumb img{display:block;width:100%;height:100%;object-fit:cover}.package-info{display:flex;flex-direction:column;gap:.15rem}.status{font-size:.85rem;font-weight:700;text-transform:uppercase;color:#475569}.deliver-button,.delivered-label{grid-column:1/-1}.deliver-button{background:#15803d;font-weight:700}.delivered-label{color:#166534;text-align:center}.error{color:#b91c1c}.hint{color:#64748b;font-size:.9rem}details{margin:.5rem 0}summary{cursor:pointer;color:#475569}#scanner{margin:.5rem 0}#scannerVideo{display:block;width:100%;max-height:55vh;border-radius:10px;background:#111;object-fit:cover}.run-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.run-stats div{background:white;padding:.5rem;border-radius:8px}.run-stats dt{font-size:.8rem;color:#64748b}.run-stats dd{margin:0;font-weight:650}@media(min-width:700px){form{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}textarea{grid-column:span 2}.stop header{flex-direction:row;justify-content:space-between}.package{grid-template-columns:76px 1fr auto}.deliver-button,.delivered-label{grid-column:auto;width:auto;min-width:130px}.run-stats{grid-template-columns:repeat(3,1fr)}}

.userbar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#fff;border-bottom:1px solid #ddd}.userbar form{margin:0}.userbar button{width:auto;margin:0}.login{max-width:420px;margin:10vh auto}.login label{display:block;margin:.8rem 0}.login input{display:block;width:100%;box-sizing:border-box;margin-top:.3rem}
.forbidden{max-width:560px;margin:10vh auto}.forbidden-actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.forbidden-actions form{display:block}.forbidden-actions button,.forbidden-actions .button-link{width:100%;box-sizing:border-box;margin:0;padding:.8rem}
