:root{--navy:#183651;--blue:#0b7fba;--cyan:#18acc5;--green:#18aa72;--yellow:#eda20b;--red:#e54850;--gray:#91a5b5;--page:#eef6fb;--panel:#fff;--line:#cfe0eb;--muted:#6d86a1;--shadow:0 1px 2px #1836510d}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--page);color:var(--navy);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,select,input{font:inherit}[hidden]{display:none!important}.app{max-width:100%;min-height:100vh}.login-screen{background:linear-gradient(145deg,#e9f5fb,#f7fbfd);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(430px,100%);padding:32px;box-shadow:0 18px 50px #18365124}.login-brand{text-align:center;margin-bottom:25px}.login-brand h1{margin:14px 0 5px;font-size:24px}.login-brand p{color:var(--muted);margin:0;font-size:11px}.login-logos{justify-content:center;align-items:center;gap:28px;display:flex}.field{margin-top:14px;display:block}.field span{text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:800;display:block}.field input{border:1px solid var(--line);width:100%;color:var(--navy);background:#fff;border-radius:9px;padding:11px 12px}.login-button,.save-button{background:var(--navy);color:#fff;border:0;border-radius:9px;width:100%;margin-top:18px;padding:12px;font-weight:800}.login-help{text-align:center;color:var(--muted);margin:14px 0 0;font-size:10px}.login-error{text-align:center;min-height:17px;color:var(--red);margin-top:10px;font-size:11px;font-weight:700}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;grid-template-columns:180px 1fr 220px;align-items:center;gap:18px;padding:18px 32px 13px;display:grid;position:sticky;top:0}.brand-logo{object-fit:contain;width:auto;max-width:100%;display:block}.ivess-logo{height:52px}.quamaq-logo{height:55px;margin-left:auto}.login-ivess-logo{height:58px}.login-quamaq-logo{height:59px}.quamaq{text-align:right;color:#758a95}.top-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:7px;display:flex}.top-actions button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:800}.brand{text-align:center}.brand h1{letter-spacing:.4px;margin:0;font-size:27px;line-height:1}.brand p{color:var(--muted);margin:7px 0 0;font-size:12px}.view{padding:20px 28px 30px;display:none}.view.active{display:block}.section-title{justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px;display:flex}.section-title h2{letter-spacing:.3px;margin:0;font-size:16px}.section-title p{color:var(--muted);margin:4px 0 0;font-size:11px}.update{color:var(--muted);white-space:nowrap;font-size:11px}.summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--panel);min-height:76px;box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:11px;padding:14px 16px;display:flex}.dot{border-radius:50%;flex:none;width:12px;height:12px;margin-top:2px}.stat label{text-transform:uppercase;color:var(--muted);letter-spacing:.3px;font-size:10px;font-weight:800;display:block}.stat b{margin-top:7px;font-size:24px;line-height:1;display:block}.order-note{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:11px;display:flex}.order-note strong{color:var(--navy)}.plant-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.plant-card{border:1px solid var(--line);border-left:6px solid var(--state);text-align:left;color:var(--navy);min-height:77px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:12px 13px;transition:transform .15s,box-shadow .15s}.plant-card:hover{transform:translateY(-1px);box-shadow:0 5px 16px #18365117}.plant-name{align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.plant-meta{color:var(--muted);justify-content:space-between;gap:8px;margin-top:12px;font-size:10px;display:flex}.plant-state{text-transform:uppercase;color:var(--state);font-weight:800}.plant-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;display:flex}.plant-heading h2{margin:8px 0 0;font-size:23px}.plant-heading p{color:var(--muted);margin:5px 0 0;font-size:11px}.plant-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.state-pill{background:var(--yellow);color:#fff;text-transform:uppercase;border-radius:22px;padding:10px 24px;font-size:12px;font-weight:800}.readonly{color:var(--muted);font-size:11px}.screen-button{color:#0875ae;background:#fff;border:1px solid #acd2e8;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:800}.config-local{background:var(--navy);border-color:var(--navy);color:#fff}.deviation-banner{color:#9a6200;border-left:5px solid var(--yellow);background:#fff4d1;border-radius:10px;align-items:center;gap:10px;margin:0 0 14px;padding:12px 15px;font-size:11px;font-weight:800;display:flex}.deviation-banner.alarm{color:#b52e36;border-left-color:var(--red);background:#fff0f1}.deviation-banner.offline{color:#60788d;border-left-color:var(--gray);background:#edf2f5}.measurements{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px;display:grid}.measurement{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:124px;padding:15px}.measurement .label{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.measurement .value{margin-top:25px;font-size:26px;font-weight:800}.measurement .unit{color:var(--muted);font-size:11px;font-weight:500}.measurement .target{color:#0b9966;text-transform:uppercase;margin-top:9px;font-size:9px;font-weight:800}.plant-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;min-width:0;display:grid}.panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:15px}.panel-head{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:10px;display:flex}.panel h3{letter-spacing:.2px;margin:0;font-size:12px}.panel-head span{color:var(--muted);font-size:10px}.trend-panel{width:100%;min-width:0;max-width:100%;overflow:hidden}.trend-controls{align-items:center;gap:5px;display:flex}.trend-controls button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:6px;min-width:32px;height:32px;font-size:13px;font-weight:800}.trend-scroll{scrollbar-color:#7ea8c0 #e6f0f6;scrollbar-width:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-top:1px solid #edf3f7;border-bottom:1px solid #edf3f7;width:100%;max-width:100%;display:block;overflow:auto hidden}.trend-scroll::-webkit-scrollbar{height:10px}.trend-scroll::-webkit-scrollbar-track{background:#e6f0f6;border-radius:8px}.trend-scroll::-webkit-scrollbar-thumb{background:#7ea8c0;border:2px solid #e6f0f6;border-radius:8px}.trend-svg{flex:none;min-width:100%;max-width:none;height:230px;display:block}.trend-panbar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin-top:8px;display:grid}.trend-pan-label{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:800}.trend-pan{width:100%;accent-color:var(--blue);cursor:ew-resize}.trend-pan:disabled{opacity:.35;cursor:default}.trend-grid{stroke:#d8e5ed;stroke-width:1px}.trend-path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-axis{fill:var(--muted);font-size:10px}.trend-setpoint{stroke:var(--red);stroke-width:2px;stroke-dasharray:8 6}.trend-setpoint-label{fill:var(--red);font-size:10px;font-weight:800}.trend-milestone{fill:var(--red);stroke:#fff;stroke-width:2px}.trend-hit{fill:#0000}.trend-selected{fill:#fff;stroke:var(--navy);stroke-width:3px}.trend-readout{min-height:31px;color:var(--muted);padding-top:9px;font-size:11px}.trend-readout strong{color:var(--navy)}.trend-key{font-weight:800;color:var(--red)!important}.cip-box{gap:14px;display:grid}.cip-item{border-bottom:1px solid var(--line);padding:11px 0}.cip-item:last-child{border-bottom:0}.cip-title{align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.cip-title em{color:#0b9966;margin-left:auto;font-size:9px;font-style:normal}.cip-item p{color:var(--muted);margin:8px 0 0 21px;font-size:10px}.soon em{color:#d48b00}.soon .dot{background:var(--yellow)!important}.next{color:#c47e00;background:#fff4d1;border-radius:9px;margin-top:13px;padding:12px;font-size:10px;font-weight:800}.next b{color:var(--navy);margin-top:5px;font-size:12px;display:block}.events{margin-top:13px;padding:0;overflow:hidden}.events .panel-head{padding:15px 16px 5px}.events-scroll{scrollbar-color:#aac3d3 #edf4f8;scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-height:238px;overflow:auto}.events-table,.cip-table{border-collapse:collapse;table-layout:fixed;width:100%}.events-table th,.cip-table th{color:#0875ae;text-transform:uppercase;text-align:left;letter-spacing:.25px;background:#e1f2fb;padding:10px 12px;font-size:9px}.events-table thead th,.cip-table thead th{z-index:2;position:sticky;top:0}.events-table td,.cip-table td{border-top:1px solid var(--line);padding:11px 12px;font-size:11px}.event-var{font-weight:800}.alarm-tag{color:#fff;text-transform:uppercase;background:var(--red);border-radius:18px;padding:7px 13px;font-size:9px;font-weight:800;display:inline-block}.duration{color:var(--muted)}.auditor-notes{margin-top:13px}.auditor-notes textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:118px;color:var(--navy);background:#fbfdff;border-radius:9px;padding:12px;line-height:1.45}.notes-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.notes-status{color:var(--muted);font-size:10px}.save-note{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-size:10px;font-weight:800}.cip-status{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:17px;display:grid}.cip-status-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:17px 20px;display:flex}.cip-status-card .info{flex:1}.cip-status-card h3{margin:0;font-size:13px}.cip-status-card p{color:var(--muted);margin:8px 0 0;font-size:10px}.cip-status-card strong{color:#0b9966;text-transform:uppercase;font-size:10px}.cip-status-card .right{text-align:right}.history{padding:0;overflow:hidden}.history .panel-head{padding:17px 18px 10px}.history-table-scroll{-webkit-overflow-scrolling:touch;scrollbar-color:#aac3d3 #edf4f8;scrollbar-width:thin;max-height:510px;overflow:auto}.cip-table{table-layout:auto;min-width:980px}.cip-table th:last-child,.cip-table td:last-child{min-width:210px}.cip-result{color:#087b53;text-transform:uppercase;background:#e5f7ef;border-radius:16px;padding:5px 10px;font-size:9px;font-weight:800;display:inline-block}.cip-result.incomplete{color:#b52e36;background:#fff0f1}.missing-stages{color:#b52e36;margin-top:5px;font-size:9px;font-weight:700;line-height:1.35;display:block}.stage-missing{color:#b52e36;font-weight:800}.rule{grid-template-columns:1fr 1fr;align-items:center;gap:16px;margin-top:16px;display:grid}.rule-block{align-items:center;gap:18px;display:flex}.rule label{color:var(--muted);font-size:10px}.rule b{font-size:21px}.rule-warning{color:var(--red);align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex}.note{color:var(--muted);justify-content:space-between;gap:20px;margin-top:12px;font-size:10px;display:flex}.go-cip{color:#0875ae;background:#fff;border:1px solid #acd2e8;border-radius:7px;padding:7px 11px;font-size:10px;font-weight:800}.modal-layer{z-index:30;background:#10283e61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(560px,100%);padding:24px;box-shadow:0 20px 60px #10283e40}.modal-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal h2{margin:0;font-size:18px}.modal p{color:var(--muted);margin:6px 0 0;font-size:11px}.modal-close{border:1px solid var(--line);width:34px;height:34px;color:var(--navy);background:#fff;border-radius:8px;font-size:18px}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px;display:grid}.config-note{color:var(--muted);margin-top:12px;font-size:10px}@media (width<=1050px){.plant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plant-layout{grid-template-columns:1fr 1fr}.cip-box{grid-column:1/-1}.measurements,.summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.topbar{grid-template-columns:82px 1fr 110px;padding:12px 14px;position:static}.ivess-logo{height:39px}.quamaq-logo{height:38px}.brand h1{font-size:18px}.brand p{font-size:10px}.top-actions{flex-wrap:wrap;gap:5px}.top-actions button{min-height:32px}.view{padding:14px}.summary,.plant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plant-layout{grid-template-columns:1fr}.measurements{grid-template-columns:repeat(2,minmax(0,1fr))}.cip-status,.rule{grid-template-columns:1fr}.events,.history{overflow:hidden}.events-table{min-width:720px}.cip-table{min-width:980px}.config-grid{grid-template-columns:1fr}.modal{max-height:90vh;overflow:auto}.login-logos{gap:15px}.login-ivess-logo{height:46px}.login-quamaq-logo{height:47px}}@media (width<=480px){.topbar{text-align:center;grid-template-columns:1fr 1fr;gap:10px}.topbar>.brand{grid-area:1/1/auto/-1}.topbar>.brand-logo{margin:auto}.quamaq{text-align:center}.quamaq-logo{margin:auto}.top-actions{justify-content:center}.plant-grid,.measurements{grid-template-columns:1fr}.section-title,.plant-header{flex-direction:column;align-items:flex-start}.plant-header-actions{justify-content:flex-start}.summary{grid-template-columns:1fr 1fr}.login-card{padding:24px 18px}.login-logos{flex-direction:column;gap:8px}.panel{padding:12px}.panel-head{flex-direction:column;align-items:flex-start}.trend-controls{justify-content:flex-end;align-self:stretch}.trend-svg{height:210px}.trend-panbar{grid-template-columns:1fr;gap:3px}.trend-pan-label{text-align:center;font-size:10px}.trend-pan{height:28px}.rule{gap:10px}.cip-status-card{flex-wrap:wrap;align-items:flex-start}.cip-status-card .right{text-align:left;width:100%;padding-left:26px}.state-pill{padding:8px 18px}.note,.notes-actions{flex-direction:column;align-items:stretch;gap:10px}.save-note{min-height:44px}}@media (pointer:coarse){.trend-controls button,.top-actions button,.go-cip,.screen-button,.save-note,.modal-close{min-height:44px}.plant-card{min-height:88px}}.empty-row td{color:var(--muted);text-align:center;padding:18px 12px}.form-errors{color:var(--red);margin:10px 0 0;font-size:11px;font-weight:700}.form-errors p{margin:3px 0}.plant-card,button:not(:disabled),[role=button],select{cursor:pointer}.save-button:disabled,.save-note:disabled,.login-button:disabled{opacity:.6;cursor:default}.exemys-meta{color:var(--muted);margin:12px 0;font-size:12px}.exemys-meta b{color:var(--navy)}.exemys-table{margin-bottom:6px}.trend-controls button{padding:0 9px;font-size:11px}.trend-controls button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.trend-range{flex-direction:column;align-items:stretch;gap:6px;display:flex}.trend-days{color:var(--navy);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.trend-days span{text-align:right;min-width:44px}.trend-days input{accent-color:var(--blue);cursor:pointer;flex:1}
