.analysis-shell{max-width:1480px;margin:auto;padding:34px clamp(16px,4vw,60px)}
.analysis-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.analysis-header h1{font-size:32px;letter-spacing:-.04em;margin:5px 0}.analysis-header p,.muted{color:#aaa9ae}.back{display:block;color:var(--copper);margin-bottom:25px}.actions{display:flex;gap:8px;flex-wrap:wrap}button,select,input{font:inherit;border:1px solid #42464e;border-radius:7px;background:#22262d;color:#f1efec;padding:9px 12px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button.primary{background:#edaa73;color:#21170f;font-weight:650}label{display:grid;gap:6px;font-size:12px;color:#c6c4c6}input,select{min-width:0;width:100%;min-height:40px}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,.plot:focus-visible{outline:2px solid #edaa73;outline-offset:3px}.analysis-shell .panel{padding:24px;margin-bottom:20px}.control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end}.sensors{grid-template-columns:repeat(3,minmax(0,1fr))}.controls details{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;color:var(--copper)}.analysis-status,.method{padding:14px 18px;border:1px solid #42464e;border-radius:9px;margin:16px 0}.analysis-status.error{border-color:var(--red);color:#ffb2ac}.analysis-status.demo{border-color:var(--amber);color:var(--amber)}.method{border-left:3px solid var(--teal);color:#c8c9cd}.analysis-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.analysis-kpis article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.analysis-kpis strong{display:block;font-size:29px;font-weight:550;margin:7px 0}.analysis-kpis small{color:#aaa9ae}.analysis-kpis span{color:#c5c2be;font-size:12px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analysis-shell h2{font-size:20px;margin:6px 0 18px}.legend{display:flex;gap:20px;flex-wrap:wrap;color:#c6c4c6;font-size:12px}.legend span:before{content:'';display:inline-block;background:var(--key);width:12px;height:3px;vertical-align:middle;margin-right:6px}.plot{width:100%;margin:16px 0;position:relative}.plot svg{width:100%;height:auto;display:block;min-height:200px}.plot.small svg{min-height:120px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #32363d}th{color:#bbb9b6;font-weight:500}td{font-variant-numeric:tabular-nums}.issues{padding-left:20px;color:#d8cec0}.issues li{margin-bottom:13px}.muted{font-size:12px;line-height:1.7}.heat-value{font-size:30px}.section-heading label{min-width:170px}.bar{height:4px;background:#77c7b9;margin-top:4px;border-radius:4px} [hidden]{display:none!important}
@media(max-width:950px){.analysis-header{align-items:flex-start;flex-direction:column}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-kpis{grid-template-columns:repeat(2,1fr)}.analysis-grid{grid-template-columns:1fr}.sensors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.analysis-header h1{font-size:26px}.analysis-shell .panel{padding:16px}.control-grid,.sensors{grid-template-columns:1fr}.analysis-kpis{gap:8px}.analysis-kpis article{padding:13px}.analysis-kpis strong{font-size:23px}.section-heading{align-items:flex-start;gap:12px;flex-direction:column}.actions button{font-size:12px}}
@media print{body{background:white;color:black}.controls,.actions,.back,#more{display:none}.analysis-shell{padding:0}.analysis-shell .panel,.analysis-kpis article{background:white;color:black;break-inside:avoid;border-color:#aaa}.analysis-grid{display:block}.analysis-status,.method,.muted,th,.analysis-kpis span,.analysis-kpis small,.issues{color:#333}.table-scroll{overflow:visible}svg{background:#16191f;print-color-adjust:exact}.page-footer{color:#444}}
@media(max-width:750px){.plot{overflow-x:auto}.plot svg{min-width:700px;min-height:0}.plot.small svg{min-width:500px}}
