/* ops/ops.css — operatiivkaart: kaart + olukorrapaneel (laual kõrvuti, mobiilis üksteise all) */
.ops-brand em{font-style:normal;color:var(--orange);}
.ops-main{display:grid;grid-template-columns:1fr;gap:0;min-height:calc(100vh - 64px);}
@media (min-width:960px){.ops-main{grid-template-columns:1fr 380px;height:calc(100vh - 64px);}}
.ops-map{position:relative;min-height:55vh;background:#e8edf2;}
.ops-map-el{position:absolute;inset:0;}
.ops-map-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--s5);color:var(--slate);}
.ops-panel{overflow-y:auto;padding:var(--s4);background:var(--white);border-left:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s3);}
.ops-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);}
.ops-kpi{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s2) var(--s3);}
.ops-kpi .n{font-size:24px;font-weight:800;line-height:1.1;}
.ops-kpi .l{font-size:var(--fs-xs);color:var(--slate);}
.ops-kpi.bad{border-color:var(--red);background:var(--red-bg);}
.ops-kpi.bad .n{color:var(--red);}
.ops-layers{display:flex;flex-wrap:wrap;gap:6px;}
.ops-layers label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);padding:4px 10px;border:1px solid var(--border);border-radius:var(--pill);background:var(--paper);cursor:pointer;}
.ops-list{list-style:none;margin:0;padding:0;}
.ops-list li{border-bottom:1px dashed var(--border);}
.ops-list li:last-child{border-bottom:0;}
.ops-item{display:flex;gap:var(--s2);align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:8px 0;font:inherit;color:inherit;cursor:pointer;}
.ops-item:disabled{cursor:default;}
.ops-item:hover:not(:disabled) strong{text-decoration:underline;}
.ops-dot{flex:none;width:12px;height:12px;margin-top:4px;border-radius:50%;}
.ops-item-main{flex:1;min-width:0;overflow-wrap:anywhere;}
.ops-sec h2{font-size:var(--fs-md);margin:0 0 var(--s1);}
.ops-legend{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);font-size:var(--fs-xs);color:var(--slate);}
.ops-legend span{display:inline-flex;align-items:center;gap:4px;}
.ops-live{opacity:.85;}
.ops-body .app-header .bar{min-height:64px;}
.ops-title{font-size:var(--fs-xl);margin:0;overflow-wrap:anywhere;}
.ops-center{max-width:520px;margin:var(--s8) auto;}
