:root{--bg:#f4f7fb;--surface:#fff;--ink:#182234;--muted:#738096;--line:#e5eaf1;--nav:#101827;--nav2:#172236;--accent:#ef7d00;--danger:#d92d20;--radius:18px;--shadow:0 14px 40px rgba(29,45,78,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,a{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 26px}.brand-mark{background:var(--accent);color:#fff;font-weight:900;letter-spacing:.04em;border-radius:12px;padding:10px 9px}.brand b{display:block;font-size:17px}.brand span{display:block;color:#9eabc0;font-size:12px;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#aeb9ca;text-decoration:none;padding:11px 13px;border-radius:11px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.08);color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:16px 8px 0;display:grid;gap:3px;color:#dbe2ec}.sidebar-foot small{color:#8793a6}.main{min-width:0}.topbar{height:70px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}.topbar span{color:var(--muted);font-size:13px}.user-chip{display:flex;align-items:center;gap:10px;background:#f0f3f8;border:1px solid var(--line);padding:7px 10px;border-radius:12px;font-weight:700}.user-chip span{font-weight:500}.content{padding:30px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.page-head h1{font-size:31px;margin:5px 0}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--accent)}.btn{border:0;border-radius:11px;padding:10px 15px;font-weight:750;cursor:pointer}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(239,125,0,.22)}.btn-ghost{background:#f4f6f9;color:#455169}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.kpi,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:20px;display:grid;gap:5px}.kpi span{font-size:13px;color:var(--muted);font-weight:650}.kpi strong{font-size:34px;line-height:1}.kpi small{color:#94a0b2}.kpi.danger strong{color:var(--danger)}.panel-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px}.panel{padding:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h2{margin:3px 0 0;font-size:19px}.tickets{display:grid}.ticket{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.priority{width:38px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:900}.p1{background:#fff0ef;color:#c72c21}.p2{background:#fff6e8;color:#c06800}.p3{background:#eef4ff;color:#3d6fba}.ticket b,.mechanic b{display:block;font-size:14px}.ticket small,.mechanic small{display:block;color:var(--muted);margin-top:4px}.status{font-size:12px;font-weight:750;padding:7px 9px;border-radius:999px}.wait{background:#fff1ef;color:#c7352a}.road{background:#fff4e5;color:#b66300}.work{background:#edf6ff;color:#296eaa}.mechanic{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.dot{width:10px;height:10px;border-radius:50%}.online{background:#f59e0b}.busy{background:#3b82f6}.free{background:#22c55e}@media(max-width:1050px){.app-shell{grid-template-columns:82px 1fr}.sidebar{padding:20px 12px}.brand div:not(.brand-mark),.sidebar nav a{font-size:0}.sidebar nav a{height:42px}.sidebar-foot{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav a{height:36px}.brand{padding-bottom:12px}.topbar{padding:0 16px}.content{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid,.panel-grid{grid-template-columns:1fr}.ticket{grid-template-columns:40px 1fr}.ticket .status{grid-column:2}}

/* V0.1.1 — auth + installer-connected UI */
.auth-body{min-height:100vh;background:#eef2f7;color:#172033;display:grid;place-items:center;padding:24px}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid #dde5ef;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(23,32,51,.12)}.auth-brand{background:#172033;color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}.auth-brand h1{font-size:36px;margin:32px 0 12px}.auth-brand p{color:#b9c3d0;line-height:1.65;max-width:520px}.auth-version{margin-top:32px;color:#ef7d00;font-weight:900;font-size:13px}.brand-large .brand-mark{width:50px;height:50px}.auth-card{padding:48px;align-self:center}.auth-card h2{font-size:30px;margin:8px 0}.muted{color:#778295;line-height:1.5}.form-stack{display:grid;gap:14px;margin-top:24px}.form-stack label{font-size:13px;font-weight:800;color:#344054}.form-stack input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #ccd5e1;border-radius:10px;font:inherit;outline:none}.form-stack input:focus{border-color:#ef7d00;box-shadow:0 0 0 3px rgba(239,125,0,.12)}.btn-block{width:100%;justify-content:center}.alert{border-radius:10px;padding:12px 14px;margin-top:18px;font-size:13px}.alert-error{background:#fff0f0;border:1px solid #f0c5c5;color:#9b2424}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-actions form{margin:0}.empty-state{min-height:190px;border:1px dashed #cdd6e2;background:#f8fafc;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#7a8595}.empty-state strong{color:#253247;font-size:17px;margin-bottom:8px}.empty-state span{max-width:520px;line-height:1.5}.system-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f5;font-size:13px}.system-line:last-child{border-bottom:0}.system-line span{color:#7a8595}.system-line b{color:#263348}.system-line .good{color:#237a4b}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-brand,.auth-card{padding:30px}.auth-brand h1{font-size:28px}.auth-brand p{margin-bottom:0}}

/* V0.1.2 — strict Superadmin / Organization separation */
.nav-section-label{padding:18px 13px 8px;color:#65738a;font-size:10px;font-weight:900;letter-spacing:.14em}.nav-section-label:first-of-type{padding-top:4px}.sidebar nav+.nav-section-label{margin-top:4px}.saas-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.superadmin-grid{align-items:start}.text-link{color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}.org-list{display:grid}.org-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.org-avatar{width:38px;height:38px;border-radius:11px;background:#f1f4f8;display:grid;place-items:center;font-weight:900;color:#475467}.org-main{min-width:0}.org-main b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-main small{display:block;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px}.badge-success{background:#ecfdf3;color:#167647}.badge-muted{background:#f2f4f7;color:#667085}.admin-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.admin-module{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;gap:13px}.module-icon{width:42px;height:42px;border-radius:12px;background:#fff4e8;color:#bd6100;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.04em}.admin-module b{display:block;font-size:14px}.admin-module small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}@media(max-width:1150px){.admin-modules{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.saas-kpi-grid,.admin-modules{grid-template-columns:1fr}.nav-section-label{display:none}.org-row{grid-template-columns:38px 1fr}.org-row .badge{grid-column:2;justify-self:start}}
.context-chip{display:inline-flex;align-items:center;align-self:center;padding:8px 11px;border:1px solid #f1d2ad;background:#fff8ef;border-radius:999px;color:#a65700;font-size:12px;font-weight:800}.sidebar nav .nav-item{color:#aeb9ca;padding:11px 13px;border-radius:11px;font-size:14px}.sidebar nav .nav-item.disabled{opacity:.56;cursor:default}.sidebar nav{display:grid;gap:6px}@media(max-width:1050px){.sidebar nav .nav-item{font-size:0;height:42px}}@media(max-width:760px){.context-chip{align-self:flex-start}.sidebar nav .nav-item{height:36px}}

/* V0.1.3 — organization panel restored + separate Superadmin */
.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff8ef;border:1px solid #f1d2ad;border-radius:14px;padding:12px 14px;margin:-6px 0 16px;color:#7c4a0b;font-size:13px}.preview-bar span{color:#9b6a32}.preview-bar form{margin:0}.preview-bar select{min-width:220px;border:1px solid #e2b77e;background:#fff;border-radius:10px;padding:8px 10px;color:#344054;font:inherit}@media(max-width:760px){.preview-bar{align-items:flex-start;flex-direction:column}.preview-bar form,.preview-bar select{width:100%}}

/* V0.1.5 — fully separated Organization and Superadmin authentication */
.login-scope{display:inline-flex;width:max-content;margin-top:26px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:10px;font-weight:900;letter-spacing:.14em;color:#d8e0eb}.auth-brand-superadmin{background:linear-gradient(145deg,#111827,#1d293d)}.auth-shell-superadmin{max-width:940px}.auth-separator{height:1px;background:var(--line);margin:24px 0 18px}.auth-other-link{color:#68758a;text-decoration:none;font-size:13px;font-weight:750}.auth-other-link:hover{color:var(--accent)}.org-login-shell{width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid #dfe5ed;border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(23,32,51,.14)}.org-login-hero{padding:50px;background:radial-gradient(circle at 85% 15%,rgba(239,125,0,.16),transparent 28%),linear-gradient(145deg,#172033,#26354d);color:#fff;display:flex;flex-direction:column}.org-login-copy{margin:auto 0}.org-login-copy h1{font-size:46px;line-height:1.06;max-width:560px;margin:16px 0}.org-login-copy p{max-width:580px;color:#c2cbd8;line-height:1.65;font-size:16px}.org-login-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.org-login-pills span{padding:8px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;font-size:11px;font-weight:800;color:#dce3ed}.org-login-card-wrap{display:grid;place-items:center;padding:48px}.org-login-card{width:min(380px,100%)}.org-login-card h2{font-size:30px;margin:8px 0}.org-login-card label small{font-weight:500;color:#8a95a6}.org-login-help{margin-top:22px;padding:12px 14px;border-radius:11px;background:#f6f8fb;color:#7b8798;font-size:12px;line-height:1.5}@media(max-width:820px){.org-login-shell{grid-template-columns:1fr;min-height:0}.org-login-hero{padding:32px}.org-login-copy h1{font-size:34px}.org-login-card-wrap{padding:32px}.org-login-hero .auth-version{margin-top:26px}}

/* V0.1.8 — registration, TRIAL and mobile mechanic access */
.registration-cta{display:block;margin-top:14px;text-align:center;color:var(--accent);font-size:13px;font-weight:850;text-decoration:none}.registration-cta:hover{text-decoration:underline}.registration-body{margin:0;min-height:100vh;background:#eef2f7;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:32px}.registration-shell{width:min(980px,100%);margin:0 auto}.registration-head{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:end;margin-bottom:22px}.registration-brand{text-decoration:none;color:inherit}.registration-head h1{font-size:38px;margin:10px 0 6px}.registration-head p{margin:0;color:#6f7b8e}.trial-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff3df;border:1px solid #ffd9a3;color:#9a5400;font-size:10px;font-weight:900;letter-spacing:.12em}.registration-card{background:#fff;border:1px solid #dfe6ef;border-radius:24px;box-shadow:0 18px 50px rgba(27,45,76,.09);padding:30px}.registration-card section+section{border-top:1px solid #edf1f5;margin-top:28px;padding-top:28px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.section-heading>span{width:34px;height:34px;border-radius:10px;background:#fff4e8;color:#bd6100;display:grid;place-items:center;font-size:11px;font-weight:900}.section-heading b,.section-heading small{display:block}.section-heading small{color:#8a95a6;margin-top:3px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.registration-card label{display:block;font-size:13px;font-weight:800;color:#344054;margin:12px 0}.registration-card label small{font-weight:500;color:#8a95a6;margin-left:6px}.registration-card input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #ccd5e1;border-radius:10px;font:inherit;outline:none}.registration-card input:focus{border-color:#ef7d00;box-shadow:0 0 0 3px rgba(239,125,0,.12)}.trial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.trial-summary div{background:#f7f9fc;border:1px solid #e7ebf0;border-radius:12px;padding:14px}.trial-summary span,.trial-summary b{display:block}.trial-summary span{font-size:11px;color:#7d8898}.trial-summary b{margin-top:5px}.check-label{display:flex!important;gap:10px;align-items:flex-start!important;font-weight:600!important}.check-label input{margin-top:2px;width:17px;height:17px;accent-color:#ef7d00}.registration-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f5;margin-top:28px;padding-top:22px}.registration-actions a{color:#667085;text-decoration:none;font-size:13px;font-weight:750}.registration-alert{margin-bottom:18px}.registration-version{text-align:center;color:#929cab;font-size:11px;margin:16px}.trial-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff8ef,#fff);border:1px solid #f3d4ad;border-radius:16px;padding:16px 18px;margin-bottom:16px}.trial-welcome div>strong,.trial-welcome div>small{display:block}.trial-welcome div>strong{margin:4px 0;font-size:16px}.trial-welcome div>small{color:#7a6751}.trial-welcome>span{font-size:13px;font-weight:950;color:#a65700;background:#fff1dc;border-radius:999px;padding:9px 11px;white-space:nowrap}.trial-strip{display:flex;align-items:center;gap:10px;background:#fff8ef;border:1px solid #f3d4ad;color:#7c4a0b;border-radius:12px;padding:10px 13px;margin-bottom:14px;font-size:12px}.trial-strip b{background:#ef7d00;color:#fff;border-radius:999px;padding:5px 8px;font-size:10px}.mechanic-mobile-body{margin:0;min-height:100vh;background:#eef2f7;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:grid;place-items:center;padding:18px}.mechanic-mobile-card{width:min(430px,100%);background:#fff;border:1px solid #dfe6ef;border-radius:24px;padding:28px;box-shadow:0 20px 55px rgba(23,32,51,.12)}.mechanic-mobile-card h1{font-size:28px;margin:18px 0 8px}.mechanic-mobile-card p{color:#6f7b8e;line-height:1.55}.mechanic-qr-icon{width:76px;height:76px;margin-top:34px;border-radius:20px;background:#172033;color:#fff;display:grid;place-items:center;font-weight:950;font-size:20px;letter-spacing:.08em}.mechanic-mobile-card>small{display:block;margin-top:26px;color:#9aa4b2}.mechanic-dashboard .empty-state{margin:24px 0}.mechanic-dashboard form{margin-top:16px}@media(max-width:760px){.registration-body{padding:18px}.registration-head{grid-template-columns:1fr;gap:18px}.registration-head h1{font-size:30px}.registration-card{padding:20px}.form-grid.two,.trial-summary{grid-template-columns:1fr}.registration-actions{align-items:stretch;flex-direction:column-reverse;gap:14px}.registration-actions .btn{width:100%}.trial-welcome{align-items:flex-start;flex-direction:column}}

/* V0.1.9 — Superadmin ZIP updater */
.alert-success{background:#ecfdf3;border:1px solid #b7e5ca;color:#17663d}.update-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start}.update-upload-form{display:grid;gap:14px;margin-top:22px}.upload-box{display:grid;gap:5px;padding:18px;border:1px dashed #b8c4d3;border-radius:14px;background:#f8fafc;cursor:pointer}.upload-box span{font-size:14px;font-weight:850;color:#29364b}.upload-box small{font-size:12px;color:#7a8799}.upload-box input{margin-top:9px;font:inherit}.update-checklist{display:grid}.update-checklist>div{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.update-checklist>div:first-child{border-top:0}.update-checklist b{width:30px;height:30px;border-radius:9px;background:#fff4e8;color:#bd6100;display:grid;place-items:center;font-size:10px}.update-checklist span{font-size:13px;color:#5f6d82;line-height:1.5}.update-history-panel{margin-top:16px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:860px}.data-table th,.data-table td{padding:12px 10px;text-align:left;border-top:1px solid var(--line);font-size:12px;vertical-align:middle}.data-table th{color:#7c8798;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.data-table td{color:#435067}.data-table td b{color:#263348}.badge-warning{background:#fff4e5;color:#a75b00}@media(max-width:900px){.update-grid{grid-template-columns:1fr}}

/* V0.2.0 — organization structure, team and mechanic QR cards */
.page-actions{display:flex;gap:9px;align-items:center}.summary-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 13px;box-shadow:var(--shadow)}.summary-chip b{font-size:20px}.summary-chip span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:800}.page-alert{margin:0 0 16px}.top-trial{font-size:10px!important;font-weight:950!important;letter-spacing:.08em!important;color:#a65b00!important;background:#fff4e6;border:1px solid #ffd9a8;border-radius:999px;padding:6px 8px}.structure-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.structure-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}.stack-panels{display:grid;gap:16px;align-content:start}.compact-panel{padding:18px}.mini-form{display:grid;gap:11px}.mini-form label{display:block;font-size:12px;font-weight:800;color:#435067}.mini-form input:not([type=checkbox]),.mini-form select{width:100%;margin-top:6px;border:1px solid #ccd6e2;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#263348;outline:none}.mini-form input:focus,.mini-form select:focus{border-color:#ef7d00;box-shadow:0 0 0 3px rgba(239,125,0,.1)}.compact-coordinates{gap:8px!important}.check-row{display:flex!important;gap:9px;align-items:center}.check-row input{width:17px;height:17px;accent-color:#ef7d00}.check-row span{font-weight:650;color:#566377}.inline-empty{border:1px dashed #ccd5df;background:#f8fafc;border-radius:12px;padding:15px;color:#7c8797;font-size:12px;text-align:center}.structure-tree{display:grid;gap:12px}.structure-plant{border:1px solid #e4e9f0;border-radius:15px;overflow:hidden;background:#fbfcfe}.structure-plant-head{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:14px;background:#fff}.structure-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#172033;color:#fff;font-size:12px;font-weight:950}.structure-plant-head b,.structure-child b{display:block;font-size:13px}.structure-plant-head small,.structure-child small{display:block;color:#8490a2;margin-top:3px;font-size:11px}.structure-counts{display:flex;gap:7px}.structure-counts span{font-size:10px;font-weight:800;color:#667389;border:1px solid #e5eaf1;background:#f7f9fc;border-radius:999px;padding:6px 8px}.structure-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:0 14px 12px}.structure-child{display:grid;grid-template-columns:16px 1fr;gap:8px;align-items:center;padding:11px 4px;border-top:1px solid #edf1f5}.structure-child.location{opacity:.92}.tree-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.tree-dot.maintenance{background:#ef7d00;box-shadow:0 0 0 4px #fff1df}.tree-pin{width:10px;height:10px;border:2px solid #5d73a2;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-left:1px}.structure-empty{grid-column:1/-1;padding:13px 4px;color:#8a96a7;font-size:12px}.empty-state.small{min-height:130px}.team-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.65fr);gap:16px;align-items:start}.team-list-panel{min-width:0}.team-table-wrap{overflow:auto;margin:0 -4px}.team-table{min-width:940px}.team-table td{padding-top:13px;padding-bottom:13px}.person-cell{display:flex;gap:10px;align-items:center}.person-cell .avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef2f7;color:#45546b;font-weight:900}.person-cell b,.person-cell small{display:block}.person-cell small{margin-top:3px;color:#8a95a4}.role-badge{display:inline-flex;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:850;white-space:nowrap;background:#f0f3f7;color:#536075}.role-organization_admin{background:#fff1df;color:#9c5200}.role-chief_mechanic{background:#fff0ed;color:#ad3b2e}.role-manager{background:#eef4ff;color:#3769a6}.role-mechanic{background:#edf9f2;color:#23764a}.role-operator{background:#f3f1ff;color:#6653a7}.access-pill{display:inline-flex;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:850;white-space:nowrap}.access-pill.mobile{background:#edf9f2;color:#24744b}.access-pill.desktop{background:#eef4ff;color:#3669a7}.access-pill.future{background:#f3f1ff;color:#6552a6}.cell-main,.cell-sub{display:block}.cell-main{font-size:12px}.cell-sub{font-size:10px;color:#8c97a7;margin-top:4px}.status-dot-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800}.status-dot-label i{width:8px;height:8px;border-radius:50%}.status-dot-label.on{color:#28764d}.status-dot-label.on i{background:#27ae60}.status-dot-label.off{color:#8893a2}.status-dot-label.off i{background:#adb5c0}.actions-cell{display:flex;gap:5px;justify-content:flex-end}.actions-cell form{margin:0}.table-action{width:32px;height:30px;border:1px solid #dfe5ec;background:#fff;border-radius:8px;cursor:pointer;color:#4e5b70;font-weight:900}.table-action:hover{border-color:#bfc9d6;background:#f7f9fb}.table-action.danger{color:#b5352b}.add-user-panel{position:sticky;top:86px}.panel-hint{font-size:10px;color:#8490a0}.role-info{font-size:11px;line-height:1.45;background:#f7f9fc;border:1px solid #e6ebf1;color:#66748a;border-radius:10px;padding:10px 11px}.field-help{display:block;margin-top:6px;font-size:10px;color:#8a95a6;font-weight:500}.qr-card-panel{background:linear-gradient(135deg,#fff8ef,#fff);border:1px solid #f1d1a7;border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.qr-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.qr-card-head h2{margin:4px 0 5px;font-size:21px}.qr-card-head p{margin:0;color:#7d6a54;font-size:12px}.mechanic-card-print{width:620px;max-width:100%;display:grid;grid-template-columns:145px 1fr;grid-template-rows:auto 1fr auto;gap:10px 18px;background:#172033;color:#fff;border-radius:18px;padding:20px;overflow:hidden}.mechanic-card-brand{grid-column:1/-1;display:flex;align-items:center;gap:10px}.mechanic-card-brand>span{background:#ef7d00;border-radius:9px;padding:8px;font-size:12px;font-weight:950}.mechanic-card-brand b,.mechanic-card-brand small{display:block}.mechanic-card-brand small{font-size:8px;letter-spacing:.13em;color:#aeb9c8;margin-top:2px}.qr-render-target{width:145px;height:145px;background:#fff;border-radius:10px;padding:5px;grid-row:2/4}.qr-svg{display:block;width:100%;height:100%}.mechanic-card-person{align-self:center}.mechanic-card-person strong,.mechanic-card-person span,.mechanic-card-person small{display:block}.mechanic-card-person strong{font-size:22px}.mechanic-card-person span{margin-top:5px;color:#c2cbd8;font-size:13px}.mechanic-card-person small{margin-top:12px;color:#8f9bae;font-size:10px}.mechanic-card-note{align-self:end;font-size:10px;line-height:1.4;color:#9eabbd;border-top:1px solid rgba(255,255,255,.09);padding-top:8px}.mechanic-work-chip{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#edf9f2;border:1px solid #cbe9d8;border-radius:13px;padding:12px 14px;margin:18px 0}.mechanic-work-chip span,.mechanic-work-chip strong{display:block}.mechanic-work-chip span{font-size:11px;color:#527260}.mechanic-work-chip strong{font-size:20px;color:#1c6b42}.mechanic-work-chip small{color:#648471;font-size:10px}.mobile-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.mobile-status-tile{background:#f7f9fc;border:1px solid #e5eaf0;border-radius:12px;padding:12px}.mobile-status-tile span,.mobile-status-tile b{display:block}.mobile-status-tile span{font-size:10px;color:#8792a2}.mobile-status-tile b{font-size:13px;margin-top:4px}.mechanic-footer-version{text-align:center!important}
@media(max-width:1100px){.team-layout,.structure-main-grid{grid-template-columns:1fr}.add-user-panel{position:static}.structure-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:1}.structure-summary-grid{grid-template-columns:1fr}.structure-children{grid-template-columns:1fr}.structure-plant-head{grid-template-columns:40px 1fr}.structure-counts{grid-column:2;flex-wrap:wrap}.qr-card-head{flex-direction:column}.mechanic-card-print{grid-template-columns:115px 1fr}.qr-render-target{width:115px;height:115px}.mechanic-card-person strong{font-size:17px}.team-layout{grid-template-columns:1fr}.add-user-panel{position:static}}
@media print{body *{visibility:hidden!important}.qr-card-panel,.qr-card-panel *{visibility:visible!important}.qr-card-panel{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;background:#fff;padding:0}.qr-card-head{display:none}.mechanic-card-print{width:85mm;height:54mm;max-width:none;border-radius:0;padding:5mm;grid-template-columns:29mm 1fr;gap:2mm 4mm}.qr-render-target{width:29mm;height:29mm}.mechanic-card-person strong{font-size:14pt}.mechanic-card-note{font-size:6.5pt}}
.qr-wait-state{margin-top:20px;display:grid;grid-template-columns:12px 1fr;gap:3px 9px;align-items:center;background:#f7f9fc;border:1px solid #e5eaf0;border-radius:12px;padding:13px}.qr-wait-state>span{width:10px;height:10px;border-radius:50%;background:#aab4c2;grid-row:1/3}.qr-wait-state b{font-size:12px}.qr-wait-state small{font-size:10px;color:#8691a1;margin:0!important}.qr-wait-state.processing>span{background:#ef7d00;animation:qrPulse 1s infinite}@keyframes qrPulse{50%{box-shadow:0 0 0 6px rgba(239,125,0,.12)}}

/* V0.2.2 — asset registry: machines, field equipment and vehicles */
.asset-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.assets-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(350px,.65fr);gap:16px;align-items:start}.assets-list-panel{min-width:0}.add-asset-panel{position:sticky;top:86px}.mini-form textarea{width:100%;margin-top:6px;border:1px solid #ccd6e2;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#263348;outline:none;resize:vertical}.mini-form textarea:focus{border-color:#ef7d00;box-shadow:0 0 0 3px rgba(239,125,0,.1)}.asset-list-head{gap:16px;align-items:flex-end}.asset-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.asset-filters input,.asset-filters select{border:1px solid #d7dee8;background:#fff;border-radius:10px;padding:9px 10px;font:inherit;font-size:11px;color:#3f4b5e;outline:none}.asset-filters input{min-width:210px}.asset-list{display:grid}.asset-row{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(160px,1fr) minmax(125px,.75fr) 105px 125px 44px;gap:12px;align-items:center;padding:14px 2px;border-top:1px solid var(--line);position:relative}.asset-row[hidden]{display:none}.asset-disabled{opacity:.57}.asset-main-cell{display:flex;align-items:center;gap:11px;min-width:0}.asset-type-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;font-weight:950;font-size:12px}.type-stationary_machine{background:#eef4ff;color:#3769a6}.type-mobile_machine{background:#fff2e4;color:#a95b00}.type-vehicle{background:#edf9f2;color:#23764a}.type-tool{background:#f3f1ff;color:#6552a6}.asset-name-block{min-width:0}.asset-title-line{display:flex;gap:7px;align-items:center;min-width:0}.asset-title-line b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-code{font-size:9px;font-weight:900;letter-spacing:.04em;color:#6d788a;background:#f2f4f7;border:1px solid #e3e7ed;border-radius:999px;padding:4px 6px;white-space:nowrap}.asset-name-block small,.asset-place-cell small,.asset-operator-cell small,.asset-meter-cell small{display:block;color:#8a95a5;font-size:10px;margin-top:4px}.asset-place-cell b,.asset-operator-cell b,.asset-meter-cell b{display:block;color:#344054;font-size:11px}.asset-place-cell em{display:block;color:#74819a;font-size:9px;font-style:normal;margin-top:4px}.asset-operator-cell>span,.asset-meter-cell>span{display:block;color:#929cab;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:850;margin-bottom:4px}.asset-meter-cell b{font-size:13px}.asset-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;border-radius:999px;padding:6px 8px;white-space:nowrap}.asset-status i{width:7px;height:7px;border-radius:50%}.status-available{background:#f2f4f7;color:#596579}.status-available i{background:#98a2b3}.status-working{background:#edf9f2;color:#23764a}.status-working i{background:#22a75a}.status-down{background:#fff0ef;color:#b73a2f}.status-down i{background:#d94a3d}.status-service{background:#fff4e5;color:#a75b00}.status-service i{background:#e08a14}.status-inactive{background:#f2f4f7;color:#8b94a2}.status-inactive i{background:#aab1bc}.open-ticket-count{display:block;margin-top:5px;color:#b83a2f;font-size:9px;font-weight:800}.asset-actions-menu{position:relative}.asset-actions-menu summary{list-style:none;width:34px;height:32px;display:grid;place-items:center;border:1px solid #e0e5ec;border-radius:9px;background:#fff;color:#596579;cursor:pointer;font-weight:900}.asset-actions-menu summary::-webkit-details-marker{display:none}.asset-action-popover{position:absolute;right:0;top:38px;width:330px;z-index:12;background:#fff;border:1px solid #dfe5ec;border-radius:14px;box-shadow:0 18px 50px rgba(28,40,64,.18);padding:14px;display:grid;gap:11px}.asset-inline-form{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end;padding-bottom:10px;border-bottom:1px solid #edf1f5}.asset-inline-form label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#7c8798}.asset-inline-form input,.asset-inline-form select{display:block;width:100%;margin-top:5px;border:1px solid #d5dde8;border-radius:8px;padding:8px;font:inherit;font-size:11px;color:#344054}.asset-gps-form{grid-template-columns:1fr 1fr}.asset-gps-form .btn{grid-column:1/-1}.btn-small{padding:8px 10px;border-radius:8px;font-size:10px;background:#f2f4f7;color:#435067;white-space:nowrap}.asset-popover-actions{display:flex;justify-content:space-between;gap:7px}.asset-popover-actions form{margin:0}.text-danger{color:#b7352b!important}.asset-filter-empty{margin-top:12px}.asset-card-print{width:620px;max-width:100%;display:grid;grid-template-columns:145px 1fr;grid-template-rows:auto 1fr auto;gap:10px 18px;background:#172033;color:#fff;border-radius:18px;padding:20px;overflow:hidden}.asset-card-print .qr-render-target{grid-row:2/4}.asset-card-person{align-self:center}.asset-card-person strong,.asset-card-person span,.asset-card-person small{display:block}.asset-card-person strong{font-size:21px}.asset-card-person span{margin-top:5px;color:#c2cbd8;font-size:12px}.asset-card-person small{margin-top:12px;color:#8f9bae;font-size:10px}@media(max-width:1250px){.assets-layout{grid-template-columns:1fr}.add-asset-panel{position:static}.asset-row{grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) 125px 105px 125px 44px}}@media(max-width:950px){.asset-kpi-grid{grid-template-columns:repeat(2,1fr)}.asset-row{grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) 110px 44px}.asset-operator-cell,.asset-meter-cell{display:none}.asset-list-head{align-items:flex-start;flex-direction:column}.asset-filters{justify-content:flex-start;width:100%}}@media(max-width:650px){.asset-kpi-grid{grid-template-columns:1fr}.asset-filters{display:grid;grid-template-columns:1fr}.asset-filters input{min-width:0}.asset-row{grid-template-columns:minmax(0,1fr) 44px;gap:8px}.asset-place-cell,.asset-status-cell{grid-column:1}.asset-actions-menu{grid-column:2;grid-row:1}.asset-action-popover{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:75vh;overflow:auto}.asset-card-print{grid-template-columns:115px 1fr}.asset-card-print .qr-render-target{width:115px;height:115px}}@media print{.asset-qr-panel,.asset-qr-panel *{visibility:visible!important}.asset-qr-panel{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;background:#fff;padding:0}.asset-qr-panel .qr-card-head{display:none}.asset-card-print{width:85mm;height:54mm;max-width:none;border-radius:0;padding:5mm;grid-template-columns:29mm 1fr;gap:2mm 4mm}.asset-card-print .qr-render-target{width:29mm;height:29mm}.asset-card-person strong{font-size:13pt}.asset-card-person small,.asset-card-print .mechanic-card-note{font-size:6.5pt}}
