:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #334155;--text: #f8fafc;--muted: #94a3b8;--muted-2: #64748b;--blue: #3b82f6;--green: #059669;--amber: #d97706;--red: #b91c1c}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,sans-serif;overflow:hidden;height:100vh}#app{display:flex;flex-direction:column;height:100vh}.hd-header{display:flex;align-items:center;justify-content:space-between;background:var(--panel);padding:12px 24px;border-bottom:1px solid var(--panel-2)}.hd-title{margin:0;font-size:1.6rem;font-weight:800;color:#60a5fa;letter-spacing:.04em;text-transform:uppercase}.hd-locname{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.hd-right{display:flex;align-items:center;gap:28px}.hd-clock{text-align:right}.hd-clock-time{font-size:1.6rem;font-weight:900;font-variant-numeric:tabular-nums}.hd-clock-date{font-size:.6rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em;font-weight:600}.hd-total{text-align:center;border-left:1px solid var(--panel-2);padding-left:24px}.hd-total-num{font-size:2.2rem;font-weight:900;color:#f43f5e;line-height:1}.hd-total-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2);font-weight:700;margin-top:2px}.hd-board{flex:1;overflow-y:auto;display:grid;gap:16px;padding:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:flex-start}.hd-empty{grid-column:1 / -1;text-align:center;color:var(--muted-2);font-size:1.1rem;padding:60px 20px}.card{background:var(--panel);border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:8px solid var(--blue);box-shadow:0 4px 8px #0000004d}.card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.card-name{font-size:1.35rem;font-weight:800;text-transform:uppercase;line-height:1.05}.card-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stat{background:var(--panel-2);border-radius:6px;padding:5px 12px;text-align:center;min-width:66px}.stat-label{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-val{font-size:1.5rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.stat.cancel{background:#7f1d1d;border:1px solid #dc2626}.stat.cancel .stat-label{color:#fca5a5}.stat.cancel .stat-val{color:#f87171}.card-big{min-width:96px;text-align:center;font-size:3.4rem;font-weight:900;line-height:1;background:var(--blue);color:#fff;padding:10px 18px;border-radius:10px;font-variant-numeric:tabular-nums;box-shadow:0 4px 15px #0000004d}.card.ok{border-left-color:#10b981}.card.ok .card-big{background:var(--green)}.card.zero{border-left-color:#f59e0b;background:#1c1a0e}.card.zero .card-big{background:var(--amber)}.card.break{border-left-color:#ef4444;background:#1f0a0a;animation:pulse 1.2s ease-in-out infinite}.card.break .card-big{background:var(--red)}@keyframes pulse{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 18px 4px #ef444473}}.card.warn:not(.zero):not(.break){border-left-color:#f59e0b}.card.warn:not(.zero):not(.break) .card-big{background:#d97706}.badge{display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:.05em}.badge.warn{background:#78350f;color:#fcd34d}.badge.zero{background:#92400e;color:#fde68a}.badge.break{background:#7f1d1d;color:#fca5a5;animation:blink 1s step-start infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hd-footer{display:flex;align-items:center;justify-content:space-between;background:#070b16;padding:6px 24px;border-top:1px solid #0b1121;font-size:.65rem;color:var(--muted-2);font-weight:600}.hd-conn{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hd-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 8px #ef4444cc}.hd-conn.on{color:#34d399}.hd-conn.on .hd-dot{background:#10b981;box-shadow:0 0 8px #10b981cc;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.hd-shell[data-v-4d52c956]{display:flex;flex-direction:column;height:100vh}
