:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#17231f;background:#eef4f1;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0}.topbar{color:#fff;background:linear-gradient(135deg,#063f33,#0b6b54);border-radius:28px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex;box-shadow:0 18px 40px #063f3338}.topbar h1{margin:4px 0 8px;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.topbar span{color:#d7f4ec;max-width:760px;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#78dcc4;margin:0;font-size:.76rem;font-weight:800}.role-switcher{background:#ffffff1f;border-radius:999px;flex-shrink:0;gap:8px;padding:6px;display:flex}.role-switcher button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px}.role-switcher .active{color:#063f33;background:#fff;font-weight:800}.dashboard-grid,.technician-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.stats-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.panel,.hero-card,.sync-card{background:#fff;border:1px solid #063f3314;border-radius:24px;padding:22px;box-shadow:0 12px 32px #15322a14}.stat-card p,.stat-card span{color:#60746e;margin:0}.stat-card strong{margin:8px 0;font-size:2rem;display:block}.panel h2,.hero-card h2{color:#12352e;margin-top:0}.hero-card h2{color:#fff}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-header h2{margin:0}.panel-header span{color:#60746e;font-size:.9rem}.alert-item,.list-row,.incident-card,.trap-card{background:#fbfdfc;border:1px solid #e4ece9;border-radius:18px;margin-top:10px;padding:14px}.alert-item.critical{background:#fff3f1;border-color:#f3b4aa}.alert-item.warning{background:#fff9e8;border-color:#efd58d}.alert-item p,.incident-card p{color:#60746e;margin:6px 0 0}.list-row,.trap-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.list-row span,.trap-card span{color:#60746e;margin-top:3px;display:block}.danger-text{color:#b42318}.status-badge,.small-tag{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.78rem}.status-badge.active{color:#067647;background:#e7f8f1}.status-badge.moving{color:#175cd3;background:#eef4ff}.status-badge.offline{color:#b54708;background:#fff4e5}.small-tag{color:#12352e;background:#eef4f1;margin-top:10px;display:inline-block}.hero-card{color:#fff;background:#092f28}.hero-card p{color:#d7f4ec}.primary-button,.secondary-button,.complete-button{cursor:pointer;border:0;border-radius:16px;width:100%;margin-top:10px;padding:14px 16px;font-weight:800}.primary-button{color:#06231d;background:#17b890}.secondary-button{color:#0b3f34;background:#edf6f3}.complete-button{color:#fff;background:#063f33}.action-panel{flex-direction:column;display:flex}.sync-card{background:#fff;border-left:8px solid #17b890;grid-column:1/-1}.sync-card p{color:#60746e;margin-bottom:0}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-grid div{background:#f4faf7;border-radius:16px;padding:12px}.detail-grid span{color:#60746e;font-size:.82rem;display:block}.detail-grid strong{margin-top:4px;display:block}.service-note{color:#473b16;background:#fff9e8;border:1px solid #efd58d;border-radius:16px;padding:14px}.trap-actions{text-align:right}.trap-actions button{color:#0b3f34;cursor:pointer;background:#edf6f3;border:0;border-radius:999px;margin-top:8px;padding:8px 10px;font-weight:800}@media (width<=850px){.topbar{flex-direction:column}.dashboard-grid,.technician-layout,.stats-grid,.detail-grid{grid-template-columns:1fr}.role-switcher{width:100%}.role-switcher button{flex:1}.list-row,.trap-card{flex-direction:column;align-items:flex-start}.trap-actions{text-align:left}}.app-frame{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#063f33;height:100vh;padding:24px;position:sticky;top:0}.brand-block{gap:4px;margin-bottom:28px;display:grid}.brand-block strong{font-size:1.7rem}.side-nav{gap:10px;display:grid}.side-nav button{color:#fff;text-align:left;cursor:pointer;background:#ffffff14;border:0;border-radius:16px;padding:14px 16px;font-weight:800}.side-nav button.active{color:#063f33;background:#fff}.workspace{width:100%;max-width:1280px;padding:28px}.page-grid{grid-template-columns:2fr 1fr;gap:18px;margin-top:18px;display:grid}.wide-panel{min-height:360px}.client-card,.inventory-card{background:#fbfdfc;border:1px solid #e4ece9;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:16px;display:flex}.inventory-card.low{background:#fff3f1;border-color:#f3b4aa}.client-card span,.inventory-card span{color:#60746e;margin-top:4px;display:block}.balance-box{text-align:right}.balance-box span{font-size:.82rem}.balance-box b{font-size:1.2rem;display:block}.muted-text{color:#60746e;line-height:1.6}.incident-card.enhanced{padding:18px}@media (width<=980px){.app-frame{grid-template-columns:1fr}.sidebar{height:auto;position:static}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{grid-template-columns:1fr}.workspace{padding:16px}.workspace-header{flex-direction:column;align-items:flex-start}}.customer-detail-layout{grid-template-columns:1.3fr 1fr;gap:18px;margin-top:20px;display:grid}.customer-profile-panel{grid-column:1/-1}.customer-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.customer-summary-grid div{background:#f4faf7;border:1px solid #e4ece9;border-radius:18px;padding:16px}.customer-summary-grid span{color:#60746e;font-size:.82rem;display:block}.customer-summary-grid strong{margin-top:6px;font-size:1.3rem;display:block}.statement-row,.trap-detail-row,.history-row{background:#fbfdfc;border:1px solid #e4ece9;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding:14px;display:flex}.statement-row span,.trap-detail-row span,.history-row span{color:#60746e;margin-top:4px;display:block}.statement-total{color:#fff;background:#063f33;border-radius:18px;justify-content:space-between;align-items:center;margin-top:14px;padding:16px;display:flex}.statement-total span{color:#d7f4ec}.statement-total strong{font-size:1.4rem}.trap-detail-row button{color:#0b3f34;cursor:pointer;background:#edf6f3;border:0;border-radius:999px;padding:9px 12px;font-weight:800}@media (width<=900px){.customer-detail-layout,.customer-summary-grid{grid-template-columns:1fr}.statement-row,.trap-detail-row,.history-row{flex-direction:column;align-items:flex-start}}.modal-backdrop{z-index:100;background:#04120fad;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.trap-modal{background:#fff;border-radius:28px;width:min(760px,100%);max-height:90vh;padding:24px;overflow:auto;box-shadow:0 28px 80px #00000052}.modal-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.modal-header h2{color:#12352e;margin:4px 0 0}.close-button{color:#0b3f34;cursor:pointer;background:#edf6f3;border:0;border-radius:999px;padding:10px 14px;font-weight:800}.workflow-steps{gap:12px;display:grid}.workflow-step{background:#fbfdfc;border:1px solid #e4ece9;border-radius:18px;grid-template-columns:44px 1fr;gap:12px;padding:14px;display:grid}.workflow-step span{color:#0b3f34;background:#edf6f3;border-radius:999px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.workflow-step p{color:#60746e;margin:4px 0 0}.workflow-step.done span{color:#06231d;background:#17b890}.workflow-step.active{background:#f0fbf7;border-color:#17b890}.photo-placeholder-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.photo-placeholder-grid div{color:#60746e;background:#f7fbf9;border:2px dashed #bfd6ce;border-radius:18px;place-items:center;min-height:96px;font-weight:800;display:grid}.trap-notes{resize:vertical;width:100%;min-height:110px;font:inherit;border:1px solid #d7e5df;border-radius:18px;margin-top:16px;padding:14px}.modal-actions{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=760px){.modal-actions,.photo-placeholder-grid{grid-template-columns:1fr}}.numeric-input{width:130px;font:inherit;border:1px solid #d7e5df;border-radius:14px;margin-top:10px;padding:11px 12px;font-weight:800}@media (width<=760px){.modal-backdrop{align-items:flex-end;padding:0}.trap-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:18px}.modal-header{z-index:2;background:#fff;padding-bottom:12px;position:sticky;top:0}.workflow-step{grid-template-columns:38px 1fr;padding:12px}.workflow-step span{width:32px;height:32px}.modal-actions,.photo-placeholder-grid{grid-template-columns:1fr}.numeric-input{width:100%}}.field-action-modal{background:#fff;border-radius:28px;width:min(640px,100%);max-height:90vh;padding:24px;overflow:auto;box-shadow:0 28px 80px #00000052}.action-preview-card{background:#f4faf7;border:1px solid #e4ece9;border-radius:20px;margin-top:16px;padding:18px}.action-preview-card strong,.action-preview-card span{display:block}.action-preview-card span{color:#60746e;margin-top:6px}.product-usage-grid{grid-template-columns:1.4fr 1fr;gap:12px;margin-top:16px;display:grid}.product-usage-grid label{color:#60746e;font-weight:800}.product-usage-grid select,.product-usage-grid input{width:100%;font:inherit;border:1px solid #d7e5df;border-radius:14px;margin-top:8px;padding:12px;font-weight:800}.qr-placeholder{text-align:center;background:#f0fbf7;border:3px dashed #17b890;border-radius:24px;place-items:center;width:180px;height:180px;margin:18px auto 0;display:grid}.qr-placeholder span{font-size:2.5rem;font-weight:900}.qr-placeholder strong{font-size:.9rem}.single-action{grid-template-columns:1fr;margin-top:16px}@media (width<=760px){.field-action-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:18px}.product-usage-grid{grid-template-columns:1fr}}.theme-toggle{color:#d7f4ec;cursor:pointer;text-align:left;background:#ffffff1a;border:0;border-radius:16px;margin-top:18px;padding:13px 16px;font-weight:800}.theme-toggle:hover{background:#ffffff29}:root[data-theme=dark] body,:root[data-theme=dark] .app-frame{color:#edf8f4;background:#081512}:root[data-theme=dark] .workspace{background:#081512}:root[data-theme=dark] .panel,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .sync-card,:root[data-theme=dark] .trap-modal,:root[data-theme=dark] .field-action-modal{color:#edf8f4;background:#10221d;border-color:#ffffff14}:root[data-theme=dark] .panel h2,:root[data-theme=dark] .modal-header h2,:root[data-theme=dark] .customer-summary-grid strong,:root[data-theme=dark] .stat-card strong{color:#fff}:root[data-theme=dark] .list-row,:root[data-theme=dark] .trap-card,:root[data-theme=dark] .statement-row,:root[data-theme=dark] .trap-detail-row,:root[data-theme=dark] .history-row,:root[data-theme=dark] .client-card,:root[data-theme=dark] .inventory-card,:root[data-theme=dark] .workflow-step,:root[data-theme=dark] .action-preview-card,:root[data-theme=dark] .customer-summary-grid div{background:#132a24;border-color:#ffffff17}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .close-button,:root[data-theme=dark] .trap-actions button,:root[data-theme=dark] .trap-detail-row button{color:#d7f4ec;background:#19362e}:root[data-theme=dark] .trap-notes,:root[data-theme=dark] .numeric-input,:root[data-theme=dark] .product-usage-grid select,:root[data-theme=dark] .product-usage-grid input{color:#fff;background:#0b1714;border-color:#ffffff1f}:root[data-theme=dark] .photo-placeholder-grid div,:root[data-theme=dark] .qr-placeholder{color:#d7f4ec;background:#132a24;border-color:#17b890}:root[data-theme=dark] .modal-header{background:#10221d}.header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.top-toggle{color:#fff;text-align:center;background:#ffffff1f;border-radius:999px;min-width:64px;margin-top:0;padding:10px 13px;font-size:.85rem}:root[data-theme=dark] .top-toggle{color:#fff;background:#ffffff29}@media (width<=760px){.header-actions{justify-content:space-between;width:100%}}.app-frame{background:#eef4f1;grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#052f27 0%,#063f33 100%);border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand-block{border-bottom:1px solid #ffffff14;flex-direction:column;gap:6px;padding:10px 10px 24px;display:flex}.brand-block span{color:#78dcc4;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800}.brand-block strong{font-size:1.9rem;line-height:1}.side-nav{flex-direction:column;gap:10px;margin-top:24px;display:flex}.side-nav button{color:#d7f4ec;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:18px;padding:14px 16px;font-weight:700;transition:all .2s}.side-nav button:hover{background:#ffffff14}.side-nav button.active{color:#063f33;background:#fff;box-shadow:0 8px 18px #00000029}.role-card{background:#ffffff14;border-radius:22px;margin-top:auto;padding:16px}.role-card>span{color:#d7f4ec;font-size:.78rem}.role-switcher.compact{width:100%;margin-top:12px}.role-switcher.compact button{flex:1}.workspace{width:100%;padding:24px}.workspace-header{color:#fff;background:linear-gradient(135deg,#063f33,#0b6b54);border-radius:30px;justify-content:space-between;align-items:center;gap:18px;padding:28px;display:flex;box-shadow:0 18px 40px #063f332e}.workspace-header h1{margin:4px 0 0;font-size:clamp(2rem,4vw,3rem)}.system-pill{color:#d7f4ec;white-space:nowrap;background:#ffffff24;border-radius:999px;padding:10px 14px;font-weight:800}.dashboard-grid,.technician-layout,.page-grid{margin-top:20px}.page-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}@media (width<=980px){.app-frame{grid-template-columns:1fr}.sidebar{height:auto;position:static}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workspace{padding:14px}.workspace-header{flex-direction:column;align-items:flex-start}.page-grid{grid-template-columns:1fr}}
