*{box-sizing:border-box}body{margin:0;background:#050a12;color:#eef6ff;font:14px/1.45 system-ui}button,input,select,textarea{font:inherit;border:1px solid #29405f;border-radius:10px;background:#0a1422;color:#fff;padding:10px;min-height:42px}button{font-weight:700;cursor:pointer}#boot,#auth,#onboard{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle,#12315e,#050a12 50%);z-index:10}.panel{width:min(420px,92vw);display:grid;gap:10px;padding:25px;border:1px solid #2684ff;border-radius:20px;background:#08111e}header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:8px;padding:8px;background:#07101c;border-bottom:1px solid #263a55}header small{display:block;color:#8ea3bc}#sync{color:#32d39a;font-size:11px}aside{position:fixed;left:0;top:59px;bottom:0;width:220px;padding:10px;background:#07101c;border-right:1px solid #263a55}aside nav{display:grid;gap:6px}aside button{text-align:left}main{margin-left:220px;padding:14px}#toolbar{display:flex;gap:8px;margin-bottom:12px}#search{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.card{padding:14px;border:1px solid #263a55;border-radius:14px;background:linear-gradient(145deg,#0e1b2c,#08111c)}.card h3{margin:0}.card p{color:#9bb0c9}.actions{display:flex;gap:6px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kpi{padding:15px;border-radius:14px;background:#0d1a2b;border:1px solid #29466d}.kpi strong{font-size:28px;color:#5ce1e6;display:block}dialog{width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid #2684ff;border-radius:16px;background:#08111e;color:#fff}#fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}#fields label{color:#9bb0c9}#fields textarea{min-height:100px}dialog menu{display:flex;justify-content:flex-end;gap:8px}#toast{position:fixed;bottom:15px;right:15px;padding:10px 14px;background:#075985;border-radius:9px;opacity:0;transition:.2s}#toast.show{opacity:1}@media(max-width:700px){aside{transform:translateX(-105%);z-index:8;top:59px;transition:.2s}aside.open{transform:none}main{margin:0}.kpis{grid-template-columns:1fr 1fr}#fields{grid-template-columns:1fr}header{grid-template-columns:44px 1fr auto}#logout{display:none}}[hidden]{display:none!important}.auth-help{margin:0;color:#9bb0c9;font-size:12px;text-align:center}#authMsg{min-height:20px;color:#fca5a5;text-align:center;font-size:13px}
.dashboard-link{display:block;width:100%;text-align:center;cursor:pointer;touch-action:manipulation}.dashboard-link:active{transform:scale(.98);border-color:#38bdf8}#drawer [data-view].active{background:#12325c;border-color:#3b82f6}
@media(max-width:700px){header{grid-template-columns:44px minmax(0,1fr) auto auto!important}#logout{display:inline-flex!important;min-width:72px!important;align-items:center;justify-content:center;padding:7px!important}#drawer [data-view]{display:block;width:100%;min-height:54px;pointer-events:auto!important;touch-action:manipulation}.dashboard-link{pointer-events:auto!important;touch-action:manipulation}}
/* Phase 3 professional UI */
body{background:radial-gradient(circle at 20% 0,#10264a 0,#050a12 34%);background-attachment:fixed}header{grid-template-columns:44px 44px minmax(0,1fr) auto auto;background:linear-gradient(135deg,#0b1b31,#07101c);box-shadow:0 8px 28px #0008}.card{background:linear-gradient(145deg,#102039,#0a1423);border-color:#31517d;box-shadow:0 8px 25px #0004;transition:.18s}.card:hover{border-color:#38bdf8;transform:translateY(-1px)}.kpi{background:linear-gradient(145deg,#12315b,#0b1a2e)}h1{background:linear-gradient(90deg,#fff,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.mobile-bottom{display:none}.chat-message{padding:9px;border-radius:10px;background:#101d30;margin:6px 0}.source-box{border-left:3px solid #22d3ee;padding:10px;background:#071522}.mode-tabs{display:flex;gap:6px;flex-wrap:wrap}.mode-tabs button{flex:1}.active-mode{background:#2563eb}@media(max-width:700px){header{grid-template-columns:42px 42px minmax(0,1fr) auto}#logout{grid-column:1/-1}.mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;z-index:9;background:#07101cee;border-top:1px solid #29405f;padding:5px}.mobile-bottom button{border:0;background:transparent;min-height:50px}.mobile-bottom small{display:block}main{padding-bottom:75px}}
.state{display:inline-flex;margin:3px 4px 3px 0;padding:3px 8px;border-radius:99px;font-size:11px;border:1px solid #475569}.state.running,.state.operational{color:#34d399;border-color:#047857}.state.shutdown,.state.warning{color:#fbbf24;border-color:#b45309}.state.alarm,.state.critical{color:#fb7185;border-color:#be123c}.state.standby{color:#60a5fa;border-color:#2563eb}

/* v4.4 operational design system */
:root{--primary:#38bdf8;--primary-strong:#0284c7;--success:#34d399;--danger:#fb7185;--surface:#0b1728;--surface-2:#10223a;--line:#29486e;--muted:#9fb3cc;--text:#f1f7ff}
header{grid-template-columns:44px minmax(0,1fr) auto auto!important;min-height:64px;padding:8px 14px}header>div{min-width:0}#brand,#plantLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:44px;min-width:44px;padding:0;display:inline-grid;place-items:center}.primary{background:linear-gradient(135deg,#0284c7,#2563eb);border-color:#38bdf8}.secondary{background:#0d1b2d;border-color:#38577f}.danger{color:#fecdd3;border-color:#9f1239;background:#3b0a19}.success{color:#a7f3d0;border-color:#047857;background:#052e27}.muted{opacity:.68}
#toolbar:has(.module-toolbar){margin:-14px -14px 20px;padding:10px 16px;background:#07101caa;border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:4;backdrop-filter:blur(14px)}.module-toolbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}.module-toolbar>div:first-child{display:grid}.module-toolbar small{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.module-toolbar b{font-size:16px}.toolbar-actions{display:flex;align-items:center;gap:8px}.search-wrap{display:flex;align-items:center;gap:6px;min-width:min(360px,35vw);border:1px solid var(--line);border-radius:11px;padding-left:10px;background:#081422}.search-wrap input{width:100%;border:0;background:transparent;outline:0}.search-wrap .voice-btn{min-height:34px}
.module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.module-head h1{margin:0;font-size:clamp(25px,4vw,38px)}.module-head p{margin:4px 0;color:var(--muted)}.section-title{font-size:16px;color:#d8e8fb}.tabs{display:flex;gap:5px;overflow-x:auto;padding:4px;margin-bottom:16px;border:1px solid var(--line);border-radius:13px;background:#07111f}.tabs button{white-space:nowrap;flex:1;border-color:transparent;background:transparent}.tabs button.active{background:#16365f;border-color:#2f70ba;color:#bfe8ff}.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:13px}.record-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#10213a,#091522);box-shadow:0 10px 28px #0004}.record-card h3,.record-card p{margin:0}.record-card>p{margin:11px 0;color:var(--muted)}.record-title{display:flex;align-items:center;gap:10px}.record-title>div:not(.avatar){min-width:0;flex:1}.record-title h3{overflow-wrap:anywhere}.record-title p{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#0ea5e9,#4f46e5);font-size:19px;font-weight:800}dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0}dl div{padding:8px;border-radius:9px;background:#07111d}dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}dd{margin:2px 0 0;overflow-wrap:anywhere}.empty-state,.error-state{grid-column:1/-1;text-align:center;padding:44px 18px;border:1px dashed #38577f;border-radius:16px;color:var(--muted)}.empty-state b{font-size:18px;color:var(--text)}
#opsDialog{width:min(820px,95vw);padding:0;border-radius:20px;background:#081320;box-shadow:0 30px 90px #000c}#opsDialog::backdrop{background:#020617c7;backdrop-filter:blur(5px)}.ops-form{padding:18px}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}.dialog-head h2{margin:2px 0}.dialog-head small{color:var(--primary);text-transform:uppercase;letter-spacing:.12em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-2{grid-column:1/-1}.form-field{position:relative;display:grid;gap:5px;color:var(--muted)}.form-field>span{font-size:12px}.form-field input,.form-field select,.form-field textarea{width:100%;background:#07111e}.form-field textarea{min-height:104px;resize:vertical}.voice-btn{position:absolute;right:5px;bottom:5px;width:34px;min-width:34px;min-height:34px;padding:0;border:0;background:#142944}.form-field textarea+.voice-btn{bottom:6px}.ops-form menu{display:flex;justify-content:flex-end;gap:8px;padding:15px 0 0;margin:15px 0 0;border-top:1px solid var(--line)}.form-error{grid-column:1/-1;color:#fda4af;margin-top:10px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border:1px solid var(--line);border-radius:12px;padding:13px}.permission-grid label{padding:8px;background:#07111e;border-radius:8px}.permission-grid input{min-height:auto}.guide-steps{display:grid;gap:10px}.guide-steps>div{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:11px;background:#0c1b2d;border-radius:12px}.guide-steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#075985}.guide-steps p{margin:5px 0;color:var(--muted)}
.item-builder{display:grid;gap:9px}.builder-row{display:grid;grid-template-columns:32px minmax(180px,2fr) minmax(120px,1fr) 80px 75px 75px 92px 44px;gap:6px;align-items:center;padding:8px;border-radius:11px;background:#0c1b2d}.builder-row input,.builder-row select{min-width:0}.drag{color:var(--muted);text-align:center}.required-check{font-size:11px}.required-check input{min-height:auto}.run-items{display:grid;gap:9px}.run-item{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,1fr) minmax(140px,1fr);gap:9px;align-items:center;padding:11px;border-radius:11px;background:#0c1b2d}.run-item small{display:block;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:10px;border-bottom:1px solid #203a5c;vertical-align:top}th{position:sticky;top:0;background:#10213a;color:#b8d7f5}td small{display:block;color:var(--muted)}
@media(max-width:800px){header{grid-template-columns:44px minmax(0,1fr) auto!important}#logout{display:none!important}#sync{font-size:0}#sync::first-letter{font-size:13px}#toolbar:has(.module-toolbar){top:59px}.module-toolbar{align-items:stretch;flex-direction:column}.module-toolbar>div:first-child{display:none}.toolbar-actions{display:grid;grid-template-columns:1fr auto auto}.search-wrap{min-width:0}.record-grid{grid-template-columns:1fr}.module-head{align-items:flex-start}.module-head p{font-size:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.permission-grid{grid-template-columns:1fr 1fr}.builder-row{grid-template-columns:30px 1fr 1fr 44px}.builder-row input[name=item_unit],.builder-row input[name=item_min],.builder-row input[name=item_max],.builder-row .required-check{grid-column:span 1}.run-item{grid-template-columns:1fr}.ops-form{padding:14px}#opsDialog{max-height:92vh}.tabs button{min-width:max-content}.module-head>button{white-space:nowrap}}
@media(max-width:480px){.toolbar-actions{grid-template-columns:1fr auto}.search-wrap{grid-column:1/-1}.module-head{display:block}.module-head>button{margin-top:9px}.permission-grid{grid-template-columns:1fr}.builder-row{grid-template-columns:28px 1fr 44px}.builder-row select,.builder-row input:not([name=item_label]){grid-column:2}.builder-row .danger{grid-column:3;grid-row:1}.record-card{padding:13px}dl{grid-template-columns:1fr 1fr}}
/* v4.4.1 regression fixes */
.search-wrap{position:relative;padding-right:40px}.search-wrap .voice-btn{position:absolute;right:4px;top:4px;bottom:auto}.kpi-link{display:block;width:100%;text-align:left}.kpi-link small{display:block;color:#8da6c4;margin-top:5px}.kpi-link:active,.dashboard-link:active{transform:scale(.985)}.running-kpi strong{color:#34d399}.alarm-kpi strong{color:#fbbf24}.dashboard-link span{display:block;color:#67e8f9;font-size:12px;margin-top:12px}.export-bar{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.export-bar button{min-width:110px}.report-controls{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.report-controls label{display:grid;gap:5px;color:#9fb3cc}.report-summary{display:flex;justify-content:space-between;padding:10px 2px}.muted-text{color:#9fb3cc}.mobile-bottom{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:800px){header{grid-template-columns:44px minmax(0,1fr) auto auto!important;padding:8px!important}#logout{display:inline-flex!important;min-width:58px!important;padding:7px 8px!important;font-size:12px}#sync{font-size:11px!important;white-space:nowrap}#sync::first-letter{font-size:inherit}.toolbar-actions>button{min-width:0;white-space:normal;font-size:12px;padding:8px}.report-controls{grid-template-columns:1fr 1fr}.report-controls label:first-child{grid-column:1/-1}.export-bar{display:grid;grid-template-columns:1fr 1fr}.export-bar button{min-width:0}.dashboard-head{display:flex}.dashboard-head>button{margin-top:0}}
@media(max-width:480px){header{grid-template-columns:42px minmax(0,1fr) auto!important}#sync{position:absolute;right:8px;bottom:2px;font-size:9px!important}#logout{min-width:54px!important}.toolbar-actions>button{font-size:11px}.report-controls{grid-template-columns:1fr}.report-controls label:first-child{grid-column:auto}.dashboard-head{display:block}}
.export-mini{display:flex;gap:6px;flex-wrap:wrap}.export-mini button{min-width:64px;padding:8px}
@media(max-width:600px){.export-mini{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.module-head:has(.export-mini){display:block}}
.drawer-logout{margin-top:10px;color:#fecaca;border-color:#7f1d1d;background:#2b1018!important}
@media(max-width:700px){main{padding-bottom:105px!important}}
/* v4.4.2 profile/header corrections */
:root{--brand-primary:#0ea5e9;--brand-secondary:#22d3ee}.brand-block{display:flex;align-items:center;gap:9px;min-width:0}.brand-block>div{min-width:0}.brand-block img{width:40px;height:40px;border-radius:10px;object-fit:contain;background:#fff;padding:2px}.primary,#add{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))}.profile-shell{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px}.logo-panel{display:grid;align-content:start;gap:10px}.logo-preview{height:150px;display:grid;place-items:center;border:1px dashed #45678f;border-radius:14px;background:#07111e;overflow:hidden}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview span{color:#8fa8c3}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form .form-field{display:grid;gap:5px}.profile-form .span-2{grid-column:1/-1}.color-field input{height:48px;padding:5px}.theme-preview{grid-column:1/-1;padding:13px;border:1px solid var(--brand-primary);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 18%,#07111e),color-mix(in srgb,var(--brand-secondary) 12%,#07111e))}.solver-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.solver-modes button.active{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-color:#7dd3fc}.solver-search{display:grid;grid-template-columns:1fr auto;gap:8px;position:relative}.solver-search input{padding-right:48px}.solver-search .voice-btn{position:absolute;right:112px;top:4px}.solver-result{margin-top:14px}.source-list{display:grid;gap:8px}.source-item{padding:11px;border-left:3px solid var(--brand-secondary);background:#091827}.support-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.conversation{display:grid;gap:9px;max-height:52vh;overflow:auto;padding:8px}.message{max-width:88%;padding:10px 12px;border-radius:13px;background:#102741}.message.mine{margin-left:auto;background:#123b57}.message small{display:block;color:#91a9c4;margin-top:4px}.pending-card{border-style:dashed}.pending-label{color:#fbbf24}
body[data-pattern="dots"]{background-image:radial-gradient(#ffffff12 1px,transparent 1px);background-size:18px 18px}body[data-pattern="diagonal"]{background-image:repeating-linear-gradient(135deg,#ffffff08 0,#ffffff08 1px,transparent 1px,transparent 18px)}body[data-pattern="grid"]{background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:28px 28px}body[data-pattern="circuit"]{background-image:linear-gradient(90deg,#ffffff07 1px,transparent 1px),linear-gradient(#ffffff07 1px,transparent 1px);background-size:36px 36px}
@media(max-width:800px){header{grid-template-columns:44px minmax(0,1fr) auto auto!important}#logout{grid-column:auto!important;width:auto!important;margin:0!important}.profile-shell{grid-template-columns:1fr}.logo-panel{grid-template-columns:120px 1fr;align-items:center}.logo-preview{height:110px}.solver-modes{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.profile-form{grid-template-columns:1fr}.profile-form .span-2{grid-column:1}.logo-panel{grid-template-columns:1fr}.solver-search{grid-template-columns:1fr}.solver-search .voice-btn{right:4px}.solver-search button.primary{width:100%}.brand-block img{width:34px;height:34px}.solver-modes{grid-template-columns:1fr 1fr}}
/* Apply saved company branding throughout the live workspace */
h1{background:linear-gradient(90deg,#fff,var(--brand-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.card,.record-card,.kpi{border-color:color-mix(in srgb,var(--brand-primary) 45%,#29486e)}#drawer [data-view].active,.tabs button.active{background:color-mix(in srgb,var(--brand-primary) 28%,#0b1b31);border-color:var(--brand-primary)}.dashboard-link span,.module-toolbar small{color:var(--brand-secondary)}
.answer-text{line-height:1.65;padding:14px 0;white-space:normal}.safety-note{padding:10px;border-radius:9px;background:#3a2608;color:#fde68a}
