:root{color-scheme:dark;--bg:#0b121c;--panel:#121e2c;--line:#253347;--text:#e4edf7;--muted:#90a3b9;--green:#65e1c0;--red:#ff8c8c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 'Segoe UI',sans-serif}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#101a27;padding:36px 24px;border-right:1px solid var(--line)}.brand{font-size:26px;font-weight:700;color:var(--green)}aside p,small{font-size:11px;letter-spacing:1.5px;color:var(--muted)}aside a{display:block;margin-top:45px;padding:12px;background:#203344;color:var(--text);text-decoration:none;border-radius:8px}.aside-bottom{position:absolute;bottom:32px;color:var(--muted)}main{margin-left:230px;padding:42px;max-width:1600px}header,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:34px;letter-spacing:-1px;margin:8px 0}h2{font-size:20px}p{color:var(--muted)}section,details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;margin:24px 0}.stats{background:none;border:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats article{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.stats strong{display:block;font-size:36px;margin-top:8px}button,input,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:10px 14px}input,select{background:#0b1521;color:var(--text)}button{background:var(--green);color:#09251d;cursor:pointer;font-weight:600}button:hover{filter:brightness(1.12)}label{display:flex;flex-direction:column;gap:6px}form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}#cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card{text-align:left;background:var(--panel);color:var(--text);padding:22px;font-weight:400}.card h3{margin:8px 0}.card p{margin:5px 0}.badge{font-size:12px;color:var(--green)}.warn{color:var(--red)}.scroll{max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted)}canvas{width:100%;display:block;background:#0c1723;border-radius:8px}.muted,footer{font-size:12px;color:var(--muted)}#message{color:var(--red);min-height:24px}.toolbar{flex-wrap:wrap}#search{min-width:260px}summary{cursor:pointer}details form{margin-top:20px}[hidden]{display:none!important}@media(max-width:900px){aside{display:none}main{margin:0;padding:20px}.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:26px}}@media print{aside,button,details,#search,#login{display:none}main{margin:0;color:black}.scroll{max-height:none}}
:root a{color:var(--green)}#message{font-size:13px}#incidents:empty{display:none}

#cards{display:block}.store-group{margin:24px 0}.store-nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.speed-panel{border-top:1px solid var(--line);margin:20px 0;padding-top:12px}button:disabled{opacity:.5;cursor:default}#rename-form{padding:16px 0}

#speed-overview{scroll-margin-top:20px}#speed-overview h2{margin:0}.schedule{margin:6px 0 0}.schedule strong{color:var(--text)}.speed-controls{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 12px}.speed-controls label:first-child{flex:1;min-width:0}.speed-controls select{width:100%;min-width:0}.speed-latest{background:#0c1723;border:1px solid var(--line);border-radius:8px;padding:14px;color:var(--green);font-size:17px}.speed-latest:empty{display:none}aside a+a{margin-top:12px}#detail{scroll-margin-top:20px}@media(max-width:600px){.speed-controls{display:block}.speed-controls label{margin-bottom:12px}#speed-overview{padding:18px}.speed-latest{font-size:15px}}

.chart-panel{border-top:1px solid var(--line);padding-top:12px;margin-top:20px}.chart-panel h3{margin:8px 0}.chart-panel .toolbar label{max-width:100%;min-width:0}.chart-panel select{max-width:100%;width:280px}.chart-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.chart-stats>div{background:#0c1723;padding:12px;border-radius:8px}.chart-stats small{letter-spacing:.5px;font-size:10px}.chart-stats strong{display:block;font-size:23px;margin-top:6px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;margin-top:12px;color:var(--muted)}.chart-legend span::before{content:'';display:inline-block;width:10px;height:10px;margin-right:6px;background:#65e1c0;border-radius:2px}.chart-legend .legend-failure::before{background:#ff8c8c}.chart-legend .legend-gap::before{background:#46556a}.chart-legend .legend-load::before{background:#e5bc4a}.chart-tooltip{font-size:13px;min-height:22px;color:var(--text)}#chart-address{overflow-wrap:anywhere}.compact-log{max-height:360px}.compact-log td{padding:9px 12px;vertical-align:top}.compact-log td small{display:block;color:var(--muted);font-size:11px;letter-spacing:0;margin-top:3px}.compact-log .log-problem>td:nth-child(2){color:var(--red)}.compact-log .observation-gap>td:nth-child(2){color:var(--muted)}.probe-details{background:none;border:0;border-radius:0;padding:0;margin:0;min-width:80px}.probe-details summary{color:var(--green);white-space:nowrap}.probe-details .scroll{max-height:240px;min-width:260px;margin-top:10px}.probe-details table td{padding:6px;font-size:12px;overflow-wrap:anywhere}.probe-details p{max-width:380px}#log-count{margin:10px 0}@media(max-width:700px){.chart-stats{grid-template-columns:repeat(2,1fr)}.chart-panel .toolbar{align-items:start;display:block}.chart-panel .toolbar label{width:100%;margin-bottom:12px}.chart-panel select{width:100%}.compact-log{max-height:360px}.compact-log>table{min-width:570px}.chart-tooltip{min-height:40px}.chart-stats strong{font-size:20px}}
/* Business events are separate from synthetic network probes. */
.marking-event{border:1px solid #344155;border-radius:12px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.marking-event h3{margin:0 0 8px}.marking-event p{margin:8px 0}.marking-explanation{font-weight:600}.marking-warning{border-left:3px solid #dfad52;padding:8px 12px;background:#dfad5214;border-radius:4px;overflow-wrap:anywhere}.marking-event summary{cursor:pointer;padding:6px 0}.marking-event details{margin-top:8px}.marking-event table{min-width:540px}.marking-event td{max-width:400px;overflow-wrap:anywhere}

#archive-records pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:40rem}#archive-controls button{align-self:end}#archive-file{max-width:100%;box-sizing:border-box}
/* Daily journals: three scheduled readings, secondary detail on demand. */
.speed-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;align-items:center}.rate-download{color:#65e1c0}.rate-upload{color:#ff8c8c}.speed-pair{display:flex;gap:16px;font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.speed-pair>span{white-space:nowrap}.speed-latest{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;color:var(--text);font-size:13px}.speed-table-wrap{overflow-x:auto}.speed-days{table-layout:fixed;width:100%}.speed-days th:first-child{width:22%}.speed-days th small{display:block;letter-spacing:0;margin-top:3px}.speed-days td{vertical-align:top;padding:15px 12px}.speed-date strong{font-weight:600;display:block}.speed-days .speed-pair{flex-direction:column;gap:2px;font-size:18px}.speed-reading,.speed-extra,.method-note{padding:0;margin:0;border:0;background:none;border-radius:0}.speed-reading summary{list-style:none;border-radius:6px;padding:2px}.speed-reading summary::-webkit-details-marker{display:none}.speed-reading summary::after{content:'Подробнее';font-size:10px;color:var(--muted)}.speed-reading summary:hover{background:#203344}.speed-reading summary:focus-visible{outline:2px solid var(--green)}.speed-reading[open] summary::after{content:'Свернуть'}.speed-absent{font-size:12px;color:var(--muted)}.speed-job{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.speed-job small{display:block;letter-spacing:0;font-size:11px}.speed-extra summary{color:var(--green);font-size:12px;margin-top:7px}.speed-extra .speed-pair{font-size:15px}.speed-job-state{font-size:13px}.method-note{margin-top:16px;font-size:12px;color:var(--muted)}.secondary-button{background:transparent;color:var(--muted)}.danger-button{background:transparent;border-color:#ff8c8c66;color:var(--red)}.journal-day{margin:10px 0;padding:0;border-radius:9px;background:#0c1723;overflow:hidden}.journal-day>summary{padding:13px 16px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.journal-day>summary::before{content:'▸';color:var(--green)}.journal-day[open]>summary::before{content:'▾'}.journal-day>summary strong{white-space:nowrap;font-size:14px}.journal-day>summary span{margin-left:auto;color:var(--muted);font-size:12px}.outage-list{padding:0 16px}.outage-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.outage-row small{grid-column:1/-1;letter-spacing:0;font-size:12px}.journal-day .marking-event{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:12px 16px}.journal-day .marking-event h3{font-size:14px;margin:0}.journal-day .marking-event p{font-size:12px;margin:5px 0}.journal-day .marking-event details{padding:0;border:0;margin:7px 0;background:none}.journal-day .marking-event summary{font-size:12px;color:var(--green)}
@media(max-width:600px){.speed-days td,.speed-days th{padding:10px 4px}.speed-days .speed-pair{font-size:14px}.speed-days th:first-child{width:24%}.speed-date strong{font-size:11px}.speed-absent{font-size:10px}.speed-days th{font-size:12px}.speed-days th small{font-size:10px}.speed-latest .speed-pair{font-size:16px}.journal-day>summary{padding:12px;flex-wrap:wrap;gap:5px 9px}.journal-day>summary span{width:100%;margin-left:18px}.outage-row{grid-template-columns:1fr}.outage-row small{grid-column:auto}.speed-extra summary{font-size:10px}.speed-job .speed-pair{font-size:12px}.speed-reading summary::after{font-size:9px}}
.speed-days .speed-pair{flex-direction:row;gap:12px;font-size:16px}.speed-days td{padding:10px 12px}.speed-reading summary{position:relative;padding-right:12px}.speed-reading summary::after{content:'⌄';position:absolute;right:0;top:3px;font-size:12px}.speed-reading[open] summary::after{content:'⌃'}.speed-date>small{letter-spacing:0;font-size:10px;color:var(--muted)}.speed-pair .rate-error{color:var(--red);font-size:13px}.speed-extra .speed-pair{flex-wrap:wrap}
@media(max-width:600px){.speed-days td{padding:9px 4px}.speed-days .speed-pair{flex-direction:column;gap:1px;font-size:14px}.speed-date strong{font-size:12px}.speed-reading summary{padding-right:7px}.speed-reading summary::after{right:-2px;font-size:10px}.speed-pair .rate-error{font-size:11px}}
/* Control room. Scoped so the portable archive viewer keeps its existing layout. */
.control-room{--bg:#0b1017;--panel:#131b25;--line:#25303d;--muted:#9caab9;--text:#edf2f7;background:radial-gradient(ellipse at 65% -20%,#1b303b55,transparent 55%),var(--bg);font:14px/1.5 'Segoe UI',sans-serif;min-height:100vh}
.control-room :focus-visible{outline:2px solid var(--green);outline-offset:4px}
.control-room button{transition:background .15s,border-color .15s,transform .15s}
.control-room a{text-decoration:none}.control-room .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.control-room aside{width:264px;background:#0e151e;padding:32px 18px 16px;display:flex;flex-direction:column;z-index:30;border-right:1px solid #ffffff0d}
.control-room .brand{display:flex;align-items:center;gap:12px;padding:0 13px;margin:0 0 37px;background:none;font-size:25px;letter-spacing:-1px;font-weight:700;color:var(--text)}
.control-room .brand svg{width:34px;height:34px;fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.control-room .brand small{display:block;font-size:8px;letter-spacing:1.8px;margin-top:1px;color:var(--muted)}
.control-room aside button,.control-room .sidebar-bottom a{background:none;color:var(--muted);border:0;text-align:left;font-weight:400;border-radius:9px;min-height:42px}
.control-room .primary-nav button{display:flex;gap:12px;align-items:center;width:100%;font-weight:600;padding:12px 15px}.control-room .nav-arrow{margin-left:auto;font-size:18px}
.control-room aside button.active{background:#65e1c012;color:var(--green)}.control-room aside button:hover,.control-room .sidebar-bottom a:hover{background:#ffffff06;color:var(--text);filter:none}
.control-room #node-navigation{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:30px}.control-room .nav-caption{font-size:10px;letter-spacing:1.6px;color:#7e8fa1;display:flex;justify-content:space-between;padding:0 13px;margin-bottom:13px}
.control-room .search-field{padding:0 5px;margin-bottom:12px}.control-room #search{width:100%;min-width:0;font-size:12px;padding:10px;background:#080e15;border-color:#ffffff0c;border-radius:7px}
.control-room #store-navigation{overflow:auto;flex:1;scrollbar-width:thin}.control-room .store-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 13px;color:#d6dfe9;font-size:12px;font-weight:600}.control-room .store-toggle>span:first-child{flex:1;overflow-wrap:anywhere}.control-room .store-toggle small{letter-spacing:0;color:#6e8295}
.control-room .nav-nodes{padding:0 4px 12px 15px}.control-room .nav-node{display:flex;align-items:center;width:100%;gap:10px;font-size:12px;padding:9px 12px}.control-room .nav-node span{overflow-wrap:anywhere}.control-room .nav-node.active{box-shadow:inset 2px 0 var(--green)}
.control-room .sidebar-bottom{margin-top:auto;padding-top:24px}.control-room .sidebar-bottom a,.control-room .sidebar-bottom button{display:flex;gap:12px;width:100%;margin:0;padding:10px 14px;font-size:12px}.control-room .secure-label{border-top:1px solid var(--line);padding:18px 8px 2px;margin-top:12px;font-size:10px;color:#788b9d;display:flex;align-items:center;gap:7px}
.control-room main{margin-left:264px;padding:0;max-width:none}.control-room .topbar{height:76px;border-bottom:1px solid #ffffff0b;padding:0 40px;background:#0b101780;gap:12px}.control-room .topbar-left,.control-room .topbar-right{display:flex;align-items:center;gap:17px;font-size:12px;min-width:0}.control-room .workspace-name{color:#d0dae5}.control-room .topbar-divider{color:#455568}.control-room #breadcrumb{color:#8394a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-room #sync-state{color:#8fa599;font-size:11px;white-space:nowrap}.control-room #sync-state::before{content:'●';font-size:7px;margin-right:8px;color:var(--green)}.control-room #sync-state.sync-error{color:#ffbc7b}.control-room #sync-state.sync-error::before{color:#ffbc7b}
.control-room .quiet-button,.control-room .secondary-button{background:transparent;color:var(--muted);font-size:12px;padding:7px 12px;border-color:#ffffff16}.control-room #menu-toggle{display:none}.control-room .workspace{padding:12px 40px 26px;max-width:1660px;margin:0 auto}.control-room #message{min-height:0;margin:0}.control-room #message:not(:empty){padding:12px 15px;background:#ff8c8c12;border:1px solid #ff8c8c44;border-radius:10px;margin:12px 0}
.control-room h1{font-size:36px;letter-spacing:-1.2px;font-weight:650;line-height:1.2;margin:12px 0}.control-room h2{font-size:18px;font-weight:600;letter-spacing:-.35px}.control-room h3{font-size:15px;font-weight:600}.control-room p{color:var(--muted)}.control-room small{letter-spacing:1.2px}.control-room .accent{color:var(--green)}.control-room .eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:#8c9ead;display:flex;gap:9px;align-items:center}.control-room .page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 18px}.control-room .page-heading p{font-size:13px;margin:0}.control-room .zone-label{font-size:11px;color:#8194a6;white-space:nowrap;border:1px solid var(--line);padding:7px 10px;border-radius:6px}
.control-room section{padding:24px;border-radius:14px;background:var(--panel);border-color:#ffffff0c;margin:20px 0}.control-room .overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin:12px 0 18px}.control-room .overview-grid section{margin:0;min-height:218px}.control-room .network-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;background:linear-gradient(120deg,#142a2b,#142128 55%,#14202a);position:relative;overflow:hidden;padding:28px}.control-room .network-hero>div:first-child{position:relative;z-index:1;flex:1}.control-room .network-hero small{font-size:9px;color:#85b4a9;letter-spacing:1.5px}.control-room .network-hero h2{font-size:25px;line-height:1.22;max-width:360px;letter-spacing:-.6px;margin:13px 0 10px}.control-room .network-hero p{font-size:12px;max-width:330px;margin:0}.control-room .hero-foot{display:flex;align-items:center;gap:7px;color:#81aa9e;font-size:10px;margin-top:23px}.control-room .coverage-ring{width:136px;height:136px;flex-shrink:0;border-radius:50%;background:conic-gradient(from -90deg,#65e1c0 var(--coverage,0%),#ffffff0c 0);padding:5px;box-shadow:0 0 0 14px #65e1c005,0 0 0 28px #65e1c003}.control-room .coverage-ring>div{height:100%;border-radius:50%;background:#142329;display:flex;align-items:center;justify-content:center;flex-direction:column}.control-room .coverage-ring strong{font-size:29px;font-weight:550;letter-spacing:-1px}.control-room .coverage-ring span{font-size:10px;color:#8ba59e;text-align:center;line-height:1.35;margin-top:5px}
.control-room .attention-panel{padding:20px 22px}.control-room .attention-panel h2{font-size:14px;margin:0}.control-room .count-pill{background:#ffffff08;border:1px solid #ffffff12;border-radius:6px;padding:2px 7px;color:#d7b88d;font-size:11px}.control-room .attention-item{display:flex;align-items:center;gap:11px;background:none;border:0;border-bottom:1px solid #ffffff09;border-radius:0;width:100%;padding:13px 0;color:var(--text);text-align:left}.control-room .attention-item>span:nth-child(2){flex:1;min-width:0}.control-room .attention-item strong{display:block;font-weight:500;font-size:12px;overflow-wrap:anywhere}.control-room .attention-item small{display:block;letter-spacing:0;color:var(--muted);font-size:10px;margin-top:3px}.control-room .attention-item>span:last-child{color:#728899}
.control-room .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #ffffff0c;border-radius:12px;background:#111922;overflow:hidden;margin:0 0 27px}.control-room .stats article{border:0;border-radius:0;background:none;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.control-room .stats article+article{border-left:1px solid #ffffff0b}.control-room .stats small{font-size:9px;color:#92a4b4;letter-spacing:1.15px}.control-room .stats strong{margin:0;font-size:27px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.control-room .stores-heading{margin:0 0 16px}.control-room .stores-heading h2{margin:0}.control-room .stores-heading p{margin:4px 0 0;font-size:11px}.control-room select{background:#111b26;border:1px solid #ffffff14;border-radius:7px;padding:8px 12px;font-size:12px}.control-room .store-filter select{font-size:11px}.control-room #cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.control-room .store-group{border:1px solid #ffffff10;border-radius:13px;background:#131c27;margin:0;overflow:hidden}.control-room .store-heading{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 16px;background:linear-gradient(125deg,#192633,#141d28)}.control-room .store-heading h3{font-size:22px;margin:6px 0 0;letter-spacing:-.5px;overflow-wrap:anywhere}.control-room .store-heading .eyebrow{font-size:8px;color:#7c91a5}.control-room .store-number{font-size:34px;letter-spacing:-2px;color:#3f5568;font-weight:300;flex-shrink:0}.control-room .store-nodes{display:block;gap:0;padding:0 18px}.control-room .card{width:100%;display:flex;align-items:center;gap:12px;border:0;border-top:1px solid #ffffff09;border-radius:0;background:none;padding:18px 3px;text-align:left}.control-room .card:first-child{border-top:0}.control-room .card:hover{background:#65e1c007;filter:none}.control-room .card-node{flex:1;min-width:0}.control-room .card-node strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.control-room .card small{display:block;font-size:10px;letter-spacing:0;color:#7e92a6;margin-top:5px}.control-room .card-status{max-width:52%;text-align:right}.control-room .card-arrow{color:#7f96a8;margin-left:4px}.control-room .fleet-note{font-size:11px;margin-top:18px;color:#8295a7}
.control-room .status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#6b7c90}.control-room .good{background:#65e1c0}.control-room .warning{background:#e4b56d}.control-room .danger{background:#ff8c8c}.control-room .pending{background:#a4a0f3}.control-room .unknown{background:#72869d}.control-room .status-badge{font-size:10px;font-weight:500;display:inline-flex;align-items:center;gap:6px;background:#8e9aaa10;color:#b0bece;border:1px solid #8e9aaa20;border-radius:5px;padding:3px 7px;line-height:1.4}.control-room .status-badge::before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.control-room .status-badge.good{background:#65e1c00b;color:#65e1c0;border-color:#65e1c024}.control-room .status-badge.warning{background:#e4b56d0b;color:#e4b56d;border-color:#e4b56d24}.control-room .status-badge.danger{background:#ff8c8c0b;color:#ff8c8c;border-color:#ff8c8c24}.control-room .status-badge.pending{background:#a4a0f30b;color:#b2adff;border-color:#a4a0f324}.control-room .status-badge.unknown{background:#8e9aaa0b;color:#adbdcf}.control-room .good-text{color:var(--green)}.control-room .warning-text{color:#e4b56d}
.control-room .node-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0 23px}.control-room .text-button{background:none;border:0;color:var(--green);font-size:11px;font-weight:500;padding:0;min-height:30px;white-space:nowrap}.control-room #back-overview{color:#7f94a8;margin-bottom:15px}.control-room .node-heading h1{margin:8px 0;font-size:32px;overflow-wrap:anywhere}.control-room .node-heading p{font-size:11px;margin:0}.control-room .node-heading-status{text-align:right}.control-room .node-heading-status p{margin-top:8px}.control-room .node-heading-status .status-badge{font-size:11px;padding:6px 10px}.control-room .node-tabs{display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:thin}.control-room .node-tabs button{background:none;color:#8d9faf;border:0;border-radius:0;font-size:12px;padding:12px 0 15px;white-space:nowrap;border-bottom:2px solid transparent;font-weight:500}.control-room .node-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.control-room .settings-tab{margin-left:auto}.control-room #node-summary{padding:0;border:0;margin:0;background:none}.control-room .summary-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.control-room .summary-caption h2{font-size:14px;margin:0}.control-room .summary-caption>span{font-size:10px;color:#8296a9}
.control-room .node-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.control-room .metric-card{background:#131d28;border:1px solid #ffffff0d;border-radius:12px;padding:20px;text-align:left;display:flex;flex-direction:column;color:var(--text);font-weight:400;min-height:180px}.control-room .metric-card:hover{border-color:#65e1c044;filter:none;transform:translateY(-2px)}.control-room .metric-label{color:#90a5b7;font-size:9px;letter-spacing:1px}.control-room .metric-card>strong{display:block;font-weight:550;font-size:23px;line-height:1.2;letter-spacing:-.5px;margin:20px 0 10px;overflow-wrap:anywhere}.control-room .metric-card>span:nth-last-child(2){font-size:10px;color:#8a9eaf;line-height:1.6}.control-room .metric-action{color:#b5c8d6;font-size:10px;padding-top:20px;margin-top:auto}.control-room #brief-speed .speed-pair{font-size:23px;letter-spacing:-.5px;gap:14px;flex-wrap:wrap}.control-room .node-bottom-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin:18px 0}.control-room .summary-block{background:#131b25;border:1px solid #ffffff0d;border-radius:12px;padding:21px}.control-room .summary-block h3{font-size:13px;margin:0}.control-room .subtle-tag{font-size:8px;color:#7b8fa3;letter-spacing:.8px}.control-room .event-preview{display:grid;position:relative;grid-template-columns:1fr;gap:3px;width:100%;text-align:left;background:none;border:0;border-top:1px solid #ffffff09;border-radius:0;padding:14px 19px 14px 14px;margin:0;color:var(--text);font-weight:400}.control-room .event-preview:first-child{margin-top:12px}.control-room .event-preview::before{content:'';width:4px;height:4px;border-radius:50%;background:#e4b56d;position:absolute;left:0;top:38px}.control-room .event-preview time{font-size:9px;color:#7d93a7}.control-room .event-preview strong{font-weight:500;font-size:12px}.control-room .event-preview>span{font-size:10px;color:#95a8b9;overflow-wrap:anywhere}.control-room .event-preview .event-arrow{position:absolute;right:0;top:30px}.control-room .direction-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #ffffff09;padding:12px 0;font-size:11px}.control-room .direction-row strong{font-size:10px;font-weight:500;text-align:right}.control-room .direction-row span{color:#a8b6c4}.control-room .observation-strip{padding:22px;border:1px solid #ffffff0d;border-radius:12px;background:#131b25}.control-room .observation-strip h3{font-size:13px;margin:0}.control-room #strip-period{font-size:10px;color:#7c92a7}.control-room #observation-bins{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:5px;margin:22px 0 14px}.control-room .observation-bin{height:32px;min-width:0;border:0;border-radius:3px;padding:0;opacity:.75}.control-room .observation-bin:hover{opacity:1;transform:scaleY(1.1)}.control-room .strip-legend{display:flex;align-items:center;gap:18px;font-size:9px;color:#9aacbc;flex-wrap:wrap}.control-room .strip-legend i{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:5px}.control-room .strip-legend button{margin-left:auto}.control-room .observation-strip .muted{font-size:10px;margin:8px 0 0}.control-room .empty-message{font-size:12px;line-height:1.8;color:#8c9eaf;padding:17px 0;margin:0}.control-room .empty-state{padding:36px;border:1px dashed #354658;border-radius:12px;grid-column:1/-1}.control-room .node-loading [data-node-panel]{opacity:.18;pointer-events:none}.control-room .node-loading::after{content:'Загружаем данные выбранной кассы…';display:block;position:fixed;left:50%;top:45%;transform:translateX(-30%);background:#1b2b3a;box-shadow:0 15px 70px #0008;border:1px solid #395264;padding:18px 24px;border-radius:10px;z-index:10;font-size:13px}
.control-room [data-node-panel]:not(#node-summary){margin:0}.control-room .speed-controls{margin-top:14px}.control-room .speed-controls label{font-size:11px}.control-room .speed-controls label:first-child{flex:none}.control-room .speed-controls select{min-width:160px}.control-room .section-intro{font-size:12px;max-width:760px}.control-room .marking-warning{font-size:12px}.control-room #link-state,.control-room #marking-status{font-size:12px;padding:12px 14px;border-radius:8px;background:#ffffff03}.control-room #link-count,.control-room #marking-count{font-size:12px}.control-room .method-note{font-size:11px}.control-room #marking-summary{font-size:11px}.control-room .journal-day{background:#0e1721;border-color:#ffffff0d}.control-room .toolbar>button{font-size:11px;background:#243b48;color:#bfe8dc;border-color:#65e1c02a;padding:9px 12px}.control-room #speed-run{background:var(--green);color:#0c2921}.control-room #speed-status{font-size:12px}.control-room .speed-latest{background:#0e1821}.control-room #node-settings .toolbar{justify-content:start}.control-room #node-settings h2{width:100%;margin:0 0 10px}.control-room #node-settings .danger-button{background:#ff8c8c0b;border-color:#ff8c8c40;color:var(--red)}.control-room #rename-form label{font-size:12px;flex:1;min-width:180px}.control-room .chart-panel{margin-top:16px}.control-room .chart-stats strong{font-size:23px}.control-room .chart-stats small{letter-spacing:.5px}.control-room .chart-stats>div{background:#0e1721}.control-room #summary{font-size:12px}.control-room .chart-legend,.control-room #chart-explanation{font-size:11px}
.control-room #archive-view{max-width:900px;margin:28px 0;background:none;padding:0;border:0}.control-room #archive-view .summary-block{margin-top:30px}.control-room .primary-link{display:inline-block;padding:11px 17px;border-radius:8px;background:var(--green);color:#0c2820;font-size:12px;font-weight:600}.control-room #login{max-width:560px;margin:9vh auto;padding:40px;background:linear-gradient(130deg,#172832,#131b25);border-color:#ffffff16}.control-room #login h1{font-size:32px;line-height:1.3;margin:20px 0}.control-room #login form{display:block;margin:26px 0 16px}.control-room #login label{font-size:12px}.control-room #login input{margin:5px 0 16px;width:100%;background:#0d1721}.control-room #login button{width:100%}.control-room #login p{font-size:12px}.control-room .login-emblem{font-size:32px;color:var(--green);margin-bottom:25px}.control-room footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#697f92;margin-top:30px;padding-top:20px;border-top:1px solid #ffffff08}.control-room footer b{color:var(--green);margin:0 5px}.control-room .nav-shade{display:none}
@media(min-width:1650px){.control-room #cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.control-room aside{width:230px}.control-room main{margin-left:230px}.control-room .workspace{padding:12px 26px 24px}.control-room .topbar{padding:0 26px}.control-room .network-hero{padding:23px;gap:15px}.control-room .coverage-ring{width:106px;height:106px}.control-room .coverage-ring strong{font-size:24px}.control-room .network-hero h2{font-size:22px}.control-room .stats article{padding:16px}.control-room .metric-card{padding:17px}.control-room .metric-card>strong,.control-room #brief-speed .speed-pair{font-size:20px}.control-room .card{flex-wrap:wrap}.control-room .card-status{max-width:none}.control-room .card-arrow{display:none}}
@media(max-width:1000px){.control-room .overview-grid{grid-template-columns:1fr}.control-room .overview-grid section{min-height:0}.control-room .network-hero{min-height:210px}.control-room .attention-panel{padding:18px 22px}.control-room .attention-item{padding:10px 0}.control-room .node-bottom-grid{grid-template-columns:1fr}.control-room .node-tabs{gap:19px}.control-room .stats small{font-size:8px;letter-spacing:.4px}.control-room .stats strong{font-size:24px}.control-room .summary-caption>span{font-size:9px}}
@media(max-width:800px){.control-room aside{display:flex;transform:translateX(-100%);width:280px;transition:transform .18s;box-shadow:15px 0 60px #0005}.control-room.nav-open aside{transform:translateX(0)}.control-room main{margin-left:0}.control-room .topbar{padding:0 20px;height:62px}.control-room #menu-toggle{display:block;background:none;border:1px solid #ffffff16;color:var(--text);padding:5px 10px;font-size:18px}.control-room .workspace-name,.control-room .topbar-divider{display:none}.control-room .topbar-left,.control-room .topbar-right{gap:10px}.control-room .workspace{padding:10px 20px 20px}.control-room .nav-shade:not([hidden]){display:block;position:fixed;inset:0;z-index:29;background:#0009;border:0;border-radius:0;backdrop-filter:blur(3px)}.control-room .page-heading{padding-top:20px}.control-room .stats small{font-size:9px}.control-room .stats article{padding:16px}.control-room .node-heading h1{font-size:28px}}
@media(max-width:560px){.control-room .workspace{padding:8px 16px 20px}.control-room .topbar{padding:0 16px}.control-room #sync-state{font-size:9px}.control-room .quiet-button{font-size:10px;padding:6px 8px}.control-room .page-heading{align-items:flex-start}.control-room h1{font-size:28px}.control-room .page-heading p{font-size:12px;max-width:290px}.control-room .zone-label{display:none}.control-room .eyebrow{font-size:9px}.control-room .network-hero{padding:20px;gap:12px;min-height:200px}.control-room .network-hero small{font-size:8px;letter-spacing:.8px}.control-room .network-hero h2{font-size:21px}.control-room .network-hero p{font-size:11px}.control-room .coverage-ring{width:91px;height:91px;padding:4px;box-shadow:0 0 0 8px #65e1c005}.control-room .coverage-ring strong{font-size:21px}.control-room .coverage-ring span{font-size:8px}.control-room .hero-foot{font-size:9px;margin-top:17px}.control-room .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.control-room .stats article{padding:12px 15px}.control-room .stats article:nth-child(3){border-left:0;border-top:1px solid #ffffff0b}.control-room .stats article:nth-child(4){border-top:1px solid #ffffff0b}.control-room .stats strong{font-size:25px}.control-room .stores-heading{align-items:flex-start;gap:12px}.control-room .stores-heading p{max-width:190px}.control-room .store-filter select{max-width:140px;font-size:10px;padding:7px}.control-room #cards{grid-template-columns:1fr}.control-room .store-heading{padding:18px 20px 13px}.control-room .store-heading h3{font-size:21px}.control-room .card{flex-wrap:nowrap}.control-room .card-status{max-width:52%}.control-room .card-node strong{font-size:12px}.control-room .card small{font-size:9px}.control-room .status-badge{font-size:9px}.control-room .node-heading{display:block;padding-bottom:18px}.control-room .node-heading-status{text-align:left;margin-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.control-room .node-heading-status p{margin:0;font-size:10px}.control-room .node-heading h1{font-size:30px}.control-room .node-tabs{gap:22px;margin-bottom:18px}.control-room .node-tabs button{font-size:12px;padding-bottom:12px}.control-room .summary-caption{display:block;margin-bottom:14px}.control-room .summary-caption>span{display:block;margin-top:5px;font-size:10px}.control-room .node-metrics{grid-template-columns:1fr;gap:10px}.control-room .metric-card{position:relative;min-height:0;padding:16px 18px}.control-room .metric-card>strong{font-size:23px;margin:11px 0 5px}.control-room .metric-card .metric-action{position:absolute;right:16px;top:13px;padding:0;font-size:9px;max-width:100px;text-align:right}.control-room .metric-label{font-size:8px;max-width:68%}.control-room .metric-card>span:nth-last-child(2){font-size:10px}.control-room #brief-speed .speed-pair{font-size:24px}.control-room .node-bottom-grid{gap:12px;margin-top:12px}.control-room .summary-block{padding:18px}.control-room .observation-strip{padding:18px}.control-room #observation-bins{gap:3px}.control-room .observation-bin{height:26px}.control-room .strip-legend{gap:8px 12px}.control-room .strip-legend button{margin-left:0}.control-room [data-node-panel]:not(#node-summary){padding:18px}.control-room .summary-block .toolbar{gap:8px}.control-room .subtle-tag{font-size:7px}.control-room .node-loading::after{left:50%;transform:translateX(-50%);max-width:90%;width:max-content;font-size:12px}.control-room #login{padding:24px;margin:5vh auto}.control-room #login h1{font-size:28px}.control-room footer{display:block;font-size:9px}.control-room footer span{display:block;margin:4px 0}.control-room .speed-pair{font-size:15px}}
@media(prefers-reduced-motion:reduce){.control-room *{transition:none!important;scroll-behavior:auto!important}}
/* Legibility at normal desktop scale; secondary information stays subordinate. */
.control-room .nav-node{font-size:13px}.control-room .store-toggle{font-size:13px}.control-room .card-node strong{font-size:14px}.control-room .card small{font-size:11px}.control-room .metric-card>span:nth-last-child(2){font-size:12px}.control-room .metric-label{font-size:10px}.control-room .metric-action{font-size:11px}.control-room .event-preview time{font-size:11px}.control-room .event-preview strong{font-size:13px}.control-room .event-preview>span{font-size:12px}.control-room .direction-row{font-size:12px}.control-room .direction-row strong{font-size:11px}.control-room .status-badge{font-size:11px}.control-room .fleet-note{font-size:12px}.control-room .node-tabs button{font-size:13px}
@media(max-width:560px){.control-room .card-node strong{font-size:13px}.control-room .card small{font-size:10px}.control-room .status-badge{font-size:10px}.control-room .metric-label{font-size:9px}.control-room .metric-card>span:nth-last-child(2){font-size:11px}.control-room .metric-card .metric-action{font-size:10px}.control-room .node-tabs button{font-size:12px}}
.control-room .strip-axis{display:flex;justify-content:space-between;font-size:9px;color:#7c92a7;margin:-5px 0 13px}.control-room #direction-at{font-size:10px}.control-room .event-preview{padding-top:16px;padding-bottom:16px}.control-room .node-metrics{align-items:stretch}.control-room .metric-card .metric-action{white-space:normal}.control-room .node-tabs{scroll-padding:12px}
