:root{font-family:Inter,"Segoe UI",sans-serif;color:#213b48;background:#edf2f4;--teal:#087c75;--line:#d4e0e5;--muted:#5d7481;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{min-height:36px;padding:8px 12px;border:1px solid #bfd0d8;border-radius:6px;background:white;color:inherit;cursor:pointer}button:hover{border-color:#15968a;background:#eff9f6}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--teal);border-color:var(--teal);color:white}.primary:hover{background:#065b56;color:white}a{color:var(--teal)}h1,h2,h3,h4,p{margin:0}h1{font-size:20px;line-height:1.4}h2{font-size:17px}h3{font-size:14px;margin-bottom:12px}h4{font-size:13px;margin:14px 0 8px}.eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--teal);margin-bottom:4px}.cobalt-app{height:100vh;height:100dvh;display:flex;flex-direction:column;min-height:0}.cobalt-header{display:flex;align-items:center;gap:20px;padding:12px 20px;background:white;border-bottom:1px solid var(--line);flex:none}.back-link{font-size:12px;white-space:nowrap}.model-badge{margin-left:auto;padding:7px 10px;background:#eaf4f0;border-radius:20px;font-size:11px}.cobalt-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:#f8fbfc;border-bottom:1px solid var(--line);flex:none;font-size:12px}.cobalt-toolbar label{display:flex;gap:6px;align-items:center;margin:0}.cobalt-toolbar input{width:63px}.cobalt-toolbar select{width:83px}.cobalt-toolbar strong{font-variant-numeric:tabular-nums;margin-left:auto}.status{padding:5px 8px;border-radius:5px;background:#dfeaf0;font-size:11px}.cobalt-layout{display:grid;grid-template-columns:300px minmax(0,1fr) 310px;min-height:0;flex:1;overflow:hidden}.cobalt-side{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8daea9 #edf4f2;background:#fff;padding:18px 16px}.left-side{border-right:1px solid var(--line)}.right-side{border-left:1px solid var(--line)}.panel-heading{padding-bottom:16px;border-bottom:1px solid var(--line)}.panel-heading p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}.cobalt-side section{padding:20px 0;border-bottom:1px solid var(--line)}.hint{font-size:11px;color:var(--muted);line-height:1.65;margin:10px 0}.feed-list{display:grid;gap:7px;margin-top:12px}.feed-choice{width:100%;text-align:left;display:block;padding:10px;font-size:12px;line-height:1.45}.feed-choice small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.feed-choice[aria-pressed=true]{border:2px solid var(--teal);background:#edf8f4;padding:9px}label{display:grid;gap:6px;font-size:11px;line-height:1.5;color:#486472;margin:12px 0}input,select,textarea{width:100%;min-width:0;padding:8px 9px;min-height:36px;border:1px solid #bfced6;border-radius:5px;background:white;color:#213b48}input:disabled{background:#edf1f3}.switch{display:flex;gap:8px;align-items:center;color:#213b48}.switch input{width:16px;height:16px;min-height:16px;accent-color:var(--teal);flex:none}input[type=range]{padding:0;accent-color:var(--teal)}output{color:var(--teal);font-size:11px}.composition{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.composition caption{font-size:10px;color:var(--muted);text-align:left;margin:6px 0}.composition th,.composition td{padding:8px 4px;border-bottom:1px solid #e2e9ed;line-height:1.5;text-align:right;overflow-wrap:anywhere}.composition th:first-child,.composition td:first-child{text-align:left}.composition th{color:#67808e;font-size:10px;font-weight:600}.model-notes p{font-size:11px;line-height:1.7;margin:12px 0;color:var(--muted)}.model-notes a{display:block;font-size:11px;line-height:1.6;margin:10px 0}.cobalt-center{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;background:#f2f6f8}.flowsheet-heading{display:flex;gap:12px;justify-content:space-between;align-items:center}.flowsheet-heading>span{font-size:11px;color:var(--teal);background:#dff0ea;padding:7px;border-radius:5px;white-space:nowrap}.center-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.center-kpis>div{padding:12px 10px;background:white;border:1px solid var(--line);border-radius:8px;min-width:0}.center-kpis span{display:block;color:var(--muted);font-size:10px;line-height:1.5}.center-kpis strong{display:block;font-size:19px;line-height:1.5;margin-top:5px;font-variant-numeric:tabular-nums}.notice{font-size:12px;color:#126b63;line-height:1.7;background:#e5f2ec;border-radius:6px;padding:10px 12px;margin:10px 0}.notice.error{color:#8e3226;background:#ffede9}.flow-scroll{overflow:auto;overscroll-behavior:contain;border:1px solid #cfdee4;background:#fff;border-radius:12px;min-height:0}.flow-scroll svg{display:block;width:100%;min-width:1040px;height:auto;background:#f9fcfd}.flow-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);line-height:1.5;padding:12px 0}.legend-liquor{color:#247e9e}.legend-slurry{color:#ac5d7e}.legend-waste{color:#8f704c}.history-section{padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-top:16px}#co-chart{width:100%;height:auto;display:block;font:11px sans-serif;fill:#607984}.instrument-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.instrument-row>div{background:#edf4f5;padding:8px 5px;border-radius:5px;min-width:0}.instrument-row span{display:block;font-size:9px;line-height:1.5;color:var(--muted)}.instrument-row strong{font-size:13px;display:block;margin-top:5px;overflow-wrap:anywhere}dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,44%);gap:10px;font-size:11px;line-height:1.5;margin:12px 0}dt{color:var(--muted)}dd{margin:0;text-align:right;overflow-wrap:anywhere}.alerts{font-size:11px;line-height:1.7;background:#fff5e6;padding:10px;border-radius:6px;margin-top:16px;color:#805728}.predictive-assistant{background:#f0f8f4;border-radius:8px;padding:14px!important;margin-top:18px;border:1px solid #b8d8c9!important}.predictive-assistant button{width:100%;margin:5px 0;font-size:11px}.predictive-assistant p{font-size:11px;line-height:1.7;margin:10px 0}.operator-log{font-size:10px;line-height:1.8;margin:12px 0;padding-left:20px}.operator-log li{border-bottom:1px solid var(--line);padding:8px 0}.mobile-tabs{display:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d58e35;outline-offset:2px}dialog{max-width:560px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:24px}dialog::backdrop{background:#182e3e80}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}#co-report-error{color:#a13e32;font-size:12px}.flow-label{font-family:"Segoe UI",sans-serif;fill:#4a6473}.tank-node{cursor:pointer;outline:none}.tank-node .tank-shell{stroke:#668b9e;stroke-width:2;fill:#e9f1f5}.tank-node.selected .tank-shell{stroke:#087c75;stroke-width:4}.tank-node:focus .tank-shell{stroke:#cc8a2d;stroke-width:4}.tank-label{font-size:15px;font-weight:700;fill:#294a5c}.tank-reading{font-size:13px;fill:#244e66}.tank-sub{font-size:11px;fill:#688391}.pipe{fill:none;stroke-width:5;stroke-linejoin:round}.pipe-liquor{stroke:#4b9fbe}.pipe-slurry{stroke:#ba7693}.pipe-waste{stroke:#b29972}.pipe-flow{stroke-dasharray:11 8}.is-running .pipe-flow{animation:co-flow 1.2s linear infinite}.agitator{stroke:#466d7f;stroke-width:3;fill:none}.is-running .mix-on .agitator-blade{animation:co-agitate 2s linear infinite;transform-box:fill-box;transform-origin:center}.equipment-box{fill:#e4edf2;stroke:#6f94a7;stroke-width:2}.section-title{font:700 19px "Segoe UI",sans-serif;fill:#31596b}.flow-note{font:12px "Segoe UI",sans-serif;fill:#728a95}.flow-value{font:700 16px "Segoe UI",sans-serif;fill:#087c75}@keyframes co-flow{to{stroke-dashoffset:-38}}@keyframes co-agitate{to{transform:rotate(360deg)}}@media(min-width:1800px){.cobalt-layout{grid-template-columns:330px minmax(0,1fr) 340px}}@media(max-width:1100px){.cobalt-layout{grid-template-columns:260px minmax(0,1fr) 260px}.cobalt-center{padding:14px}.center-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.flowsheet-heading{align-items:flex-start;flex-direction:column}.model-badge{display:none}.cobalt-toolbar strong{margin-left:0}}@media(max-width:800px){.cobalt-header{padding:10px 12px;gap:10px}h1{font-size:15px}.cobalt-header .eyebrow{font-size:8px}.cobalt-toolbar{padding:8px;gap:5px;font-size:10px}.cobalt-toolbar button{font-size:10px;min-height:32px;padding:6px 8px}.cobalt-toolbar label{font-size:10px}.cobalt-toolbar input{width:48px}.cobalt-toolbar select{width:65px}.cobalt-layout{display:block;position:relative}.cobalt-side,.cobalt-center{height:100%;width:100%;display:none;padding:16px}.cobalt-layout[data-view=left] .left-side,.cobalt-layout[data-view=right] .right-side,.cobalt-layout[data-view=flow] .cobalt-center{display:block}.mobile-tabs{display:flex;gap:6px;padding:6px 10px;background:#dfeaf0;flex:none}.mobile-tabs button{flex:1;font-size:11px;min-height:30px;padding:6px}.mobile-tabs button[aria-pressed=true]{background:#087c75;color:white;border-color:#087c75}.flow-scroll svg{min-width:1040px}.center-kpis strong{font-size:18px}.back-link{font-size:10px}.instrument-row strong{font-size:15px}.dialog-actions{flex-wrap:wrap}.flowsheet-heading h2{font-size:15px}}@media(prefers-reduced-motion:reduce){.pipe-flow,.agitator-blade{animation:none!important}}
