:root{font-family:system-ui,'Segoe UI',Arial,sans-serif;color:#e5edf5;background:#101923;font-size:14px}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:20px;align-items:center;background:#182533;border-bottom:1px solid #344355;padding:12px 24px;flex-wrap:wrap}header strong{font-size:19px;color:#f3f8fc}nav{display:flex;gap:14px;flex-wrap:wrap}a{color:#b5d9f6;text-decoration:none}a:hover{text-decoration:underline}main{max-width:1480px;margin:auto;padding:18px}h1{font-size:23px;margin:8px 0 16px}h2{font-size:16px;margin:0 0 12px}section{background:#1a2937;border:1px solid #34485a;border-radius:9px;padding:16px;margin:12px 0;overflow-x:auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.cards article{background:#203144;border:1px solid #395066;padding:18px;border-radius:8px;display:flex;flex-direction:column;gap:8px}.cards b{font-size:30px}.cards span,.muted{color:#a8b7c8}.columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:8px;border-bottom:1px solid #344657;vertical-align:top}th{color:#9bb4c9;font-weight:600}input,select,textarea,button{font:inherit;padding:9px 11px;border-radius:5px;border:1px solid #50647a;background:#101d29;color:#e5edf5}input,select,textarea{min-width:140px}textarea{min-height:65px}form{display:flex;gap:9px;flex-wrap:wrap;align-items:start}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr))}.formgrid>*{width:100%}button{background:#166ea7;border-color:#2584c0;cursor:pointer;font-weight:600}button:hover{background:#2388c8}.login{max-width:400px;margin:10vh auto}.login form,.login label{display:flex;flex-direction:column;width:100%;gap:9px}.error{background:#672f35;padding:12px;border-radius:6px}.notice{background:#224b4c;padding:15px;border-radius:6px}.notice pre{overflow-wrap:anywhere;white-space:pre-wrap}.status{display:inline-block;border-radius:12px;padding:3px 9px;background:#455366}.status.running{background:#1e684b}.status.alarm{background:#a53b43}.status.idle,.status.setup{background:#89631d}footer{text-align:center;color:#8a9caf;padding:20px}code{overflow-wrap:anywhere}@media(max-width:760px){.cards{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}header{padding:10px}main{padding:10px}}
.daily-bars{display:grid;gap:10px}.daily-row{display:grid;grid-template-columns:105px 1fr 75px;align-items:center;gap:12px;font-size:13px}.bar-track{background:#132131;border-radius:5px;overflow:hidden;height:17px}.bar-fill{background:#2589c5;height:100%;min-width:1px}
/* Analytics v1.0.2 */
.analytics-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.analytics-filter label{min-width:175px}.analytics-filter select{width:100%}.state-stack{height:22px;display:flex;overflow:hidden;background:#30445b;border-radius:5px;min-width:0;flex:1}.state-segment{height:100%;min-width:0}.state-running{background:#23b87d}.state-idle{background:#e4a73d}.state-setup{background:#6496d5}.state-alarm{background:#e35d64}.state-offline{background:#697889}.state-other{background:#9975bc}.analytics-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px}.legend-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}.timeline-row{display:flex;align-items:center;gap:14px;margin:9px 0}.timeline-row>span{width:100px;flex-shrink:0;font-size:13px}.table-wrap{overflow:auto}.analytics-filter button{height:36px}

/* Industry 4 v1.0.4: optional light palette; dark is the unchanged default. */
.theme-toggle{white-space:nowrap;padding:7px 10px;min-width:auto;background:transparent;color:#dceaf5;border:1px solid #536a80;font-weight:600}.theme-toggle:hover{background:#2a4055}.login-theme{position:absolute;right:20px;top:20px}
:root[data-theme="light"]{color-scheme:light;background:#f4f7fb;color:#172b3d}
:root[data-theme="light"] body{background:#f4f7fb;color:#172b3d}
:root[data-theme="light"] header{background:#ffffff;border-bottom-color:#d5dfe9}
:root[data-theme="light"] header strong{color:#152b3d}
:root[data-theme="light"] a{color:#135b8e}
:root[data-theme="light"] section{background:#fff;border-color:#d7e1ea;box-shadow:0 1px 3px rgba(21,42,61,.04)}
:root[data-theme="light"] .cards article{background:#eef4fa;border-color:#d7e1ea}
:root[data-theme="light"] .cards span,:root[data-theme="light"] .muted{color:#50677a}
:root[data-theme="light"] th{color:#45657f}
:root[data-theme="light"] th,:root[data-theme="light"] td{border-bottom-color:#dce5ee}
:root[data-theme="light"] input,:root[data-theme="light"] select,:root[data-theme="light"] textarea{background:#fff;color:#1a2e40;border-color:#a8b9c8}
:root[data-theme="light"] button{background:#14699c;border-color:#14699c;color:#fff}
:root[data-theme="light"] button:hover{background:#0c537e}
:root[data-theme="light"] .theme-toggle{background:#fff;color:#244e6b;border-color:#b4c5d3}
:root[data-theme="light"] .theme-toggle:hover{background:#eaf2f9}
:root[data-theme="light"] .error{background:#fbe5e7;color:#8d2531}
:root[data-theme="light"] .notice{background:#e1f3ed;color:#145b48}
:root[data-theme="light"] .status{color:#fff;background:#5c7184}
:root[data-theme="light"] .status.running{background:#1e684b}
:root[data-theme="light"] .status.alarm{background:#a53b43}
:root[data-theme="light"] .status.idle,:root[data-theme="light"] .status.setup{background:#89631d}
:root[data-theme="light"] footer{color:#60798d}
:root[data-theme="light"] .bar-track{background:#e2eaf2}
:root[data-theme="light"] .state-stack{background:#d8e3ec}
:root[data-theme="light"] input:focus-visible,:root[data-theme="light"] button:focus-visible,:root[data-theme="light"] a:focus-visible{outline:2px solid #177cbb;outline-offset:2px}
/* Advanced Visualization 1.0.6: theme-safe, compact, no external chart CDN */
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.adv-machine{padding:12px;border:1px solid var(--border,#455366);border-radius:9px;background:var(--card,#1c2b3b);min-width:0}.adv-machine-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.adv-machine small{display:block;opacity:.75;margin-top:4px}.adv-big{font-size:27px;font-weight:700;margin:8px 0}.adv-big small{display:inline;font-size:12px}.adv-mini{font-size:12px;margin:5px 0}.adv-pill{font-size:11px;border-radius:9px;padding:3px 7px;background:rgba(137,150,167,.18)}.adv-pill.state-running{color:#20ae85}.adv-pill.state-alarm{color:#df626a}.adv-pill.state-idle{color:#e4a744}.adv-scroll{overflow-x:auto;max-width:100%}.adv-timeline{width:100%;border-collapse:collapse;font-size:11px}.adv-timeline th,.adv-timeline td{padding:3px!important;text-align:center;white-space:nowrap}.adv-timeline th:first-child,.adv-timeline td:first-child{text-align:left;min-width:115px}.adv-hour{display:block;width:15px;height:20px;border-radius:2px}.adv-legend{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.adv-legend span{font-size:12px;display:flex;align-items:center;gap:5px}.adv-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.adv-bar-row{display:grid;grid-template-columns:minmax(95px,150px) 1fr 90px;align-items:center;gap:8px;margin:7px 0;font-size:12px}.adv-track{height:12px;background:rgba(137,150,167,.2);border-radius:3px;overflow:hidden}.adv-fill{height:100%;border-radius:3px}@media(max-width:600px){.adv-bar-row{grid-template-columns:85px 1fr 65px}.adv-grid{grid-template-columns:1fr 1fr}}@media(max-width:420px){.adv-grid{grid-template-columns:1fr}}

/* v1.0.7: pearl is opt-in; dark and light stay available. Compact controls for all themes. */
:root{--control-y:5px;--control-x:9px}
input,select,textarea,button{padding:var(--control-y) var(--control-x);border-radius:5px;line-height:1.25}
input[type="checkbox"],input[type="radio"]{min-width:0;padding:0}
textarea{min-height:44px}form{gap:6px}.formgrid{gap:7px}.login form,.login label{gap:6px}
section{padding:11px;margin:9px 0}th,td{padding:5px 7px}.cards{gap:8px}.cards article{padding:12px;gap:4px}
header{padding:8px 14px;gap:11px}nav{gap:10px}main{padding:12px}h1{margin:6px 0 11px}
.theme-toggle{min-width:0;padding:5px 9px}
:root[data-theme="pearl"]{color-scheme:light;background:#fdfbf7;color:#342b20;--border:#e5d6b8;--card:linear-gradient(145deg,#fffefc,#faf5eb)}
:root[data-theme="pearl"] body{background:radial-gradient(ellipse at 85% 0%,#ffffff 0%,#fdfaf4 43%,#f8f4ea 100%);color:#342b20}
:root[data-theme="pearl"] header{background:linear-gradient(115deg,#fffefc 0%,#fcf4df 48%,#fffefd 100%);border-bottom:1px solid #d6b76d;box-shadow:0 2px 12px #9d78351c}
:root[data-theme="pearl"] header strong{color:#745015;text-shadow:0 1px 0 #fff}
:root[data-theme="pearl"] a{color:#856016}
:root[data-theme="pearl"] section{background:linear-gradient(130deg,#fffefc 0%,#fffefc 65%,#fdf8ee 100%);border:1px solid #e4d2aa;box-shadow:0 2px 9px #8f692319}
:root[data-theme="pearl"] .cards article,:root[data-theme="pearl"] .adv-machine{background:linear-gradient(145deg,#ffffff,#fdf7e9 90%);border:1px solid #dcc38e;box-shadow:inset 0 1px 0 #fff,0 3px 10px #9c74251c}
:root[data-theme="pearl"] .cards b,:root[data-theme="pearl"] .adv-big{color:#9a6a14;text-shadow:0 1px 0 #fff}
:root[data-theme="pearl"] .cards span,:root[data-theme="pearl"] .muted{color:#786b57}
:root[data-theme="pearl"] th{color:#81601f;background:#fdf9f0}
:root[data-theme="pearl"] td,:root[data-theme="pearl"] th{border-bottom-color:#eadcc2}
:root[data-theme="pearl"] input,:root[data-theme="pearl"] select,:root[data-theme="pearl"] textarea{background:#fffefc;color:#3a3022;border:1px solid #d6bf90;box-shadow:inset 0 1px 2px #b39c641c}
:root[data-theme="pearl"] button{background:linear-gradient(135deg,#f8e4a3,#d6a640 55%,#b98728);color:#35260b;border:1px solid #bc8c35;box-shadow:inset 0 1px 0 #fff4c7,0 2px 5px #96722636}
:root[data-theme="pearl"] button:hover{background:linear-gradient(135deg,#fff0bd,#e9bb58 60%,#c99435)}
:root[data-theme="pearl"] .theme-toggle{background:linear-gradient(145deg,#fffef8,#faf0d5);border-color:#c8a660;color:#6e4a11}
:root[data-theme="pearl"] .notice{background:#fff5d9;color:#755414;border-left:3px solid #cba046}
:root[data-theme="pearl"] .error{background:#fce6e2;color:#8d2830}
:root[data-theme="pearl"] .bar-track,:root[data-theme="pearl"] .adv-track{background:#f5eddd}
:root[data-theme="pearl"] .bar-fill{background:linear-gradient(90deg,#b88925,#f4d77c,#c49330)}
:root[data-theme="pearl"] .adv-fill{filter:saturate(1.25) brightness(1.05);box-shadow:inset 0 1px 1px #ffffff8a}
:root[data-theme="pearl"] .state-stack{background:#f7f0e2}
:root[data-theme="pearl"] .status{color:#fff}
:root[data-theme="pearl"] .status.running{background:#18865d}
:root[data-theme="pearl"] .status.alarm{background:#b94350}
:root[data-theme="pearl"] .status.idle,:root[data-theme="pearl"] .status.setup{background:#a37b2d}
:root[data-theme="pearl"] footer{color:#88795c}
:root[data-theme="pearl"] input:focus-visible,:root[data-theme="pearl"] button:focus-visible,:root[data-theme="pearl"] a:focus-visible{outline:2px solid #b88925;outline-offset:2px}
@media(max-width:760px){header{padding:8px}main{padding:8px}section{padding:9px}}

/* v1.0.8 language switch, compact in all themes */
.lang-toggle{cursor:pointer;min-width:35px;padding:4px 8px;margin:0 5px;border:1px solid var(--border,#b6a77d);border-radius:6px;background:var(--panel,#ffffff);color:var(--text,#333);font-weight:700;font-size:12px;line-height:1.2}
.login-theme .lang-toggle{margin-right:6px}

/* v1.0.9 language selector: compact in all themes */
select.lang-picker{width:auto;max-width:118px;min-width:83px;padding:4px 5px;line-height:1.2;font-size:12px;cursor:pointer;color:var(--text,#333);background:var(--panel,#fff);border:1px solid var(--border,#b6a77d);border-radius:6px}select.lang-picker option{background:#fff;color:#222}html[data-theme="dark"] select.lang-picker option{background:#1c2b3b;color:#f5f5f5}

/* Company identity - all three themes */
.company-brand{display:flex;align-items:center;gap:7px;white-space:nowrap;max-width:330px;min-width:0}
.company-brand span{overflow:hidden;text-overflow:ellipsis}
.company-brand small{font-size:10px;opacity:.68;font-weight:500;flex-shrink:0}
.company-logo{max-width:90px;width:auto;height:32px;object-fit:contain;flex-shrink:0}
.company-form{align-items:end;gap:8px}
.company-form label{display:flex;flex-direction:column;gap:3px;max-width:350px}
.company-form .company-remove{flex-direction:row;align-items:center}
.company-form input[type=file]{max-width:290px}

/* v1.1.1: compact thematic navigation; inherits all three themes */
.site-header{gap:10px;flex-wrap:wrap}.site-header .company-brand{max-width:260px}.main-nav{display:flex;gap:4px;align-items:center;flex:1 1 auto}.main-nav>a,.logout-link{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 7px;border-radius:5px;font-size:12px}.main-nav>a:hover,.logout-link:hover{background:rgba(128,128,128,.12);text-decoration:none}.header-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-left:auto}.nav-menu{position:relative}.nav-menu>summary{list-style:none;cursor:pointer;white-space:nowrap;padding:5px 9px;border:1px solid currentColor;border-radius:6px;font-size:12px;opacity:.9}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:after{content:' ▾';font-size:10px}.nav-menu[open]>summary{opacity:1}.nav-menu-panel{position:absolute;top:calc(100% + 5px);right:0;z-index:1000;min-width:172px;display:flex;flex-direction:column;padding:5px;background:#1a2937;border:1px solid #50647a;border-radius:8px;box-shadow:0 8px 25px #0005}.nav-menu-panel>a{display:block;padding:8px 10px;border-radius:5px;white-space:nowrap;font-size:13px}.nav-menu-panel>a:hover{background:rgba(128,128,128,.16);text-decoration:none}:root[data-theme="light"] .nav-menu-panel{background:#fff;border-color:#d5dfe9;box-shadow:0 8px 25px #0002}:root[data-theme="pearl"] .nav-menu-panel{background:linear-gradient(135deg,#fffefc,#fcf4df);border-color:#d6b76d;box-shadow:0 8px 25px #977b452b}@media(max-width:900px){.main-nav{order:3;flex-basis:100%;overflow-x:auto}.header-tools{margin-left:auto}}

/* v1.1.2: larger primary statistics navigation; compact utility controls unchanged */
.site-header .main-nav{gap:7px}
.site-header .main-nav>a{font-size:15px;font-weight:650;line-height:1.35;padding:9px 11px;border-radius:7px}
@media(max-width:900px){.site-header .main-nav{gap:5px}.site-header .main-nav>a{font-size:14px;padding:8px 10px}}

/* v1.1.4: distinct operational and administrator settings. */
.settings-intro{margin:8px 0 24px}.settings-kicker{font-size:11px;letter-spacing:2px;color:#409fba}.settings-intro h1{margin:8px 0}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.settings-tile{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--border,#365067);border-radius:12px;background:var(--card,#182c40);text-decoration:none}.settings-tile:hover{outline:1px solid currentColor;text-decoration:none}.settings-tile strong{font-size:19px}.settings-tile span{font-size:13px;opacity:.82}.settings-links{display:flex;gap:16px;flex-wrap:wrap}.settings-value{font-size:20px!important;overflow-wrap:anywhere}.admin-intro{border-left:3px solid #b18a46;padding-left:18px}.admin-danger{margin-top:24px;padding:16px;border:1px solid #b95c63;border-radius:10px}.admin-danger>summary{cursor:pointer;font-weight:bold}section[id]{scroll-margin-top:90px}@media(max-width:1000px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.settings-grid{grid-template-columns:1fr}}
:root[data-theme="pearl"] .factory-shell{background:#091525;color:#dfedf7;border-color:#284760}
:root[data-theme="pearl"] .settings-kicker{color:#79551b}

/* v1.1.5: readable production dashboard and settings in light mode. */
:root[data-theme="light"]{--card:#eef4fa;--border:#d7e1ea;--text:#172b3d;--panel:#ffffff}
:root[data-theme="light"] .adv-machine{background:#eef4fa;border-color:#d7e1ea;color:#172b3d}
:root[data-theme="light"] .adv-machine small{color:#50677a;opacity:1}
:root[data-theme="light"] .adv-big{color:#172b3d}
:root[data-theme="light"] .adv-pill{background:#e8edf2;color:#445e73}
:root[data-theme="light"] .adv-pill.state-running{background:#dff4ec;color:#0b7057}
:root[data-theme="light"] .adv-pill.state-alarm{background:#ffe7ea;color:#aa2736}
:root[data-theme="light"] .adv-pill.state-idle{background:#fff1cc;color:#795200}
:root[data-theme="light"] .adv-pill.state-setup{background:#e6f1ff;color:#155c91}
:root[data-theme="light"] .adv-pill.state-maintenance{background:#efe7fa;color:#634195}
:root[data-theme="light"] .settings-tile{background:#eef4fa;border-color:#d7e1ea;color:#135b8e}
:root[data-theme="light"] .settings-kicker{color:#25627f}
:root[data-theme="light"] .factory-shell{background:#091525;color:#dfedf7;border-color:#284760}
:root[data-theme="light"] .factory-actions a{color:#d5eef9}
