:root{color:#e5eef8;background:#0f1722;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{background:linear-gradient(#0f1722 0%,#16212f 100%);width:100%;height:100%;margin:0;overflow:hidden}body{color:#e5eef8}button,input,select,textarea{font:inherit}#app{height:100vh;padding:12px}.shell{--tv-shift-x:0px;--tv-shift-y:0px;max-width:1880px;height:calc(100vh - 24px);transform:translate(var(--tv-shift-x), var(--tv-shift-y));grid-template-rows:auto minmax(0,1fr) auto;gap:12px;margin:0 auto;transition:transform 1.8s ease-in-out;display:grid}.topbar{justify-content:space-between;align-items:stretch;gap:16px;display:flex}.topbar-actions{align-items:stretch;gap:10px;display:flex}.mode-toggle{background:#ffffff0d;border:1px solid #8fb4d829;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.mode-btn{cursor:pointer;color:#a9c2da;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-weight:800}.mode-btn.active{color:#fff;background:#2563eb}#tvPauseBtn.active{color:#fde68a;background:#f59e0b38}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#8fb4d8;font-size:12px;font-weight:800}h1,h2{color:#f8fbff;margin:4px 0 0}h1{font-size:30px}h2{font-size:24px}.today-card,.hero-card,.calendar-panel,.sidebar-card,.form-card,.modal-card{background:#121c28f5;border:1px solid #8fb4d82e;border-radius:14px;box-shadow:0 8px 24px #00000038}.today-card{background:linear-gradient(#17324df2 0%,#11253afa 100%);border-color:#3b82f673;min-width:290px;padding:12px 14px}.today-label{color:#7dd3fc;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.today-day{color:#f8fbff;font-size:24px;font-weight:800}.today-date{color:#c0d4e7;font-size:16px}.hero-card,.sidebar-card,.calendar-panel,.form-card,.modal-card{min-height:0;padding:10px}.sidebar-title{letter-spacing:.12em;text-transform:uppercase;color:#8fb4d8;margin-bottom:8px;font-size:11px;font-weight:800}.stacked-label,label{color:#d7e5f3;gap:6px;font-size:13px;font-weight:700;display:grid}.helper-text{margin-top:8px}.watch-item,.rail-item,.span-item,.critical-item,.queue-item,.event-row{text-align:left;cursor:pointer;width:100%}.watch-item,.rail-item,.span-item,.critical-item,.queue-item,.event-row,.legend-chip,.checkbox-line{background:#ffffff0a;border:1px solid #8fb4d829;border-radius:10px}.watch-item,.critical-item,.queue-item,.event-row{margin-bottom:8px;padding:8px}.watch-item:hover,.rail-item:hover,.span-item:hover,.critical-item:hover,.queue-item:hover,.event-row:hover,.legend-chip:hover{background:#ffffff14}.watch-top,.span-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.watch-project,.rail-date,.span-range{color:#a9c2da;font-size:12px;font-weight:700}.watch-title,.rail-title,.span-title,.upcoming-title,.detail-title{color:#f8fbff;font-weight:800}.watch-title,.rail-title{margin-top:6px}.watch-meta,.rail-meta,.rail-submeta,.span-meta,.upcoming-meta,.upcoming-span,.detail-row,.muted,.panel-subtitle{color:#a9c2da;margin-top:4px;font-size:13px}.status-pill{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.status-pill.good{color:#6ee7b7;background:#10b98129}.status-pill.warn{color:#fcd34d;background:#f59e0b29}.status-pill.bad{color:#fca5a5;background:#ef444429}.status-pill.neutral{color:#cbd5e1;background:#94a3b82e}#watchItems,#upcomingRail,#spanRail,.project-calendar-list,.ops-list{gap:8px;display:grid}.rail-item{border-top:4px solid #3b82f6;padding:10px}.ops-board{height:calc(100% - 8px);min-height:0}.ops-summary-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.ops-summary-chip{background:#ffffff0a;border:1px solid #8fb4d829;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.ops-summary-chip strong{color:#f8fbff;font-size:22px}.ops-summary-chip span{color:#a9c2da;font-size:12px}.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:calc(100% - 72px);display:grid}.ops-grid-tv{grid-template-columns:1.15fr 1.35fr}.ops-section{background:#ffffff08;border:1px solid #8fb4d829;border-radius:12px;min-height:0;padding:10px;overflow:auto}.ops-section-alert{border-color:#ef444447}.ops-card{text-align:left;cursor:pointer;width:100%;color:inherit;background:#ffffff0a;border:1px solid #8fb4d829;border-top:4px solid #3b82f6;border-radius:10px;padding:10px}.ops-card:hover{background:#ffffff14}.ops-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.ops-card-project,.ops-card-meta,.ops-card-extra{color:#a9c2da;font-size:12px}.ops-card-title{color:#f8fbff;margin-top:6px;font-weight:800}.ops-card-extra{margin-top:6px}.span-item{padding:10px}.span-bar{background:#ffffff0f;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.span-bar span{border-radius:999px;width:72%;height:100%;display:block}.layout{grid-template-columns:270px minmax(0,1.35fr) 300px;gap:12px;min-height:0;display:grid}.left-rail{grid-template-rows:.8fr 1fr 1fr;gap:10px;min-height:0;display:grid}.left-rail .hero-card,.sidebar-card{overflow:auto}.calendar-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.panel-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.legend-inline{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:60%;display:flex}.legend-chip{align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.legend-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.sidebar{grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.queue-item,.critical-item{border-left:4px solid #ef4444}.detail-actions{margin-top:12px}.primary-btn,.secondary-btn,.danger-btn,.icon-btn{cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-weight:800}.primary-btn{color:#fff;background:#2563eb}.secondary-btn{color:#dbeafe;background:#93c5fd24}.danger-btn{color:#fecaca;background:#ef44442e}.icon-btn{color:#dbeafe;background:#ffffff14;font-size:18px;line-height:1}#calendar{min-height:0}#calendar.hidden,.ops-board.hidden{display:none}.fc{height:100%}.fc .fc-toolbar-title{color:#f8fbff;font-size:20px}.fc .fc-button{background:#17324d;border-color:#17324d}.fc .fc-button:hover,.fc .fc-button:focus{background:#204263;border-color:#204263}.fc .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:#8fb4d824}.fc .fc-daygrid-day-frame{background:#ffffff05;min-height:88px}.fc .fc-day-today .fc-daygrid-day-frame{background:linear-gradient(#2563eb4d 0%,#0ea5e92e 100%);box-shadow:inset 0 0 0 1px #7dd3fc47}.fc .fc-col-header-cell{color:#a9c2da;background:#ffffff0d;font-weight:800}.fc .fc-daygrid-event{border-radius:7px;padding:2px 4px;font-weight:800}.fc .fc-daygrid-day-number,.fc .fc-col-header-cell-cushion{color:#dce8f5;font-weight:800}.fc .fc-day-other .fc-daygrid-day-number{color:#69829b}.modal-overlay.hidden{display:none}.modal-overlay{z-index:1000;background:#03080eb8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{width:min(1100px,100vw - 48px);max-height:calc(100vh - 48px);overflow:auto}.wide-modal{width:min(1200px,100vw - 48px)}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-form-shell{box-shadow:none;background:0 0;border:none;padding:0}.form-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}input,select,textarea{color:#f8fbff;background:#ffffff14;border:1px solid #8fb4d83d;border-radius:8px;width:100%;padding:9px 10px}select{appearance:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}option{color:#f8fbff;background:#182433}.checkbox-row{gap:18px;margin-top:12px;margin-bottom:12px;display:flex}.checkbox-row label,.checkbox-line{align-items:center;gap:8px;display:flex}.checkbox-line{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;padding:8px 12px;display:grid}.checkbox-line input[type=checkbox]{justify-self:center;width:16px;height:16px;margin:0}.checkbox-line span{text-align:left;word-break:break-word;display:block}.form-actions{gap:10px;margin-top:14px;display:flex}.ticker-wrap{color:#fff;background:#0a1018fa;border:1px solid #8fb4d82e;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;display:grid;overflow:hidden}.ticker-label{letter-spacing:.12em;text-transform:uppercase;color:#8fb4d8;white-space:nowrap;font-size:12px;font-weight:800}.ticker-viewport{min-width:0;overflow:hidden}.ticker-track{white-space:nowrap;gap:36px;min-width:100%;padding-left:100%;animation:45s linear infinite ticker-scroll;display:inline-flex}.ticker-item{font-weight:700;position:relative}.ticker-item:before{content:"●";color:var(--ticker-color,#10b981);margin-right:10px}@keyframes ticker-scroll{0%{transform:translate(0%)}to{transform:translate(-100%)}}body.tv-mode .layout{grid-template-columns:200px minmax(0,1.6fr) 230px}body.tv-mode .left-rail{grid-template-rows:auto auto auto;gap:8px}body.tv-mode .hero-card,body.tv-mode .sidebar-card,body.tv-mode .calendar-panel{padding:8px}body.tv-mode .today-card{min-width:230px;padding:10px 12px}body.tv-mode .today-day{font-size:20px}body.tv-mode .today-date{font-size:14px}body.tv-mode .legend-inline{gap:4px;max-width:42%}body.tv-mode .legend-chip{padding:3px 7px;font-size:11px}body.tv-mode .watch-item,body.tv-mode .rail-item,body.tv-mode .span-item,body.tv-mode .critical-item,body.tv-mode .queue-item,body.tv-mode .event-row,body.tv-mode .ops-card{padding:7px}body.tv-mode .watch-meta,body.tv-mode .rail-meta,body.tv-mode .rail-submeta,body.tv-mode .span-meta,body.tv-mode .upcoming-meta,body.tv-mode .upcoming-span,body.tv-mode .detail-row,body.tv-mode .muted,body.tv-mode .panel-subtitle{font-size:12px}body.tv-mode .sidebar-title{margin-bottom:6px}body.tv-mode .ops-summary-chip strong{font-size:18px}body.tv-mode .ops-summary-chip span,body.tv-mode .ops-card-project,body.tv-mode .ops-card-meta,body.tv-mode .ops-card-extra{font-size:11px}body.tv-mode .ops-card-title{font-size:15px}body.tv-mode .fc .fc-toolbar-title{font-size:18px}body.tv-mode .fc .fc-daygrid-day-frame{min-height:98px}body.tv-mode .compact-card:nth-child(2),body.tv-mode .details-card{display:none}body.tv-mode .sidebar{grid-template-rows:minmax(0,1fr)}@media (width<=1600px){.layout{grid-template-columns:240px minmax(0,1.2fr) 280px}.legend-inline{max-width:52%}.fc .fc-daygrid-day-frame{min-height:76px}body.tv-mode .layout{grid-template-columns:180px minmax(0,1.45fr) 210px}body.tv-mode .fc .fc-daygrid-day-frame{min-height:86px}}
