@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{color-scheme:light;--background: #f4f5f3;--surface: #ffffff;--surface-muted: #f8f9f8;--surface-soft: #eef2f0;--surface-strong: #e5ebe8;--ink: #17211f;--muted: #64716d;--muted-strong: #3f4d49;--border: #dfe5e2;--border-strong: #c3cfca;--primary: #005f56;--primary-strong: #004a43;--primary-soft: #e4f2ef;--accent: #c6a11d;--accent-soft: #fbf5dc;--success: #08784a;--success-soft: #ddf8e9;--danger: #b42318;--danger-soft: #fff0ee;--warning: #846100;--warning-soft: #fbf3d5;--shadow-soft: 0 1px 2px rgb(16 32 29 / 5%), 0 10px 24px rgb(16 32 29 / 4%);--shadow-panel: 0 18px 48px rgb(16 32 29 / 10%);--radius: 8px;--sidebar-width: 276px;background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background)}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(0 104 95 / 22%);outline-offset:2px}.material-symbols-outlined{font-family:Material Symbols Outlined;font-size:24px;line-height:1;vertical-align:middle}.auth-shell{align-items:center;background:linear-gradient(180deg,#f7f8f6,#eef2f0);display:grid;min-height:100vh;padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-panel);display:grid;grid-template-columns:1fr;margin:0 auto;max-width:520px;min-height:auto;overflow:hidden;width:min(100%,520px)}.auth-loading-card{min-height:auto}.login-brand-panel{align-content:start;background:var(--surface);border-bottom:1px solid var(--border);color:var(--ink);display:grid;gap:14px;min-width:0;padding:30px 32px 24px;position:relative}.login-brand-panel:after{background:var(--accent);content:"";height:3px;inset:0 0 auto;position:absolute}.login-company-row{align-items:center;display:flex;gap:14px;min-width:0}.login-brand-panel img{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;flex:0 0 auto;height:64px;object-fit:contain;padding:5px;width:64px}.login-eyebrow{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.login-brand-panel h1,.login-form-panel h2{margin:0}.login-brand-panel h1{color:var(--primary-strong);font-size:1.75rem;line-height:1.1;max-width:none;overflow-wrap:anywhere}.login-brand-panel p{color:var(--muted);font-size:.94rem;line-height:1.5;margin:0;max-width:none}.login-trust-grid{display:grid;gap:8px;margin-top:4px}.login-trust-grid span{align-items:center;background:transparent;border:0;border-radius:0;color:var(--muted-strong);display:flex;font-size:.84rem;font-weight:800;gap:9px;min-height:0;padding:0}.login-trust-grid .material-symbols-outlined{background:var(--primary-soft);border-radius:4px;color:var(--primary);flex:0 0 auto;font-size:18px;height:22px;line-height:22px;text-align:center;width:22px}.login-form-panel{align-content:center;display:grid;gap:18px;min-width:0;padding:28px 32px 32px}.login-form-panel .login-eyebrow{color:var(--primary)}.login-form-panel h2{color:var(--ink);font-size:1.45rem;line-height:1.16}.login-form-panel p{color:var(--muted);font-size:.94rem;line-height:1.5;margin:0}.login-form{display:grid;gap:16px}.login-form .primary-action{justify-content:center;min-height:48px;width:100%}.loading-line{background:linear-gradient(90deg,var(--primary),var(--primary-soft),var(--primary));background-size:220% 100%;border-radius:999px;height:5px;overflow:hidden;width:100%;animation:loading-sweep 1.45s linear infinite}@keyframes loading-sweep{0%{background-position:0 50%}to{background-position:220% 50%}}.app-shell{background:var(--background);display:flex;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-panel);color:var(--ink);display:flex;flex:0 0 var(--sidebar-width);flex-direction:column;inset:0 auto 0 0;min-height:100vh;padding:22px 14px;position:fixed;transform:translate(-105%);transition:transform .18s ease;width:var(--sidebar-width);z-index:30}.sidebar.open{transform:translate(0)}.sidebar-backdrop{background:#10201d5c;border:0;inset:0;padding:0;position:fixed;width:auto;z-index:25}.brand-block{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;margin:0 0 22px;padding:14px;text-align:left}.sidebar-close{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);display:inline-flex;height:34px;justify-content:center;margin-left:auto;width:34px}.brand-mark{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:block;flex:0 0 auto;height:58px;object-fit:contain;padding:4px;width:58px}.brand-block strong{color:var(--primary-strong);display:block;font-size:1rem;line-height:1.2}.brand-block span{color:var(--muted);display:block;font-size:.76rem;font-weight:800;margin-top:4px;text-transform:uppercase}.side-nav{display:grid;flex:1;gap:16px;align-content:start}.side-nav-section{display:grid;gap:5px}.side-nav-title{color:var(--muted);display:block;font-size:.68rem;font-weight:900;letter-spacing:.06em;padding:0 10px 5px;text-transform:uppercase}.side-nav button{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted-strong);display:flex;gap:10px;min-height:42px;padding:9px 10px;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease;width:100%}.side-nav button:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border);color:var(--primary-strong)}.side-nav button.active{background:#fff;border-color:#005f5647;color:var(--primary-strong)}.side-nav button:disabled{opacity:.38}.side-nav .material-symbols-outlined{color:var(--muted);flex:0 0 22px;font-size:21px;text-align:center}.side-nav button.active .material-symbols-outlined{color:var(--primary)}.side-nav span:last-child,.side-new-order,.stat-meta,.stat-card p,th,.module-chip,.field span,.choice-field legend,.form-section-title h2,.sub-card h3,.signature-box span,.form-submit-bar span{font-size:.74rem;font-weight:800;line-height:1rem;text-transform:uppercase}.side-new-order{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);color:#fff;display:flex;gap:8px;justify-content:center;margin-top:18px;min-height:48px;padding:12px 14px;transition:background .16s ease,border-color .16s ease}.side-new-order:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.admin-canvas{display:flex;flex:1;flex-direction:column;min-width:0}.topbar-real{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;min-height:72px;padding:14px 18px;position:sticky;top:0;z-index:10}.mobile-brand{align-items:center;display:flex;gap:10px;min-width:0}.mobile-menu-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--primary);display:inline-flex;height:40px;justify-content:center;width:40px}.mobile-brand img{background:#fff;border:1px solid var(--border);border-radius:6px;height:38px;object-fit:contain;padding:4px;width:38px}.mobile-brand strong,.mobile-brand span{display:block}.mobile-brand strong{color:var(--primary-strong);font-weight:900}.mobile-brand span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.top-context{color:var(--muted);display:none;line-height:1.2}.top-context span,.top-context strong{display:block}.top-context span{font-size:.7rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.top-context strong{color:var(--ink);font-size:.92rem;margin-top:3px}.search-box{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;display:none;gap:10px;max-width:430px;padding:0 15px;width:min(42vw,430px)}.search-box .material-symbols-outlined{color:var(--muted);font-size:21px}.search-box input{background:transparent;border:0;color:var(--ink);min-height:42px;outline:0;width:100%}.search-box input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#8b9a96}.top-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.top-actions button,.icon-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);display:inline-flex;height:40px;justify-content:center;transition:background .16s ease,border-color .16s ease,color .16s ease;width:40px}.top-actions button:hover,.icon-button:hover{background:var(--surface-soft);border-color:#00685f3d;color:var(--primary)}.user-chip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;display:flex;gap:8px;height:40px;justify-content:center;padding:0 12px 0 3px}.user-chip span{align-items:center;background:var(--primary);border-radius:5px;color:#fff;display:flex;font-size:.78rem;font-weight:900;height:32px;justify-content:center;width:32px}.user-chip strong{color:var(--muted-strong);font-size:.72rem;font-weight:900;text-transform:uppercase}.logout-action{border-radius:6px!important;font-size:.84rem;font-weight:900;padding:0 14px;width:auto!important}.admin-content{display:grid;gap:24px;margin:0 auto;max-width:1480px;padding:24px 16px 34px;width:100%}.page-heading{align-items:start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.page-heading h1{color:var(--ink);font-size:clamp(1.55rem,3vw,2.12rem);line-height:1.16;margin:0}.page-heading p{color:var(--muted);line-height:1.5;margin:6px 0 0}.detail-kicker{color:var(--primary);display:block;font-size:.76rem;font-weight:900;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.heading-actions{display:flex;flex-wrap:wrap;gap:10px}.primary-action,.secondary-action{align-items:center;border-radius:var(--radius);display:inline-flex;font-weight:900;gap:8px;justify-content:center;min-height:44px;padding:10px 16px;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease}.primary-action{background:var(--primary);border:1px solid var(--primary);color:#fff}.primary-action:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}.primary-action:disabled{opacity:.68}.secondary-action{background:var(--surface);border:1px solid var(--border-strong);color:var(--muted-strong)}.secondary-action:hover{background:var(--surface-soft);color:var(--primary)}.system-alert,.success-alert{align-items:start;border-radius:var(--radius);display:flex;gap:12px;line-height:1.45;padding:15px 16px}.system-alert{background:var(--danger-soft);border:1px solid rgb(180 35 24 / 20%);color:var(--danger)}.success-alert{background:var(--success-soft);border:1px solid rgb(8 120 74 / 20%);color:var(--success)}.system-alert strong,.system-alert span,.success-alert strong,.success-alert span{display:block}.system-alert span,.success-alert span{color:var(--muted-strong);margin-top:2px}.settings-page,.order-form-page{max-width:1120px}.settings-card,.stat-card,.panel-card,.table-card,.inventory-card,.form-section-card,.detail-summary-card,.history-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #10201d0a}.settings-card{display:grid;gap:18px;padding:22px}.state-config-list{display:grid;gap:12px}.user-create-form{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:16px;padding:16px}.settings-expander{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius)}.settings-expander>summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-weight:900;justify-content:space-between;list-style:none;padding:14px 16px}.settings-expander>summary::-webkit-details-marker,.user-admin-card>summary::-webkit-details-marker{display:none}.settings-expander>summary span{align-items:center;display:inline-flex;gap:8px}.settings-expander[open]>summary{border-bottom:1px solid var(--border)}.settings-expander .user-create-form{background:transparent;border:0;border-radius:0}.user-admin-list{display:grid;gap:14px}.user-admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;overflow:hidden;padding:0}.user-admin-card.inactive{background:var(--surface-muted)}.user-admin-card[open]{border-color:#005f5642}.user-admin-card>form{display:grid;gap:14px;padding:16px}.user-admin-summary{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;list-style:none;padding:14px 16px}.user-admin-identity,.user-admin-summary-meta{align-items:center;display:flex;gap:12px;min-width:0}.user-admin-identity>div:last-child{min-width:0}.user-admin-summary strong,.user-admin-summary span{display:block}.user-admin-summary strong{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-admin-summary span:not(.status-badge):not(.module-chip){color:var(--muted);font-size:.84rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-admin-summary-meta{flex:0 0 auto}.technician-avatar{align-items:center;background:var(--primary-soft);border:1px solid rgb(0 95 86 / 16%);border-radius:999px;color:var(--primary);display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:900;height:42px;justify-content:center;overflow:hidden;width:42px}.technician-avatar.large{height:72px;width:72px}.technician-avatar img{display:block;height:100%;object-fit:cover;width:100%}.technician-avatar span{color:var(--primary)!important;font-size:.78rem!important;font-weight:900;margin:0!important;overflow:visible!important;text-transform:uppercase}.technician-profile-row{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);padding:14px}.technician-profile-row strong,.technician-profile-row span{display:block}.technician-profile-row strong{color:var(--ink)}.technician-profile-row span{color:var(--muted);font-size:.84rem;line-height:1.4;margin-top:3px}.technician-avatar-upload{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--muted-strong);cursor:pointer;display:inline-flex;font-weight:900;gap:8px;justify-content:center;min-height:42px;padding:9px 13px}.technician-avatar-upload input{display:none}.user-admin-head{align-items:start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.user-admin-head strong,.user-admin-head span{display:block}.user-admin-head strong{color:var(--ink);line-height:1.35}.user-admin-head span:not(.status-badge){color:var(--muted);font-size:.84rem;margin-top:2px}.password-reset-form{align-items:end;border-top:1px solid var(--border);display:grid;gap:12px;grid-template-columns:1fr;padding-top:14px}.compact-actions{justify-content:flex-start;margin-top:4px}.field-note{color:var(--muted);font-size:.82rem;line-height:1.45;margin:10px 0 0}.status-badge.active-user{background:var(--success-soft);color:var(--success)}.status-badge.inactive-user{background:var(--danger-soft);color:var(--danger)}.state-config-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:16px;justify-content:space-between;padding:14px}.state-config-row.inactive{background:var(--surface-muted);opacity:.78}.state-config-meta{align-items:center;display:flex;gap:12px;min-width:0}.state-config-meta strong,.state-config-meta small{display:block}.state-config-meta small{color:var(--muted);line-height:1.4;margin-top:3px}.toggle-action{background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;color:var(--muted-strong);font-weight:900;min-width:112px;padding:8px 14px}.toggle-action.active{background:var(--primary);border-color:var(--primary);color:#fff}.muted-row{opacity:.52}.stats-grid{display:grid;gap:16px;grid-template-columns:1fr}.stat-card{min-height:144px;padding:18px;position:relative;overflow:hidden}.stat-card:before{background:var(--primary);content:"";height:3px;inset:0 0 auto;position:absolute}.stat-card.secondary:before{background:var(--warning)}.stat-card.success:before{background:var(--success)}.stat-card.danger:before{background:var(--danger)}.stat-head{align-items:start;display:flex;justify-content:space-between;margin-bottom:18px}.stat-icon{align-items:center;background:var(--primary-soft);border-radius:6px;color:var(--primary);display:flex;height:38px;justify-content:center;width:38px}.stat-card.secondary .stat-icon{background:var(--warning-soft);color:var(--warning)}.stat-card.success .stat-icon{background:var(--success-soft);color:var(--success)}.stat-card.danger .stat-icon{background:var(--danger-soft);color:var(--danger)}.stat-meta{color:var(--primary);max-width:120px;text-align:right}.stat-card.secondary .stat-meta{color:var(--warning)}.stat-card.success .stat-meta{color:var(--success)}.stat-card.danger .stat-meta,.stat-card.danger strong{color:var(--danger)}.stat-card p{color:var(--muted);margin:0}.stat-card strong{color:var(--ink);display:block;font-size:1.85rem;line-height:1.2;margin-top:7px}.analytics-grid,.operations-grid,.bottom-grid{display:grid;gap:24px;grid-template-columns:1fr}.panel-card,.inventory-card{padding:20px}.panel-card h2,.table-card h2,.inventory-card h2,.settings-card h2,.history-card h2{color:var(--ink);font-size:1.14rem;line-height:1.35;margin:0}.panel-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:22px}.panel-title-row button,.inventory-card>button{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);font-size:.78rem;font-weight:900;min-height:36px;padding:8px 12px}.panel-title-row button:hover,.inventory-card>button:hover{background:var(--surface-soft);color:var(--primary)}.panel-subtitle{color:var(--muted);display:block;font-size:.78rem;font-weight:700;margin-top:3px}.location-card,.ops-card{display:grid;gap:16px}.map-shell{align-items:center;background:linear-gradient(90deg,rgb(0 95 86 / 7%) 1px,transparent 1px),linear-gradient(rgb(0 95 86 / 7%) 1px,transparent 1px),var(--surface-muted);background-size:34px 34px;border:1px solid var(--border);border-radius:var(--radius);display:grid;min-height:250px;overflow:hidden;padding:18px;position:relative}.map-marker{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--primary);display:inline-flex;gap:4px;min-height:34px;padding:5px 8px 5px 5px;position:absolute;text-decoration:none;transform:translate(-50%,-50%)}.map-marker .material-symbols-outlined{font-size:21px}.map-marker span{color:var(--ink);font-size:.72rem;font-weight:900;white-space:nowrap}.map-marker.live{border-color:#08784a61;box-shadow:0 0 0 4px #08784a1a}.map-marker.stale{color:var(--warning)}.location-list,.route-summary,.route-points,.ops-grid{display:grid;gap:10px}.location-row{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:12px}.location-row strong,.route-summary strong,.ops-grid strong{color:var(--ink)}.location-row span,.route-summary span,.ops-grid span{color:var(--muted);display:block;font-size:.8rem;line-height:1.4}.signal-chip{border-radius:999px;display:inline-flex!important;flex:0 0 auto;font-size:.72rem!important;font-weight:900;padding:5px 9px;text-transform:uppercase}.signal-chip.live{background:var(--success-soft);color:var(--success)}.signal-chip.stale{background:var(--warning-soft);color:var(--warning)}.route-controls{align-items:end;display:grid;gap:12px}.route-points a{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--primary);font-size:.82rem;font-weight:800;padding:8px 10px;text-decoration:none}.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-grid>div{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.ops-log-list{display:grid;gap:8px}.ops-log-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.ops-log-head strong{color:var(--ink)}.ops-log-head span{color:var(--muted);font-size:.78rem}.ops-log-row{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);display:grid;gap:4px;grid-template-columns:54px minmax(0,1fr);padding:10px 12px}.ops-log-row.warning{border-left-color:var(--warning)}.ops-log-row.error{border-left-color:var(--danger)}.ops-log-row>span{color:var(--muted);font-size:.78rem;font-weight:900}.ops-log-row strong{color:var(--ink);font-size:.84rem;overflow-wrap:anywhere}.ops-log-row small{color:var(--muted);grid-column:2;line-height:1.35}.order-form-page{width:100%}.order-detail-page{max-width:1280px;width:100%}.detail-heading{align-items:center}.state-gate-card{align-items:start;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted-strong);display:flex;gap:12px;padding:16px}.state-gate-card.embedded{background:var(--surface-muted)}.state-gate-card .material-symbols-outlined{color:var(--warning)}.state-gate-card strong,.state-gate-card span{display:block}.state-gate-card strong{color:var(--ink)}.state-gate-card span{color:var(--muted);line-height:1.45;margin-top:3px}.detail-summary-grid{display:grid;gap:14px;grid-template-columns:1fr}.detail-summary-card{display:grid;gap:8px;min-height:132px;padding:16px}.detail-summary-card>span,.history-type,.readonly-note{color:var(--muted);font-size:.73rem;font-weight:900;text-transform:uppercase}.detail-summary-card strong{color:var(--ink);font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.detail-summary-card small{color:var(--muted);line-height:1.4}.detail-summary-card .table-control{width:100%}.detail-form{gap:18px}.detail-submit-bar strong{color:var(--ink);font-size:1rem}.history-grid{display:grid;gap:18px;grid-template-columns:1fr}.history-card{min-width:0;padding:20px}.history-list{display:grid;gap:10px}.history-item{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:5px;padding:13px 14px}.history-type{color:var(--primary)}.history-item strong{color:var(--ink);line-height:1.42}.history-item small{color:var(--muted);line-height:1.35}.repair-form{display:grid;gap:22px}.wizard-form{gap:18px}.wizard-steps{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.wizard-step{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);display:grid;gap:6px;justify-items:center;min-height:78px;padding:9px 6px;transition:background .16s ease,border-color .16s ease,color .16s ease}.wizard-step>span{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--muted-strong);display:inline-flex;font-size:.8rem;font-weight:900;height:28px;justify-content:center;width:28px}.wizard-step .material-symbols-outlined{font-size:20px}.wizard-step strong{font-size:.72rem;line-height:1.1;text-transform:uppercase}.wizard-step.active{background:var(--primary-soft);border-color:#005f5638;color:var(--primary-strong)}.wizard-step.active>span,.wizard-step.done>span{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-step.done{color:var(--primary)}.wizard-panel{display:none}.wizard-panel.active{display:grid;gap:18px}.wizard-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.wizard-actions>span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.wizard-confirm-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.wizard-confirm-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:5px;padding:14px}.wizard-confirm-card span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.wizard-confirm-card strong{color:var(--ink);line-height:1.35}.wizard-confirm-card small{color:var(--muted);line-height:1.4}.deferred-fields-note{align-items:start;background:var(--accent-soft);border:1px solid rgb(198 161 29 / 24%);border-radius:var(--radius);color:var(--warning);display:flex;gap:12px;padding:14px}.deferred-fields-note strong,.deferred-fields-note span{display:block}.deferred-fields-note span{color:var(--muted-strong);line-height:1.45;margin-top:2px}.readonly-assignment{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted-strong);display:grid;gap:5px;min-height:44px;padding:10px 12px}.readonly-assignment span{font-size:.74rem;font-weight:800;text-transform:uppercase}.readonly-assignment strong{color:var(--ink)}.readonly-assignment small{color:var(--muted);line-height:1.35}.form-section-card{padding:22px}.form-section-title{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;margin-bottom:22px;padding-bottom:12px}.form-section-title .material-symbols-outlined{align-items:center;background:var(--primary-soft);border-radius:6px;color:var(--primary);display:inline-flex;height:34px;justify-content:center;width:34px}.form-section-title h2{color:var(--ink);margin:0}.form-section-body{display:grid;gap:22px}.form-grid{display:grid;gap:18px;grid-template-columns:1fr}.field{color:var(--muted-strong);display:grid;gap:7px}.field span,.choice-field legend{color:var(--muted-strong)}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);min-height:44px;min-width:0;outline:0;padding:10px 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;width:100%}.field textarea{line-height:1.5;resize:vertical}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-strong)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00685f24}.field input:disabled,.field textarea:disabled,.field select:disabled{background:var(--surface-muted);color:var(--muted-strong);opacity:1}.choice-field{border:0;margin:0;padding:0}.choice-field legend{margin-bottom:9px}.choice-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.choice-field.compact .choice-grid{grid-template-columns:repeat(2,minmax(80px,1fr))}.choice-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted-strong);cursor:pointer;display:flex;gap:9px;min-height:44px;padding:10px 12px;transition:border-color .16s ease,background .16s ease,color .16s ease}.choice-card:hover{background:var(--surface-muted);border-color:var(--primary);color:var(--primary)}.choice-card input{accent-color:var(--primary);height:18px;width:18px}.choice-card:has(input:disabled){cursor:default;opacity:.72}.sub-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:16px;padding:16px}.sub-card h3{color:var(--primary);margin:0}.upload-zone{align-items:center;background:var(--surface-muted);border:2px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;display:grid;gap:8px;justify-items:center;min-height:176px;padding:30px;text-align:center;transition:background .16s ease,border-color .16s ease}.upload-zone.compact{min-height:112px;padding:18px}.upload-zone:hover{background:var(--primary-soft);border-color:var(--primary)}.upload-zone.uploading{opacity:.72}.upload-zone input{display:none}.upload-zone .material-symbols-outlined{color:var(--primary);font-size:46px}.upload-zone strong{color:var(--ink);font-size:1.05rem}.upload-zone span{color:var(--muted);max-width:520px}.photo-section-card{display:grid;gap:18px}.photo-toolbar{align-items:stretch;display:grid;gap:14px;grid-template-columns:1fr}.photo-gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.photo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.photo-card a{background:var(--surface-muted);display:block;aspect-ratio:4 / 3}.photo-card img{display:block;height:100%;object-fit:cover;width:100%}.photo-card-meta{align-items:start;display:flex;gap:10px;justify-content:space-between;padding:12px}.photo-card-meta div{display:grid;gap:3px;min-width:0}.photo-card-meta strong{color:var(--ink)}.photo-card-meta span{color:var(--muted);font-size:.76rem;line-height:1.35}.file-list{display:flex;flex-wrap:wrap;gap:8px}.file-list span{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--muted-strong);font-size:.82rem;font-weight:800;padding:6px 10px}.signature-box{align-content:space-between;background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius);display:grid;min-height:116px;padding:12px}.signature-box span{color:var(--muted-strong)}.signature-box small{color:var(--muted);font-weight:700}.signature-section-card{display:grid;gap:18px}.signature-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.signature-pad-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:12px;padding:16px}.signature-pad-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.signature-pad-header h3{color:var(--ink);font-size:1rem;margin:0 0 3px}.signature-pad-header span,.signature-pad-header small{color:var(--muted);font-size:.82rem;font-weight:800}.signature-preview{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);display:flex;height:92px;justify-content:center;overflow:hidden}.signature-preview img{display:block;max-height:74px;max-width:92%;object-fit:contain}.signature-preview.empty{color:var(--muted);font-size:.82rem;font-weight:800}.signature-canvas{background:linear-gradient(transparent 68%,rgb(17 24 39 / 14%) 68%,rgb(17 24 39 / 14%) 69%,transparent 69%),#fff;border:1px solid var(--border-strong);border-radius:var(--radius);height:140px;touch-action:none;width:100%}.signature-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.compact-action{min-height:38px;padding:8px 12px}.form-submit-bar{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #10201d0a;display:flex;flex-direction:column;gap:16px;padding:18px}.form-submit-bar>div:first-child{display:grid;gap:2px}.form-submit-bar span{color:var(--muted)}.form-submit-bar strong{color:var(--primary);font-size:1.3rem}.form-actions{display:flex;flex-direction:column;gap:12px;width:100%}.form-actions button{justify-content:center;width:100%}.donut-wrap{align-items:center;display:flex;justify-content:center;margin:18px auto 20px;position:relative;width:192px}.donut{height:192px;transform:rotate(-90deg);width:192px}.donut-center{align-items:center;display:grid;inset:0;justify-items:center;margin:auto;position:absolute}.donut-center strong{color:var(--ink);font-size:1.38rem}.donut-center span{color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.chart-legend{display:grid;gap:9px}.chart-legend div{align-items:center;display:grid;gap:10px;grid-template-columns:auto 1fr auto}.chart-legend span:not(.legend-dot){color:var(--muted-strong)}.legend-dot{border-radius:999px;display:block;height:11px;width:11px}.bar-chart{align-items:end;border-bottom:1px solid var(--border);display:flex;gap:16px;height:256px;justify-content:space-between;padding:0 16px 32px}.bar-item{align-items:center;display:flex;flex:1;flex-direction:column;gap:12px;height:100%;justify-content:end;min-width:52px}.bar{background:var(--primary-soft);border-radius:var(--radius) var(--radius) 0 0;max-width:48px;min-height:24px;position:relative;width:70%}.bar:after{background:linear-gradient(180deg,var(--primary),var(--primary-strong));border-radius:var(--radius) var(--radius) 0 0;content:"";inset:0;position:absolute}.bar span{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;font-weight:900;left:50%;position:absolute;top:-26px;transform:translate(-50%);z-index:1}.bar-item strong{color:var(--muted);font-size:.75rem;overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%}.table-card{overflow:hidden}.table-title{border-bottom:1px solid var(--border);margin:0;padding:20px 22px}.table-title div{display:flex;gap:8px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;min-width:980px;width:100%}thead tr{background:var(--surface-muted)}th,td{border-bottom:1px solid rgb(217 229 225 / 76%);padding:15px 22px;text-align:left;vertical-align:middle}th{color:var(--muted-strong);white-space:nowrap}tbody tr{transition:background .14s ease}tbody tr:hover{background:var(--surface-muted)}tbody tr:last-child td{border-bottom:0}.mono{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900}.entity-cell{display:grid;gap:3px}.entity-cell strong{color:var(--ink);font-size:.95rem}.entity-cell span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.status-badge{border:1px solid rgb(16 32 29 / 8%);border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:900;line-height:1;padding:7px 10px;text-transform:uppercase;white-space:nowrap}.table-control{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;display:inline-flex;gap:7px;min-height:36px;min-width:156px;padding:0 8px}.table-control.wide{min-width:210px}.table-control select{appearance:none;background:transparent;border:0;color:var(--ink);cursor:pointer;font-size:.86rem;font-weight:700;min-height:34px;min-width:0;outline:0;width:100%}.table-control:has(select:disabled){background:var(--surface-muted);opacity:.72}.control-dot{border-radius:999px;flex:0 0 auto;height:8px;width:8px}.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.table-link-action{background:transparent;border:0;color:var(--primary);font-size:.82rem;font-weight:900;padding:0;text-decoration:underline;text-underline-offset:3px}.table-link-action:hover{color:var(--primary-strong)}.save-indicator{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.72rem;font-weight:900;line-height:1;padding:7px 10px;text-transform:uppercase;white-space:nowrap}.save-indicator.active{background:var(--accent-soft);border-color:#c6a11d4d;color:var(--warning)}.module-chip{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--muted-strong);padding:6px 10px}.inventory-card{display:flex;flex-direction:column}.inventory-card>button{border-radius:var(--radius);margin-top:24px;width:100%}.empty-state{align-items:center;background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);display:flex;gap:10px;line-height:1.5;min-height:112px;padding:18px}.empty-state .material-symbols-outlined{color:var(--primary)}.public-shell{background:linear-gradient(180deg,#f7f8f6,#eef2f0);min-height:100vh;padding:18px}.public-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:20px;margin:0 auto;max-width:980px;padding:22px}.public-header{align-items:start;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:16px;padding-bottom:18px}.public-header img{background:#fff;border:1px solid var(--border);border-radius:var(--radius);height:58px;object-fit:contain;padding:5px;width:58px}.public-header h1{color:var(--primary-strong);font-size:1.55rem;margin:0}.public-search{display:grid;gap:14px}.public-lookup-field input{font-size:1.02rem;font-weight:800;letter-spacing:.02em}.tracking-result{display:grid;gap:18px}.tracking-summary{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tracking-summary>div,.tracking-status-card,.tracking-timeline,.tracking-photos{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.tracking-summary span,.tracking-status-card span{color:var(--muted);display:block;font-size:.76rem;font-weight:900;margin-bottom:5px;text-transform:uppercase}.tracking-summary strong{color:var(--ink);overflow-wrap:anywhere}.tracking-status-card{align-items:center;display:flex;gap:12px;justify-content:space-between}.tracking-timeline,.tracking-photos{display:grid;gap:12px}.tracking-timeline h2,.tracking-photos h2{color:var(--ink);font-size:1rem;margin:0}.tracking-step{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:6px;grid-template-columns:auto minmax(0,1fr);padding:11px 12px}.tracking-step small{color:var(--muted);grid-column:2}.public-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.technician-content{max-width:1080px}.technician-order-list{display:grid;gap:16px}.gps-panel{align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #10201d0a;display:grid;gap:14px;padding:16px}.gps-panel h2{color:var(--ink);font-size:1.05rem;margin:8px 0 4px}.gps-panel p,.gps-panel small{color:var(--muted);line-height:1.45;margin:0}.gps-controls{align-items:end;display:grid;gap:12px}.gps-error{color:var(--danger)!important;font-weight:800}.technician-order-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:16px;padding:16px}.technician-card-head{align-items:start;display:flex;gap:12px;justify-content:space-between}.technician-card-head h2{color:var(--ink);font-size:1.08rem;line-height:1.25;margin:3px 0}.technician-card-head span,.technician-card-head small{color:var(--muted);font-size:.82rem;font-weight:800}.technician-card-grid{display:grid;gap:14px}.tech-photo-box{display:grid;gap:10px}.technician-notes{display:grid;gap:12px}.technician-notes.compact{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.inline-actions{justify-content:flex-end}.technician-card-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-footer{align-items:center;background:var(--surface);border-top:1px solid var(--border);color:var(--muted);display:flex;flex-direction:column;font-size:.78rem;font-weight:800;gap:8px;margin-top:auto;padding:22px;text-transform:uppercase}@media(min-width:640px){.public-header{align-items:center;flex-direction:row;justify-content:space-between}.public-search{align-items:end;grid-template-columns:minmax(260px,1fr) auto}.stats-grid,.detail-summary-grid,.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-toolbar{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.password-reset-form{grid-template-columns:minmax(220px,1fr) auto}.form-submit-bar{flex-direction:row;justify-content:space-between}.form-actions{flex-direction:row;width:auto}.form-actions button{width:auto}.gps-controls,.route-controls{grid-template-columns:minmax(220px,1fr) auto}}@media(min-width:860px){.technician-card-grid{grid-template-columns:minmax(220px,.72fr) minmax(320px,1fr)}}@media(min-width:760px){.search-box{display:flex}}@media(min-width:1024px){.sidebar{box-shadow:none;transform:none}.sidebar-backdrop,.sidebar-close,.mobile-brand{display:none}.top-context{display:block}.admin-canvas{margin-left:var(--sidebar-width)}.admin-content{padding:36px}.topbar-real{padding:14px 28px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-grid{grid-template-columns:minmax(280px,1fr) minmax(0,2fr)}.operations-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.detail-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.history-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}}@media(min-width:1280px){.bottom-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}@media(max-width:760px){.auth-shell{background:linear-gradient(180deg,#f7f8f6,#eef2f0);padding:14px}.login-card{grid-template-columns:1fr;max-width:100%;min-height:auto;width:100%}.login-brand-panel{align-content:start;padding:28px 28px 22px}.login-brand-panel:after{left:28px;right:28px}.login-brand-panel h1{font-size:1.65rem;max-width:none}.topbar-real{align-items:flex-start;gap:12px}.top-context{display:none}.top-actions{flex-wrap:wrap;justify-content:flex-end}.user-chip strong{display:none}.logout-action{padding:0 12px}.page-heading{display:grid}.primary-action,.secondary-action{width:100%}.state-config-row,.state-config-meta{align-items:stretch;flex-direction:column}.toggle-action{width:100%}.panel-card,.inventory-card,.settings-card,.form-section-card{padding:18px}.user-admin-summary{align-items:flex-start;display:grid}.user-admin-summary-meta{flex-wrap:wrap}.technician-profile-row{grid-template-columns:1fr}.technician-avatar-upload{width:100%}}
