.battery-tabs{display:flex;gap:8px;margin-bottom:18px}.battery-tabs button{min-height:44px;padding:0 18px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.battery-tabs button.active{background:#0f172a;color:#fff}.battery-admin-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:18px;align-items:start}.recipe-sidebar{position:sticky;top:18px}.recipe-sidebar h2{margin:.2rem 0}.recipe-sidebar>.btn{width:100%;margin-top:14px}.recipe-list{display:grid;gap:8px;margin-top:14px}.recipe-list button{display:flex;justify-content:space-between;gap:12px;text-align:left;align-items:center;width:100%;padding:12px;border:1px solid #d8e0ea;background:#fff;border-radius:10px;cursor:pointer}.recipe-list button span:first-child{display:grid;gap:3px}.recipe-list small{color:#64748b}.battery-editor-card{min-width:0}.editor-heading{align-items:flex-start;border-bottom:1px solid #e4e7ec;padding-bottom:16px}.editor-heading h2{margin:.2rem 0}.editor-heading p{max-width:640px;margin:.25rem 0 0}.editor-heading-actions{display:flex;align-items:center;gap:9px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.editor-section{padding:18px 0 4px}.editor-section h3{margin:0 0 12px}.measurement-points{min-width:0;margin:18px 0;padding:16px;border:1px solid #cfd8e5;border-radius:12px}.measurement-points legend{padding:0 7px;font-weight:850}.measurement-points>p{margin:0 0 13px}.measurement-table{width:100%;overflow-x:auto}.test-point-head,.test-point-row{display:grid;grid-template-columns:72px minmax(150px,1.5fr) 104px 72px 64px 112px 96px 84px 84px 76px 76px 44px;gap:7px;align-items:center;min-width:1200px}.test-point-head{padding:0 2px 7px;color:#667085;font-size:.7rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.test-point-row{margin-bottom:8px}.test-point-row input,.test-point-row select{min-width:0}.sense-channel{display:grid;place-items:center;min-height:44px;border:1px solid #d8e0ea;border-radius:9px;background:#f8fafc;color:#475569;font-weight:800}.remove-point{min-height:44px;border:1px solid #fecaca;background:#fff1f2;color:#be123c;border-radius:9px;font-size:1.4rem;cursor:pointer}.battery-advanced{margin:18px 0;border:1px solid #cfd8e5;border-radius:12px;background:#fbfcfd}.battery-advanced summary{display:flex;align-items:center;padding:15px 16px;cursor:pointer}.battery-advanced summary span{display:grid;gap:3px}.battery-advanced summary small{color:#667085;font-weight:400}.advanced-content{display:grid;gap:14px;padding:4px 16px 17px;border-top:1px solid #e4e7ec}.advanced-content>.grid{padding-top:14px}.diagnostic-actions{display:flex;flex-wrap:wrap;gap:8px}.diagnostic-diagram{min-height:350px}.battery-test-diagram{width:100%;min-height:330px;background:#f8fafc;border:1px solid #d8e0ea;border-radius:18px}.battery-outline{fill:#fff;stroke:#344054;stroke-width:1.4}.battery-terminal{fill:#344054}.battery-point circle{fill:#fff;stroke:#64748b;stroke-width:1.3}.battery-point.pass circle{fill:#dcfce7;stroke:#15803d}.battery-point.pass_with_observation circle{fill:#fef3c7;stroke:#b45309}.battery-point.fail circle,.battery-point.equipment_error circle{fill:#fee2e2;stroke:#b91c1c;stroke-width:2}.battery-point text{text-anchor:middle;dominant-baseline:middle}.battery-point .point-symbol{font-size:8px;font-weight:800}.battery-point .point-label{font-size:4px;font-weight:700}.battery-point .point-reading{font-size:3.4px;fill:#475569}.battery-preview-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:18px;box-shadow:0 24px 80px #10182855}.battery-preview-dialog::backdrop{background:#101828a6}.preview-window{padding:22px;background:#f5f7fa}.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.preview-head h2{margin:.2rem 0;font-size:1.8rem}.preview-head p{margin:0;color:#667085}.preview-close{display:grid;place-items:center;flex:0 0 44px;height:44px;border:0;border-radius:50%;background:#e4e7ec;color:#344054;font-size:1.8rem;cursor:pointer}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px 20px;border-radius:12px;background:#eef2f6;color:#344054}.preview-banner strong{font-size:1.45rem}.preview-banner.pass{background:#dcfce7;color:#166534}.preview-banner.fail,.preview-banner.equipment_error{background:#fee2e2;color:#991b1b}.preview-banner.pass_with_observation{background:#fef3c7;color:#92400e}.preview-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:18px}.preview-diagram,.preview-results{min-width:0;padding:16px;border:1px solid #d8e0ea;border-radius:14px;background:#fff}.preview-diagram .battery-test-diagram{min-height:430px}.preview-results h3{margin:0 0 12px}.preview-reading{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid #e4e7ec}.preview-reading span,.preview-reading small{color:#667085}.preview-reading strong{grid-column:2;grid-row:1/3;align-self:center}.preview-scenarios{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.preview-scenarios>span{width:100%;color:#667085;font-size:.82rem;font-weight:800}@media(max-width:1500px){.battery-admin-layout{grid-template-columns:1fr}.recipe-sidebar{position:static}.recipe-sidebar>.btn{width:auto}.preview-layout{grid-template-columns:1fr}}@media(max-width:700px){.editor-heading-actions{width:100%;margin-left:0;justify-content:flex-start}.advanced-content .grid{grid-template-columns:1fr}.preview-banner{align-items:flex-start;flex-direction:column}.preview-diagram .battery-test-diagram{min-height:320px}}



.controlled-field{display:flex;gap:8px;align-items:center}.controlled-field select{flex:1;min-width:0}.controlled-field .btn{white-space:nowrap}.identity-source{margin-top:10px;padding:10px 12px;border-left:3px solid #93c5fd;background:#eff6ff;border-radius:0 8px 8px 0}.draft-readiness{display:flex;align-items:flex-start;gap:14px;margin:18px 0 0;padding:14px 16px;border-radius:11px}.draft-readiness strong{white-space:nowrap}.draft-readiness ul{margin:0;padding-left:20px}.draft-readiness.not-ready{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.draft-readiness.ready{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.draft-readiness.ready span{color:#166534}.work-instruction-dialog{width:min(760px,calc(100% - 32px))}.work-instruction-dialog .preview-window{display:grid;gap:14px}.work-instruction-dialog textarea{width:100%;resize:vertical}.measurement-table{padding-bottom:8px;scrollbar-gutter:stable}.test-point-head{position:sticky;top:0;z-index:1;background:#fff}.test-point-row{padding:5px;border-radius:9px}.test-point-row:focus-within{background:#eff6ff;box-shadow:0 0 0 1px #bfdbfe}
@media(max-width:900px){.controlled-field{align-items:stretch;flex-direction:column}.controlled-field .btn{align-self:flex-start}.draft-readiness{display:block}.draft-readiness strong{display:block;margin-bottom:6px}}

.setting-toggle{position:relative;display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:32px;font-weight:750;cursor:pointer}
.setting-toggle input[type="checkbox"]{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;opacity:0;pointer-events:none}
.setting-toggle-track{position:relative;flex:0 0 42px;width:42px;height:24px;border:1px solid #98a2b3;border-radius:999px;background:#e4e7ec;transition:background .15s,border-color .15s}
.setting-toggle-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #10182833;transition:transform .15s}
.setting-toggle input:checked+.setting-toggle-track{border-color:var(--blue2);background:var(--blue2)}
.setting-toggle input:checked+.setting-toggle-track::after{transform:translateX(18px)}
.setting-toggle input:focus-visible+.setting-toggle-track{outline:3px solid #84adff;outline-offset:2px}
.setting-toggle input:disabled~span{opacity:.55;cursor:not-allowed}
.station-binding-card>.grid{margin-top:16px}
.station-binding-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.station-binding-actions .btn{flex:0 0 auto}
@media(max-width:700px){.station-binding-actions{align-items:flex-start;flex-direction:column}}

/* Dark defaults for recipe design, relay mapping, and electrical diagnostics. */
html:not([data-theme="light"]) .battery-tabs button{border-color:#475467;background:#182230;color:#e4e7ec}
html:not([data-theme="light"]) .battery-tabs button.active{border-color:#84adff;background:#2563eb;color:#fff}
html:not([data-theme="light"]) :where(.recipe-list button,.measurement-points,.battery-advanced,.test-panel,.diagnostic-diagram,.preview-diagram,.preview-results){border-color:#344054;background:#182230;color:var(--ink)}
html:not([data-theme="light"]) .recipe-list button:hover{background:#253247}
html:not([data-theme="light"]) :where(.recipe-list small,.test-point-head,.battery-advanced summary small,.preview-head p,.preview-reading span,.preview-reading small,.preview-scenarios>span){color:#aeb8c6}
html:not([data-theme="light"]) :where(.editor-heading,.advanced-content,.preview-reading){border-color:#344054}
html:not([data-theme="light"]) .sense-channel{border-color:#475467;background:#101828;color:#d0d5dd}
html:not([data-theme="light"]) .remove-point{border-color:#912f40;background:#431f26;color:#fda29b}
html:not([data-theme="light"]) .battery-test-diagram{border-color:#344054;background:#101828}
html:not([data-theme="light"]) .battery-outline{fill:#182230;stroke:#98a2b3}
html:not([data-theme="light"]) .battery-terminal{fill:#d0d5dd}
html:not([data-theme="light"]) .battery-point circle{fill:#253247;stroke:#98a2b3}
html:not([data-theme="light"]) .battery-point .point-symbol,html:not([data-theme="light"]) .battery-point .point-label{fill:#f2f4f7}
html:not([data-theme="light"]) .battery-point .point-reading{fill:#aeb8c6}
html:not([data-theme="light"]) .battery-point.pass circle{fill:#12382c;stroke:#47cd89}
html:not([data-theme="light"]) .battery-point.pass_with_observation circle{fill:#3b2c0e;stroke:#fdb022}
html:not([data-theme="light"]) .battery-point.fail circle,html:not([data-theme="light"]) .battery-point.equipment_error circle{fill:#431f26;stroke:#f97084}
html:not([data-theme="light"]) .battery-preview-dialog{background:#182230;color:var(--ink)}
html:not([data-theme="light"]) .preview-window{background:#101828}
html:not([data-theme="light"]) .preview-close{background:#344054;color:#fff}
html:not([data-theme="light"]) .preview-banner{background:#253247;color:#d0d5dd}
html:not([data-theme="light"]) .preview-banner.pass{background:#12382c;color:#75e0a7}
html:not([data-theme="light"]) .preview-banner.fail,html:not([data-theme="light"]) .preview-banner.equipment_error{background:#431f26;color:#fda29b}
html:not([data-theme="light"]) .preview-banner.pass_with_observation{background:#3b2c0e;color:#fec84b}
html:not([data-theme="light"]) .identity-source{background:#152d52;border-color:#84adff}
html:not([data-theme="light"]) .draft-readiness.not-ready{background:#3b2c0e;color:#fec84b;border-color:#b57a0a}
html:not([data-theme="light"]) .draft-readiness.ready{background:#12382c;color:#75e0a7;border-color:#25966b}
html:not([data-theme="light"]) .draft-readiness.ready span{color:#75e0a7}
html:not([data-theme="light"]) .test-point-head{background:#182230}
html:not([data-theme="light"]) .test-point-row:focus-within{background:#172d52;box-shadow:0 0 0 1px #4e7dd8}
