:root{color-scheme:dark;--bg:#0b0d10;--panel:#14181d;--panel2:#1a1f25;--line:#2a3038;--text:#f1f3f5;--muted:#929ba7;--accent:#d68b47;--accent2:#f0ad68;--green:#4fc28b;--red:#e26d73;--sidebar-bg:#101317;--brand-ink:#16100b;--accent-deep:#98562c;--accent-ink:#17100a;--nav-text:#b8c0ca;--logout-text:#d1d6dc;--icon-bg:#262c34;--button-bg:#252b32;--input-bg:#0f1216;--input-bg-alt:#0e1115;--table-header-bg:#11151a;--popover-bg:#20262d;--surface-deep:#12161b;--row-bg:#171b20;--row-hover:#1c2127;--row-hover-alt:#252a30;--weekend-bg:#181c21;--control-bg:#242a31;--control-hover:#2b3139;--control-border:#343b45;--control-border-hover:#3a424c;--line-strong:#2e343c;--line-strong-alt:#2b3138;--muted-line:#3a414b;--muted-line-strong:#454c55;--dialog-surface:#101419;--surface-black:#090b0e;--label-text:#bdc4cd;--neutral-text:#c4cbd4;--calendar-text:#c9d0d8;--text-secondary:#cbd1d8;--text-soft:#adb6c1;--text-bright:#e3e7eb;--text-high:#eef1f4;--subtle-text:#4b5562;--muted-dim:#6f7985;--muted-mid:#7f8994;--code-text:#d7dde5;--pure-contrast:#fff;--success-bg:#183326;--completed-bg:#19372b;--success-line:#285f48;--completed-line:#2d694f;--success-text:#83ddb4;--success-text-strong:#a4ebc9;--danger-bg:#321e21;--danger-line:#6d383c;--alert-line:#71383d;--danger-text:#ef969a;--danger-text-strong:#f1a4a8;--danger-text-high:#ffb6ba;--warning:#f8c56b;--warning-text:#f6bd86;--warning-deep-bg:#241b15;--warning-row-bg:#2a2119;--warning-line:#6c4a2e;--maintenance-bg:#39281b;--maintenance-line:#78502f;--maintenance-line-strong:#8c5d33;--maintenance-text:#f3b474;--login-glow:#332217;--accent-tint:#d68b4718;--accent-soft:#d68b4720;--accent-shadow-soft:#d68b4725;--accent-shadow:#d68b4730;--accent-border-soft:#d68b4755;--accent-border:#d68b4770;--accent-deep-tint:#17100a1f;--success-tint-subtle:#4fc28b15;--success-tint:#4fc28b18;--success-soft:#4fc28b20;--success-border:#4fc28b70;--danger-tint-faint:#e26d730c;--danger-tint-subtle:#e26d7315;--danger-tint:#e26d7318;--danger-border-soft:#e26d7355;--danger-deep-alpha:#321e2180;--warning-tint:#f8c56b14;--warning-border:#f8c56b55;--neutral-tint:#ffffff0a;--white-02:#ffffff04;--white-02-strong:#ffffff05;--white-03:#ffffff06;--white-03-strong:#ffffff08;--white-04:#ffffff09;--white-08:#ffffff14;--white-09:#ffffff16;--surface-alpha:#0d101450;--input-alpha:#0e111550;--scrim-strong:#050608c7;--shadow-faint:#0002;--shadow-soft:#0004;--shadow-medium:#0005;--shadow-heavy-soft:#0008;--shadow-heavy:#0009;--shadow-dialog-soft:#000a;--backdrop:#000b;--backdrop-strong:#000c;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme="light"]{color-scheme:light;--bg:#f3efe8;--panel:#fffaf3;--panel2:#f9f3ea;--line:#d8cec0;--text:#26221e;--muted:#746b61;--accent:#bd6d2f;--accent2:#a95720;--green:#23734f;--red:#b8464d;--sidebar-bg:#ebe4da;--brand-ink:#28160a;--accent-deep:#9d5422;--accent-ink:#fff8ef;--nav-text:#554e47;--logout-text:#514941;--icon-bg:#eadfd1;--button-bg:#eee5da;--input-bg:#fffdf9;--input-bg-alt:#fffaf4;--table-header-bg:#eee6dc;--popover-bg:#fffaf3;--surface-deep:#f2eae0;--row-bg:#f8f2e9;--row-hover:#eee4d8;--row-hover-alt:#e9dfd2;--weekend-bg:#eee8e0;--control-bg:#eee6dc;--control-hover:#e3d8ca;--control-border:#c9bcad;--control-border-hover:#aa9b89;--line-strong:#c4b6a6;--line-strong-alt:#cbbdad;--muted-line:#b8aa9a;--muted-line-strong:#a69887;--dialog-surface:#fffaf3;--surface-black:#e8ded2;--label-text:#5d554d;--neutral-text:#595149;--calendar-text:#504940;--text-secondary:#4e4740;--text-soft:#625a52;--text-bright:#302a25;--text-high:#241f1b;--subtle-text:#776e65;--muted-dim:#81776d;--muted-mid:#6f665d;--code-text:#403831;--pure-contrast:#1a1712;--success-bg:#dcefe5;--completed-bg:#d9eee3;--success-line:#74a98f;--completed-line:#689d84;--success-text:#176440;--success-text-strong:#145638;--danger-bg:#f5dfe0;--danger-line:#c98b8e;--alert-line:#c77f83;--danger-text:#a6373e;--danger-text-strong:#942f36;--danger-text-high:#842930;--warning:#94600d;--warning-text:#87500d;--warning-deep-bg:#f5e9d6;--warning-row-bg:#f1e3cf;--warning-line:#c19a65;--maintenance-bg:#f1dfc8;--maintenance-line:#b98a52;--maintenance-line-strong:#9f713d;--maintenance-text:#794711;--login-glow:#ead7c3;--accent-tint:rgba(189,109,47,.11);--accent-soft:rgba(189,109,47,.15);--accent-shadow-soft:rgba(122,76,38,.16);--accent-shadow:rgba(122,76,38,.2);--accent-border-soft:rgba(157,84,34,.42);--accent-border:rgba(157,84,34,.58);--accent-deep-tint:rgba(157,84,34,.12);--success-tint-subtle:rgba(35,115,79,.1);--success-tint:rgba(35,115,79,.13);--success-soft:rgba(35,115,79,.16);--success-border:rgba(35,115,79,.5);--danger-tint-faint:rgba(184,70,77,.06);--danger-tint-subtle:rgba(184,70,77,.1);--danger-tint:rgba(184,70,77,.13);--danger-border-soft:rgba(184,70,77,.38);--danger-deep-alpha:rgba(184,70,77,.16);--warning-tint:rgba(148,96,13,.1);--warning-border:rgba(148,96,13,.38);--neutral-tint:rgba(55,45,35,.07);--white-02:rgba(55,45,35,.025);--white-02-strong:rgba(55,45,35,.035);--white-03:rgba(55,45,35,.045);--white-03-strong:rgba(55,45,35,.06);--white-04:rgba(55,45,35,.07);--white-08:rgba(55,45,35,.12);--white-09:rgba(55,45,35,.14);--surface-alpha:rgba(255,250,243,.72);--input-alpha:rgba(255,253,249,.72);--scrim-strong:rgba(31,24,18,.72);--shadow-faint:rgba(55,42,30,.08);--shadow-soft:rgba(55,42,30,.12);--shadow-medium:rgba(55,42,30,.16);--shadow-heavy-soft:rgba(55,42,30,.2);--shadow-heavy:rgba(55,42,30,.24);--shadow-dialog-soft:rgba(55,42,30,.28);--backdrop:rgba(31,24,18,.68);--backdrop-strong:rgba(31,24,18,.78)}
*{box-sizing:border-box}
h1,h2,h3,h4,strong,b{font-weight:500}
body{margin:0;background:var(--bg);color:var(--text);font-size:15px}
a{color:inherit;text-decoration:none}
h1 a,h2 a,h3 a{color:var(--accent2)}
h1 a:hover,h2 a:hover,h3 a:hover{text-decoration:underline}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 20px;background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;padding:0 8px 28px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--accent2),var(--accent-deep));font-size:21px;font-weight:500;color:var(--brand-ink);box-shadow:0 8px 25px var(--accent-shadow)}
.brand strong,.brand small{display:block}
.brand strong{font-size:17px}
.brand small{margin-top:2px;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.sidebar nav{display:grid;gap:6px}
.sidebar nav a,.nav-disabled{display:flex;gap:12px;align-items:center;min-height:45px;padding:0 13px;border-radius:12px;color:var(--nav-text);text-decoration:none}
.sidebar nav a:hover,.sidebar nav a.active{color:var(--pure-contrast);background:var(--panel2)}
.sidebar nav a.active{box-shadow:inset 3px 0 var(--accent)}
.sidebar nav span{width:20px;text-align:center;color:var(--accent2)}
.nav-disabled{opacity:.48}
.nav-disabled small{margin-left:auto;font-size:10px;text-transform:uppercase}
.sidebar-footer{margin-top:auto;padding:18px 8px 0;border-top:1px solid var(--line)}
.version{color:var(--muted);font-size:12px;margin-bottom:12px}
.logout{border:0;background:transparent;color:var(--logout-text);padding:6px 0;cursor:pointer;font:inherit}
.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:var(--muted)}
.admin-user{display:flex;align-items:center;gap:9px;color:var(--text);font-weight:500}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--success-tint)}
.content{padding:38px 32px 60px;max-width:1500px;margin:auto}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
.page-heading h1{font-size:34px;margin:4px 0 8px;letter-spacing:-.035em}
.page-heading p{margin:0;color:var(--muted)}
.kicker{color:var(--accent2)!important;font-size:11px;font-weight:500;letter-spacing:.16em}
.cards{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}
.metric,.panel,.module{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.metric{padding:21px;display:flex;align-items:center;gap:16px;min-height:100px}
.metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--icon-bg);color:var(--accent2);font-weight:500}
.metric-icon.ok{color:var(--green);background:var(--success-tint-subtle)}
.metric-icon.warn{color:var(--red);background:var(--danger-tint-subtle)}
.metric small,.metric strong{display:block}
.metric small{color:var(--muted);margin-bottom:6px}
.metric strong{font-size:21px}
.environment-panel{display:flex;gap:60px;padding:18px 22px;margin-top:14px}
.environment-panel span,.environment-panel strong{display:block}
.environment-panel span{font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:5px}
.section-heading{margin:38px 0 16px}
.section-heading h2{margin:4px 0}
.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.module{padding:20px}
.module span,.module strong{display:block}
.module span{font-weight:500;font-size:17px}
.module strong{color:var(--accent2);font-size:12px;margin:18px 0 8px}
.module p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.button{appearance:none;border:1px solid var(--line);background:var(--button-bg);color:var(--text);border-radius:10px;padding:11px 15px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.button.small{padding:7px 10px;font-size:12px}
.button.danger{color:var(--danger-text-high);border-color:var(--danger-line);background:var(--danger-bg)}
.button.success{color:var(--success-text-strong);border-color:var(--success-line);background:var(--success-bg)}
.create-box{position:relative}
.create-box>summary{list-style:none}
.create-box[open]{min-width:min(520px,100%)}
.form-grid{position:absolute;z-index:5;right:0;top:48px;width:520px;max-width:calc(100vw - 32px);padding:20px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 22px 70px var(--shadow-heavy);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label,.form-stack label{display:grid;gap:7px;color:var(--label-text);font-size:12px}
.form-grid input,.form-grid select,.form-stack input,.pin-form input{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:10px;padding:12px;font:inherit}
.form-grid .checkbox{display:flex;align-items:center;gap:8px}
.form-grid .checkbox input{width:auto}
.table-panel{overflow:hidden}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:1050px}
th,td{text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--table-header-bg)}
tbody tr:last-child td{border-bottom:0}
code{color:var(--code-text)}
.badge,.role{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:500}
.badge.active{background:var(--success-tint);color:var(--success-text)}
.badge.blocked{background:var(--danger-tint);color:var(--danger-text)}
.role{background:var(--neutral-tint);color:var(--neutral-text)}
.actions{display:flex;align-items:flex-start;gap:7px}
.actions form{margin:0}
.pin-box{position:relative}
.pin-box>summary{list-style:none}
.pin-form{position:absolute;right:0;top:38px;z-index:4;width:230px;padding:12px;border-radius:13px;background:var(--popover-bg);border:1px solid var(--line);box-shadow:0 15px 45px var(--shadow-heavy);display:grid;gap:8px}
.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 15%,var(--login-glow) 0,transparent 35%),var(--bg)}
.login-card{width:min(420px,100%);padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 90px var(--shadow-heavy)}
.login-brand{padding:0 0 30px}
.login-card h1{margin:0 0 8px;font-size:29px}
.login-card>p{color:var(--muted);line-height:1.5;margin:0 0 24px}
.form-stack{display:grid;gap:16px}
.form-stack .button{margin-top:4px;min-height:48px}
.alert{background:var(--danger-tint-subtle);border:1px solid var(--alert-line);color:var(--danger-text-strong);padding:12px;border-radius:11px;margin-bottom:16px}
.security-note{display:block;text-align:center;color:var(--muted);margin-top:22px}
@media(max-width:900px){.app-shell{grid-template-columns:1fr;min-width:0}
.app-shell>*{min-width:0}
.sidebar{position:relative;height:auto;min-width:0;padding:16px;border-right:0;border-bottom:1px solid var(--line)}
.brand{padding-bottom:14px}
.sidebar nav{display:flex;min-width:0;overflow-x:auto}
.sidebar nav a,.nav-disabled{flex:0 0 auto}
.nav-disabled small{display:none}
.sidebar-footer{display:none}
.topbar{padding:0 18px}
.content{padding:26px 16px 45px}
.cards{grid-template-columns:repeat(2,1fr)}
.module-grid{grid-template-columns:repeat(2,1fr)}
.page-heading.split{display:block}
.create-box{margin-top:18px}
.create-box[open]{min-width:0}
.form-grid{left:0;right:auto}
}
@media(max-width:560px){.topbar>div:first-child{display:none}
.topbar{justify-content:flex-end}
.page-heading h1{font-size:29px}
.cards{grid-template-columns:1fr}
.module-grid{grid-template-columns:1fr}
.environment-panel{gap:25px;flex-wrap:wrap}
.login-card{padding:28px 22px}
.form-grid{grid-template-columns:1fr}
table{min-width:0}
thead{display:none}
tbody,tr,td{display:block}
tr{padding:12px 0;border-bottom:1px solid var(--line)}
td{border:0;padding:7px 14px;display:grid;grid-template-columns:120px 1fr;gap:8px}
td:before{content:attr(data-label);color:var(--muted);font-size:11px;text-transform:uppercase}
.actions{display:flex;grid-template-columns:none;flex-wrap:wrap}
.actions:before{width:112px}
.pin-form{left:0;right:auto}
}
.sidebar-meta{display:grid;gap:10px;margin-bottom:10px}.sidebar-meta .version{margin:0}.theme-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:7px 0;border:0;background:transparent;color:var(--logout-text);font:inherit;font-size:12px;cursor:pointer;text-align:left}.theme-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--accent2)}
@media(max-width:900px){.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px}.sidebar-meta{margin:0}.sidebar-meta .version,.theme-label{display:none}.theme-toggle{padding:0}.sidebar-footer>form{margin:0}}

/* Shared Mechanest surfaces: quiet typography, neutral themes, semantic accents. */
:root{--radius:16px;--accent:#ff8a18;--accent2:#ff9b3d;--bg:#1b1e20;--panel:#23272a;--panel2:#2a2e32;--sidebar-bg:#1b1e20;--line:#383d42;--input-bg:#2a2e32;--input-bg-alt:#23272a}
:root[data-theme="light"]{--bg:#eceff2;--panel:#f5f6f8;--panel2:#fff;--sidebar-bg:#fff;--line:#d8dde4;--text:#202326;--muted:#717985;--accent:#ff8a18;--accent2:#a95400;--accent-ink:#202326;--input-bg:#fff;--input-bg-alt:#f5f6f8;--button-bg:#e8ebef;--table-header-bg:#eceff2;--row-bg:#f5f6f8;--row-hover:#e8ecf1;--row-hover-alt:#e1e6ec;--popover-bg:#fff;--dialog-surface:#fff;--surface-deep:#eceff2;--control-bg:#e8ebef;--control-hover:#dde2e8;--control-border:#cbd2db;--nav-text:#535c67;--text-secondary:#535c67;--label-text:#535c67;--logout-text:#535c67}
.button,input,select,textarea,.badge,.role,.quick-filters a{border-radius:8px}
.metric,.panel,.module,.login-card,.form-grid{box-shadow:none}
.brand-mark{font-weight:700;box-shadow:none;background:var(--accent)}
.login-body{background:var(--bg)}
.page-heading h1{font-size:30px;line-height:1.2}
button:disabled{opacity:.6;cursor:wait}
[data-correction-error]{color:var(--danger-text);background:var(--danger-tint);border-radius:8px;padding:12px;line-height:1.5}
.warehouse-correction-dialog{max-height:calc(100dvh - 32px);overflow:auto}
.warehouse-correction-dialog dd{overflow-wrap:anywhere}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
