:root{--bg: #07121e;--header-bg: #04090f;--status-bg: #030810;--border: #1a3352;--text: #f0f6ff;--text-muted: #6fa5cc;--text-dim: #3d6a8a;--row-bg: #0c1d30;--row-hover: #112540;--live-green: #22c55e;--dead-red: #ef4444}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);-webkit-tap-highlight-color:transparent}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.sticky-chrome{position:sticky;top:0;z-index:100;background:var(--bg)}.header{background:var(--header-bg);border-bottom:3px solid #3b82f6;padding:.5rem .75rem;display:flex;align-items:center;gap:.6rem;flex-shrink:0;box-shadow:0 2px 20px rgba(0,0,0,.65)}.logo-wrap{background:#fff;border-radius:.35rem;padding:.2rem .5rem;flex-shrink:0;display:flex;align-items:center}.logo-img{height:1.7rem;width:auto;display:block}.title-block{flex:1;min-width:0}.app-title{font-size:1.15rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sub{font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.clock-block{text-align:right;flex-shrink:0}.clock-time{font-size:.9rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1}.clock-date{font-size:.55rem;color:var(--text-muted);white-space:nowrap;margin-top:.1rem}.fs-btn{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.4);border-radius:.35rem;padding:.25rem .5rem;color:#3b82f6;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s;font-size:1.2rem;line-height:1}.fs-btn:hover{background:rgba(59,130,246,.3);border-color:#3b82f6}.fs-label{font-size:.42rem;font-weight:700;letter-spacing:.08em;white-space:nowrap}.scroll-toggle{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:transparent;border:none;cursor:pointer;flex-shrink:0;padding:0}.scroll-track{width:2.2rem;height:1.1rem;border-radius:99px;display:flex;align-items:center;padding:.15rem;transition:background .25s,box-shadow .25s}.scroll-on .scroll-track{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.5)}.scroll-off .scroll-track{background:#374151}.scroll-knob{width:.8rem;height:.8rem;border-radius:50%;background:#fff;transition:transform .25s;flex-shrink:0}.scroll-on .scroll-knob{transform:translate(1.1rem)}.scroll-off .scroll-knob{transform:translate(0)}.scroll-label{font-size:.42rem;font-weight:800;letter-spacing:.1em;white-space:nowrap;transition:color .25s}.scroll-on .scroll-label{color:#22c55e}.scroll-off .scroll-label{color:#6b7280}@media (min-width: 768px){.scroll-track{width:2.6rem;height:1.3rem}.scroll-knob{width:1rem;height:1rem}.scroll-on .scroll-knob{transform:translate(1.3rem)}.scroll-label{font-size:.5rem}}@media (min-width: 1200px){.scroll-track{width:3rem;height:1.5rem}.scroll-knob{width:1.15rem;height:1.15rem}.scroll-on .scroll-knob{transform:translate(1.5rem)}.scroll-label{font-size:.55rem}}.statusbar{background:var(--status-bg);border-bottom:1px solid var(--border);padding:.2rem .75rem;display:flex;align-items:center;gap:.5rem;font-size:.68rem;flex-shrink:0}.status-dot{width:.45rem;height:.45rem;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}.last-update{color:var(--text-dim);white-space:nowrap}.total-banner{background:linear-gradient(135deg,#0d1f35,#091629);border-bottom:1px solid var(--border);padding:.5rem .75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.total-main{display:flex;align-items:baseline;gap:.45rem;flex-shrink:0}.total-num{font-size:2rem;font-weight:900;color:#f0f6ff;line-height:1;font-variant-numeric:tabular-nums}.total-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.total-chips{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.total-chip{font-size:1.1rem;font-weight:800;letter-spacing:.06em;border:2px solid;border-radius:99px;padding:.25rem .9rem;white-space:nowrap}.board{flex:1;padding:.4rem .5rem 2rem;display:flex;flex-direction:column;gap:.3rem}.inv-row{background:var(--row-bg);border:1px solid var(--border);border-left:3px solid var(--row-color, #3b82f6);border-radius:.4rem;padding:.35rem .65rem .3rem;display:flex;flex-direction:column;gap:.25rem;transition:background .12s;flex-shrink:0}.inv-row:hover{background:var(--row-hover)}.inv-row-hold{opacity:.65}.inv-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-shrink:0}.inv-info{flex:1;min-width:0}.inv-company{font-size:.85rem;font-weight:700;color:var(--text);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-meta{display:flex;align-items:baseline;gap:.3rem;flex-wrap:wrap}.inv-number{font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.inv-po{font-size:.62rem;color:var(--text-dim);white-space:nowrap}.inv-date-block{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.1rem}.inv-date{font-size:.65rem;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.inv-signed-date{font-size:.6rem;font-weight:700;color:#eab308;white-space:nowrap;font-variant-numeric:tabular-nums}.progress-bar{display:flex;gap:2px;border-radius:.3rem;overflow:hidden;height:1.4rem;flex-shrink:0}.progress-seg{display:flex;align-items:center;justify-content:center;gap:.2rem;flex:1;height:100%;transition:background .2s;min-width:0;overflow:hidden;border-radius:2px}.seg-done{background:var(--seg-color);opacity:.75}.seg-active{background:var(--seg-color);opacity:1;box-shadow:0 0 8px var(--seg-color)}.seg-future{background:var(--seg-color-dim, rgba(255,255,255,.06));border:1px solid var(--seg-color);opacity:.45}.hold-seg{background:rgba(107,114,128,.35);border:1px solid #6b7280;border-radius:.3rem;flex:1}.seg-check{font-size:.55rem;font-weight:900;color:rgba(255,255,255,.9);flex-shrink:0;line-height:1}.seg-label{font-size:.52rem;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.seg-active .seg-label{font-size:.6rem;color:#fff}.empty-state{text-align:center;padding:4rem 1.5rem}.empty-icon{font-size:3.5rem;margin-bottom:1rem;opacity:.25}.empty-label{font-size:1.2rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.empty-sub{font-size:.82rem;color:var(--text-dim);margin-top:.5rem}@media (min-width: 768px){.header{padding:.6rem 1.25rem;gap:.75rem}.logo-img{height:2.2rem}.app-title{font-size:1.6rem}.clock-time{font-size:1.2rem}.clock-date{font-size:.65rem}.fs-btn{font-size:1.6rem;padding:.35rem .7rem}.fs-label{font-size:.52rem}.statusbar{padding:.25rem 1.25rem;font-size:.75rem}.total-banner{padding:.6rem 1.25rem}.total-num{font-size:2.6rem}.total-label{font-size:.8rem}.total-chip{font-size:1.35rem;padding:.3rem 1.1rem}.board{padding:.5rem .9rem 2rem;gap:.35rem}.inv-row{padding:.4rem .9rem .35rem}.progress-bar{height:1.6rem}.inv-company{font-size:.95rem}.inv-number{font-size:.78rem}.inv-date{font-size:.72rem}.seg-label{font-size:.58rem}.seg-active .seg-label{font-size:.68rem}}@media (min-width: 1200px){.header{padding:.75rem 2rem}.logo-img{height:2.7rem}.app-title{font-size:2rem}.clock-time{font-size:1.6rem}.fs-btn{font-size:2rem;padding:.45rem .9rem}.fs-label{font-size:.58rem}.statusbar{padding:.28rem 2rem}.total-banner{padding:.65rem 2rem}.total-num{font-size:3rem}.total-label{font-size:.9rem}.total-chip{font-size:1.6rem;padding:.35rem 1.3rem}.board{padding:.6rem 1.5rem 2rem;gap:.4rem}.inv-row{padding:.45rem 1.1rem .4rem;border-radius:.45rem}.progress-bar{height:1.75rem}.inv-company{font-size:1.05rem}.inv-number{font-size:.85rem}.inv-date{font-size:.78rem}.seg-label{font-size:.62rem}.seg-active .seg-label{font-size:.75rem}}@supports (padding: env(safe-area-inset-bottom)){.board{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.header{padding-top:calc(.5rem + env(safe-area-inset-top))}}
