:root{--scada:#4ddcff;--scada2:#2fd0a8;--warn:#ffbf57;--danger:#ff6b6b;--ok:#6fe09c}.scada-hero{padding:70px 0 44px;background:radial-gradient(circle at 80% 10%,rgba(77,220,255,.15),transparent 28rem)}.scada-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.hero-panel,.scada-card,.status-grid article,.alarm-summary article,.report-kpi article{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-radius:22px;box-shadow:var(--shadow)}.hero-panel{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-status{grid-column:1/-1;padding-bottom:16px;border-bottom:1px solid var(--line)}.hero-status strong,.hero-status small,.hero-kpi span,.hero-kpi strong{display:block}.hero-status small,.hero-kpi span{color:var(--muted)}.pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(111,224,156,.7);animation:pulse 1.8s infinite;margin-right:8px}@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(111,224,156,0)}}.hero-kpi strong{font-size:1.35rem;margin-top:6px}.scada-layout{display:grid;grid-template-columns:220px 1fr;gap:22px}.scada-sidebar{position:sticky;top:98px;height:max-content;display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045)}.scada-nav{border:0;background:transparent;color:var(--muted);padding:13px 14px;border-radius:14px;text-align:left;font-weight:800;cursor:pointer}.scada-nav:hover,.scada-nav.is-active{background:linear-gradient(135deg,var(--scada),var(--scada2));color:#03101c}.side-note{padding:14px;border-top:1px solid var(--line);font-size:.82rem}.side-note p{color:var(--muted)}.scada-panel{display:none}.scada-panel.is-active{display:block;animation:panelIn .25s ease}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel-heading,.card-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.system-clock{font-size:1.7rem;color:var(--scada);font-weight:900}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.status-grid article,.alarm-summary article,.report-kpi article{padding:16px}.status-grid span,.status-grid small,.alarm-summary span,.report-kpi span{display:block;color:var(--muted)}.status-grid strong,.alarm-summary strong,.report-kpi strong{display:block;font-size:1.25rem;margin:7px 0}.process-flow{display:flex;align-items:stretch;margin:18px 0;overflow-x:auto;padding-bottom:6px}.process-node{min-width:150px;flex:1;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:18px;padding:16px;position:relative;overflow:hidden;text-align:left;cursor:pointer}.process-node.active{border-color:rgba(77,220,255,.6)}.process-node b,.process-node span,.process-node small{display:block;position:relative;z-index:2}.process-node b{color:var(--scada);font-size:.8rem}.process-node span{font-weight:900;margin:7px 0}.process-node small{color:var(--muted)}.process-node i{position:absolute;left:0;bottom:0;width:100%;height:var(--level);background:linear-gradient(180deg,transparent,rgba(77,220,255,.13));z-index:1}.pipe{min-width:48px;display:grid;place-items:center}.pipe:before{content:"";width:100%;height:5px;background:rgba(255,255,255,.08);border-radius:99px}.pipe.active:before{background:linear-gradient(90deg,var(--scada),var(--scada2));box-shadow:0 0 14px rgba(77,220,255,.35)}.pipe span{position:absolute}.overview-grid,.milk-grid,.pasteur-grid,.ricotta-grid,.cip-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scada-card{padding:20px}.mini-label{display:block;color:var(--scada);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;margin-bottom:6px}.badge{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:900}.badge.green{background:rgba(111,224,156,.14);color:var(--ok)}.command-row{display:flex;gap:10px;margin:16px 0}.command{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:900}.command.primary{background:var(--scada);color:#03101c}.command.danger{border-color:rgba(255,107,107,.4);color:#ffcaca}.selector-row,.report-filters{display:flex;gap:12px;flex-wrap:wrap}.selector-row label,.report-filters label{flex:1;min-width:180px;color:var(--muted)}select,input{font:inherit}.selector-row select,.report-filters select,.scada-card select{width:100%;margin-top:6px;padding:11px;border-radius:12px;background:#071421;color:var(--text);border:1px solid var(--line)}.production-bars,.quality-status{display:grid;gap:16px;margin-top:18px}.production-bars div{display:grid;grid-template-columns:110px 1fr 78px;gap:10px;align-items:center}.production-bars i{height:10px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}.production-bars b{display:block;height:100%;background:linear-gradient(90deg,var(--scada),var(--scada2));border-radius:99px}.production-bars b.warn{background:var(--warn)}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.data-grid div,.quality-status div{padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}.data-grid span,.quality-status span{display:block;color:var(--muted);font-size:.82rem}.data-grid strong,.quality-status strong{display:block;margin-top:4px}.ok{color:var(--ok)}.tank-row{display:flex;justify-content:center;gap:30px;align-items:end}.tank{width:105px;height:220px;border:3px solid rgba(190,225,240,.6);border-radius:24px 24px 18px 18px;position:relative;overflow:hidden;background:rgba(255,255,255,.03)}.tank:before{content:"";position:absolute;inset:12px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;z-index:2}.tank .liquid{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#f3fbff,#c9e9f5);transition:.5s}.tank span,.tank strong{position:absolute;left:0;right:0;text-align:center;z-index:3;color:#062033}.tank span{top:18px;font-weight:900}.tank strong{bottom:16px}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quality-grid label,.range-control{display:grid;gap:8px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--scada)}.process-visual{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}.heat-exchanger{grid-column:1/-1;height:120px;border-radius:20px;background:rgba(255,255,255,.03);position:relative;overflow:hidden}.heat-line{position:absolute;left:5%;right:5%;height:8px;border-radius:99px;animation:flow 3s linear infinite;background-size:30px 100%}.heat-line.hot{top:28%;background-image:linear-gradient(90deg,#ff6b6b 50%,transparent 50%)}.heat-line.cold{top:50%;background-image:linear-gradient(90deg,#54b9ff 50%,transparent 50%);animation-direction:reverse}.heat-line.product{top:72%;background-image:linear-gradient(90deg,#f7f2d2 50%,transparent 50%)}@keyframes flow{to{background-position:120px 0}}.temp-readout{text-align:center}.temp-readout strong{display:block;font-size:1.4rem}.temp-readout.main strong{color:var(--warn);font-size:2rem}.trend-card{margin-top:16px}canvas{width:100%;height:auto;background:rgba(0,0,0,.08);border-radius:14px}.step-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.step-card{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);padding:14px;border-radius:16px;text-align:left;cursor:pointer}.step-card.is-active{border-color:var(--scada);background:rgba(77,220,255,.1)}.step-card b,.step-card span,.step-card strong,.step-card small{display:block}.step-card b{color:var(--scada)}.step-card span{font-weight:900;margin:7px 0}.step-card small{color:var(--muted)}.ricotta-vat{height:320px;border:4px solid rgba(190,225,240,.55);border-radius:30px 30px 70px 70px;position:relative;overflow:hidden;background:rgba(255,255,255,.03)}.ricotta-vat .whey{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(180deg,#fff5c6,#e8d987);transition:height .5s}.ricotta-vat span,.ricotta-vat strong{position:absolute;left:0;right:0;text-align:center;z-index:3}.ricotta-vat span{top:24px;font-weight:900}.ricotta-vat strong{top:52px;font-size:1.7rem}.steam{position:absolute;left:20%;right:20%;top:90px;height:90px;background:radial-gradient(ellipse,rgba(255,255,255,.45),transparent 65%);animation:steam 2s ease-in-out infinite}@keyframes steam{50%{transform:translateY(-16px);opacity:.45}}.progress-line{height:10px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin:18px 0}.progress-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--scada),var(--scada2));transition:.4s}.circuit-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 18px}.circuit-list label{padding:11px;border:1px solid var(--line);border-radius:12px}.cip-steps{display:grid;gap:8px}.cip-steps div{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;opacity:.5}.cip-steps div.active{opacity:1;border-color:var(--scada)}.cip-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08)}.alarm-summary,.report-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.report-kpi{grid-template-columns:repeat(5,1fr)}.alarm-table,.batch-table{padding:0;overflow:hidden}.alarm-row,.batch-row{display:grid;gap:10px;padding:13px 16px;border-top:1px solid var(--line);align-items:center}.alarm-row{grid-template-columns:90px 130px 1fr 100px 100px}.batch-row{grid-template-columns:110px 1.2fr 90px 110px 100px 100px}.alarm-row.header,.batch-row.header{background:rgba(77,220,255,.08);color:var(--scada);font-weight:900;font-size:.78rem;text-transform:uppercase}.ack-btn{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);padding:7px 9px;border-radius:9px;cursor:pointer}.scada-toast{position:fixed;right:20px;bottom:20px;z-index:5000;max-width:380px;padding:14px 16px;border-radius:14px;background:#0f2c3e;border:1px solid var(--scada);box-shadow:var(--shadow);transform:translateY(150%);opacity:0;transition:.25s}.scada-toast.show{transform:none;opacity:1}@media(max-width:1100px){.scada-hero-grid,.overview-grid,.milk-grid,.pasteur-grid,.ricotta-grid,.cip-layout{grid-template-columns:1fr}.step-grid{grid-template-columns:repeat(3,1fr)}.status-grid,.report-kpi{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.scada-layout{grid-template-columns:1fr}.scada-sidebar{position:static;display:flex;overflow-x:auto}.scada-nav{min-width:max-content}.side-note{display:none}.quality-grid{grid-template-columns:repeat(2,1fr)}.alarm-row,.batch-row{grid-template-columns:1fr 1fr}.alarm-row.header,.batch-row.header{display:none}.alarm-row span,.batch-row span{display:block}.process-flow{padding-bottom:12px}}@media(max-width:600px){.hero-panel,.status-grid,.alarm-summary,.report-kpi,.quality-grid,.data-grid,.step-grid{grid-template-columns:1fr}.process-visual{grid-template-columns:1fr}.tank-row{gap:12px}.tank{width:82px;height:190px}.command-row{flex-wrap:wrap}.alarm-row,.batch-row{grid-template-columns:1fr}.panel-heading{align-items:flex-start;flex-direction:column}}
