:root{--bg: #07121e;--header-bg: #04090f;--status-bg: #030810;--carrier-bg: #b84200;--carrier-unassign: #2a3a4a;--card-even: #0f2035;--card-odd: #0b1929;--card-hover: #162f4e;--border: #1a3352;--orange: #ff6a1a;--orange-lt: #ffa06e;--text: #f0f6ff;--text-muted: #6fa5cc;--text-dim: #3d6a8a;--live-green: #22c55e;--dead-red: #ef4444;--urgency-red: #ef4444;--urgency-yellow: #eab308;--urgency-green: #22c55e;--urgency-future: #06b6d4;--urgency-blue: #3b82f6;--urgency-overdue: #f97316;--pkg-pending: #1e3a4a;--pkg-complete: #22c55e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);overflow:hidden;height:100%}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:clamp(.8rem,1.5vh,2rem)}.spinner{width:clamp(2.5rem,5vw,7rem);height:clamp(2.5rem,5vw,7rem);border:clamp(.2rem,.4vw,.6rem) solid var(--border);border-top-color:var(--orange);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:clamp(1rem,1.8vw,2.8rem);color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase}.header{background:var(--header-bg);border-bottom:clamp(2px,.3vh,5px) solid var(--carrier-bg);padding:clamp(.6rem,1.2vh,1.8rem) clamp(1rem,2.2vw,3.5rem);display:flex;align-items:center;gap:clamp(.8rem,1.8vw,3rem);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #000000a6}.logo-wrap{background:#fff;border-radius:clamp(.25rem,.45vw,.7rem);padding:clamp(.3rem,.6vh,.9rem) clamp(.7rem,1.4vw,2.2rem);flex-shrink:0;display:flex;align-items:center}.logo-img{height:clamp(1.8rem,3.4vw,5.4rem);width:auto;display:block}.title-block{flex:1;min-width:0}.app-title{font-size:clamp(1.5rem,3vw,5rem);font-weight:800;color:var(--text);letter-spacing:.06em;text-transform:uppercase;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sub{font-size:clamp(.65rem,1.05vw,1.7rem);color:var(--text-dim);margin-top:clamp(.1rem,.25vh,.5rem);letter-spacing:.1em;text-transform:uppercase}.header-right{text-align:right;flex-shrink:0}.clock{font-size:clamp(1.5rem,3vw,5rem);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1;white-space:nowrap}.dateline{font-size:clamp(.65rem,1.05vw,1.7rem);color:var(--text-muted);margin-top:clamp(.1rem,.25vh,.5rem);letter-spacing:.06em;white-space:nowrap}.fs-btn{display:flex;flex-direction:column;align-items:center;gap:clamp(.1rem,.2vh,.3rem);background:#ff6a1a1f;border:1px solid rgba(255,106,26,.35);border-radius:clamp(.25rem,.45vw,.7rem);padding:clamp(.3rem,.6vh,.9rem) clamp(.5rem,1vw,1.5rem);color:var(--orange);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s;font-size:clamp(1.2rem,2.2vw,3.5rem);line-height:1}.fs-btn:hover{background:#ff6a1a40;border-color:var(--orange)}.fs-label{font-size:clamp(.5rem,.7vw,1.1rem);font-weight:700;letter-spacing:.08em;white-space:nowrap}.statusbar{background:var(--status-bg);border-bottom:1px solid var(--border);padding:clamp(.3rem,.55vh,.9rem) clamp(1rem,2.2vw,3.5rem);display:flex;align-items:center;gap:clamp(.5rem,1vw,1.8rem);font-size:clamp(.7rem,1vw,1.7rem)}.status-dot{width:clamp(.55rem,.9vw,1.4rem);height:clamp(.55rem,.9vw,1.4rem);border-radius:50%;flex-shrink:0}.status-dot.live{background:var(--live-green);animation:pulse 2.2s ease-in-out infinite}.status-dot.dead{background:var(--dead-red)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.status-text{color:var(--text-muted);flex:1}.ticket-count{font-weight:700;color:var(--orange);letter-spacing:.05em;white-space:nowrap}.last-update{color:var(--text-dim);white-space:nowrap}.board{padding:clamp(.6rem,1.2vh,2rem) clamp(.6rem,1.2vw,2rem)}.empty-state{text-align:center;padding:clamp(4rem,10vh,10rem) clamp(1rem,2vw,3rem)}.empty-icon{font-size:clamp(4rem,10vw,14rem);margin-bottom:clamp(1rem,2vh,3rem);opacity:.2}.empty-label{font-size:clamp(1.5rem,2.8vw,4.5rem);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.empty-sub{font-size:clamp(.9rem,1.4vw,2.2rem);color:var(--text-dim);margin-top:clamp(.4rem,.8vh,1.2rem);letter-spacing:.06em}.carrier-section{margin-bottom:clamp(.5rem,1vh,1.6rem);border-radius:clamp(.3rem,.5vw,.8rem);overflow:hidden;border:1px solid var(--border);box-shadow:0 2px 10px #00000073}.carrier-header{padding:clamp(.6rem,1vh,1.5rem) clamp(1rem,2.2vw,3.5rem);display:flex;align-items:center;gap:clamp(.6rem,1.2vw,2rem);-webkit-user-select:none;user-select:none}.carrier-header{background:linear-gradient(90deg,var(--carrier-bg),#8b3000)}.carrier-header.unassigned{background:linear-gradient(90deg,var(--carrier-unassign),#1a2a38)}.carrier-icon{font-size:clamp(1.2rem,2.2vw,3.5rem);flex-shrink:0}.carrier-name{font-size:clamp(1.4rem,2.5vw,4.2rem);font-weight:800;text-transform:uppercase;letter-spacing:.08em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carrier-badge{font-size:clamp(.75rem,1.1vw,1.8rem);font-weight:700;background:#00000059;padding:clamp(.2rem,.35vh,.5rem) clamp(.5rem,.9vw,1.4rem);border-radius:clamp(.2rem,.35vw,.5rem);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.ticket-row{border-top:1px solid var(--border);border-left:clamp(5px,.6vw,9px) solid transparent;border-right:clamp(5px,.6vw,9px) solid var(--pkg-pending);padding:clamp(.55rem,1vh,1.5rem) clamp(1rem,2vw,3rem);display:flex;align-items:center;gap:clamp(.8rem,1.6vw,2.8rem);transition:background .12s;cursor:default}.ticket-row.even{background:var(--card-even)}.ticket-row.odd{background:var(--card-odd)}.ticket-row:hover{background:var(--card-hover)}.urgency-red{border-left-color:var(--urgency-red)}.urgency-yellow{border-left-color:var(--urgency-yellow)}.urgency-green{border-left-color:var(--urgency-green)}.urgency-future{border-left-color:var(--urgency-future)}.urgency-blue{border-left-color:var(--urgency-blue)}.urgency-overdue{border-left-color:var(--urgency-overdue)}.pkg-pending{border-right-color:var(--pkg-pending)}.pkg-complete{border-right-color:var(--pkg-complete)}.urgency-red{background:#ef44441a;transition:background .35s ease-in-out}.urgency-overdue{background:#f973161a;transition:background .45s ease-in-out}.board.red-flash-on .urgency-red:not(.pkg-complete){background:#ef444442}.board.orange-flash-on .urgency-overdue:not(.pkg-complete){background:#f9731642}.urgency-red:hover,.urgency-overdue:hover{background:var(--card-hover);transition:none}.col-date{width:8ch;flex-shrink:0;font-size:clamp(1.1rem,1.8vw,3rem);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.col-pickup{width:7.5ch;flex-shrink:0;font-size:clamp(1.1rem,1.8vw,3rem);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.col-company{flex:1;min-width:0;font-size:clamp(1.4rem,2.4vw,4rem);font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-dt{width:9ch;flex-shrink:0;font-size:clamp(1.1rem,1.8vw,3rem);font-weight:700;color:var(--orange);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.col-po{width:14ch;flex-shrink:0;font-size:clamp(1rem,1.6vw,2.6rem);font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-empty{color:var(--text-dim)}.no-tickets{background:var(--card-odd);border-top:1px solid var(--border);padding:clamp(.5rem,1vh,1.4rem) clamp(1rem,2.2vw,3.5rem);font-size:clamp(.9rem,1.4vw,2.2rem);color:var(--text-dim);text-align:center;font-style:italic;letter-spacing:.04em}.reconnect-banner{position:fixed;bottom:clamp(1rem,2vh,3rem);left:50%;transform:translate(-50%);background:#7c1d1d;color:#fff;padding:clamp(.5rem,1vh,1.5rem) clamp(1.5rem,3vw,4rem);border-radius:clamp(.4rem,.7vw,1rem);font-size:clamp(.85rem,1.3vw,2.2rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;z-index:200;box-shadow:0 4px 20px #000000a6;white-space:nowrap}
