
/* /eimar_service_mgmt/static/lib/leaflet/leaflet.css */
 .leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer{position: absolute; left: 0; top: 0;}.leaflet-container{overflow: hidden;}.leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow{-webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-user-drag: none;}.leaflet-tile::selection{background: transparent;}.leaflet-safari .leaflet-tile{image-rendering: -webkit-optimize-contrast;}.leaflet-safari .leaflet-tile-container{width: 1600px; height: 1600px; -webkit-transform-origin: 0 0;}.leaflet-marker-icon, .leaflet-marker-shadow{display: block;}.leaflet-container .leaflet-overlay-pane svg{max-width: none !important; max-height: none !important;}.leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile{max-width: none !important; max-height: none !important; width: auto; padding: 0;}.leaflet-container img.leaflet-tile{mix-blend-mode: plus-lighter;}.leaflet-container.leaflet-touch-zoom{-ms-touch-action: pan-x pan-y; touch-action: pan-x pan-y;}.leaflet-container.leaflet-touch-drag{-ms-touch-action: pinch-zoom; touch-action: none; touch-action: pinch-zoom;}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action: none; touch-action: none;}.leaflet-container{-webkit-tap-highlight-color: transparent;}.leaflet-container a{-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);}.leaflet-tile{filter: inherit; visibility: hidden;}.leaflet-tile-loaded{visibility: inherit;}.leaflet-zoom-box{width: 0; height: 0; -moz-box-sizing: border-box; box-sizing: border-box; z-index: 800;}.leaflet-overlay-pane svg{-moz-user-select: none;}.leaflet-pane{z-index: 400;}.leaflet-tile-pane{z-index: 200;}.leaflet-overlay-pane{z-index: 400;}.leaflet-shadow-pane{z-index: 500;}.leaflet-marker-pane{z-index: 600;}.leaflet-tooltip-pane{z-index: 650;}.leaflet-popup-pane{z-index: 700;}.leaflet-map-pane canvas{z-index: 100;}.leaflet-map-pane svg{z-index: 200;}.leaflet-vml-shape{width: 1px; height: 1px;}.lvml{behavior: url(/eimar_service_mgmt/static/lib/leaflet/#default#VML); display: inline-block; position: absolute;}.leaflet-control{position: relative; z-index: 800; pointer-events: visiblePainted; pointer-events: auto;}.leaflet-top, .leaflet-bottom{position: absolute; z-index: 1000; pointer-events: none;}.leaflet-top{top: 0;}.leaflet-right{right: 0;}.leaflet-bottom{bottom: 0;}.leaflet-left{left: 0;}.leaflet-control{float: left; clear: both;}.leaflet-right .leaflet-control{float: right;}.leaflet-top .leaflet-control{margin-top: 10px;}.leaflet-bottom .leaflet-control{margin-bottom: 10px;}.leaflet-left .leaflet-control{margin-left: 10px;}.leaflet-right .leaflet-control{margin-right: 10px;}.leaflet-fade-anim .leaflet-popup{opacity: 0; -webkit-transition: opacity 0.2s linear; -moz-transition: opacity 0.2s linear; transition: opacity 0.2s linear;}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity: 1;}.leaflet-zoom-animated{-webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0;}svg.leaflet-zoom-animated{will-change: transform;}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); transition: transform 0.25s cubic-bezier(0,0,0.25,1);}.leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile{-webkit-transition: none; -moz-transition: none; transition: none;}.leaflet-zoom-anim .leaflet-zoom-hide{visibility: hidden;}.leaflet-interactive{cursor: pointer;}.leaflet-grab{cursor: -webkit-grab; cursor: -moz-grab; cursor: grab;}.leaflet-crosshair, .leaflet-crosshair .leaflet-interactive{cursor: crosshair;}.leaflet-popup-pane, .leaflet-control{cursor: auto;}.leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable{cursor: move; cursor: -webkit-grabbing; cursor: -moz-grabbing; cursor: grabbing;}.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container{pointer-events: none;}.leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path{pointer-events: visiblePainted; pointer-events: auto;}.leaflet-container{background: #ddd; outline-offset: 1px;}.leaflet-zoom-box{border: 2px dotted #38f; background: rgba(255,255,255,0.5);}.leaflet-container{font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; font-size: 12px; font-size: 0.75rem; line-height: 1.5;}.leaflet-bar{box-shadow: 0 1px 5px rgba(0,0,0,0.65); border-radius: 4px;}.leaflet-bar a{background-color: #fff; border-bottom: 1px solid #ccc; width: 26px; height: 26px; line-height: 26px; display: block; text-align: center; text-decoration: none; color: black;}.leaflet-bar a, .leaflet-control-layers-toggle{background-position: 50% 50%; background-repeat: no-repeat; display: block;}.leaflet-bar a:hover, .leaflet-bar a:focus{background-color: #f4f4f4;}.leaflet-bar a:first-child{border-top-left-radius: 4px; border-top-right-radius: 4px;}.leaflet-bar a:last-child{border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-bottom: none;}.leaflet-bar a.leaflet-disabled{cursor: default; background-color: #f4f4f4; color: #bbb;}.leaflet-touch .leaflet-bar a{width: 30px; height: 30px; line-height: 30px;}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius: 2px; border-top-right-radius: 2px;}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius: 2px; border-bottom-right-radius: 2px;}.leaflet-control-zoom-in, .leaflet-control-zoom-out{font: bold 18px 'Lucida Console', Monaco, monospace; text-indent: 1px;}.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out{font-size: 22px;}.leaflet-control-layers{box-shadow: 0 1px 5px rgba(0,0,0,0.4); background: #fff; border-radius: 5px;}.leaflet-control-layers-toggle{background-image: url(/eimar_service_mgmt/static/lib/leaflet/images/layers.png); width: 36px; height: 36px;}.leaflet-retina .leaflet-control-layers-toggle{background-image: url(/eimar_service_mgmt/static/lib/leaflet/images/layers-2x.png); background-size: 26px 26px;}.leaflet-touch .leaflet-control-layers-toggle{width: 44px; height: 44px;}.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle{display: none;}.leaflet-control-layers-expanded .leaflet-control-layers-list{display: block; position: relative;}.leaflet-control-layers-expanded{padding: 6px 10px 6px 6px; color: #333; background: #fff;}.leaflet-control-layers-scrollbar{overflow-y: scroll; overflow-x: hidden; padding-right: 5px;}.leaflet-control-layers-selector{margin-top: 2px; position: relative; top: 1px;}.leaflet-control-layers label{display: block; font-size: 13px; font-size: 1.08333em;}.leaflet-control-layers-separator{height: 0; border-top: 1px solid #ddd; margin: 5px -10px 5px -6px;}.leaflet-default-icon-path{background-image: url(/eimar_service_mgmt/static/lib/leaflet/images/marker-icon.png);}.leaflet-container .leaflet-control-attribution{background: #fff; background: rgba(255, 255, 255, 0.8); margin: 0;}.leaflet-control-attribution, .leaflet-control-scale-line{padding: 0 5px; color: #333; line-height: 1.4;}.leaflet-control-attribution a{text-decoration: none;}.leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus{text-decoration: underline;}.leaflet-attribution-flag{display: inline !important; vertical-align: baseline !important; width: 1em; height: 0.6669em;}.leaflet-left .leaflet-control-scale{margin-left: 5px;}.leaflet-bottom .leaflet-control-scale{margin-bottom: 5px;}.leaflet-control-scale-line{border: 2px solid #777; border-top: none; line-height: 1.1; padding: 2px 5px 1px; white-space: nowrap; -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(255, 255, 255, 0.8); text-shadow: 1px 1px #fff;}.leaflet-control-scale-line:not(:first-child){border-top: 2px solid #777; border-bottom: none; margin-top: -2px;}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom: 2px solid #777;}.leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar{box-shadow: none;}.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar{border: 2px solid rgba(0,0,0,0.2); background-clip: padding-box;}.leaflet-popup{position: absolute; text-align: center; margin-bottom: 20px;}.leaflet-popup-content-wrapper{padding: 1px; text-align: left; border-radius: 12px;}.leaflet-popup-content{margin: 13px 24px 13px 20px; line-height: 1.3; font-size: 13px; font-size: 1.08333em; min-height: 1px;}.leaflet-popup-content p{margin: 17px 0; margin: 1.3em 0;}.leaflet-popup-tip-container{width: 40px; height: 20px; position: absolute; left: 50%; margin-top: -1px; margin-left: -20px; overflow: hidden; pointer-events: none;}.leaflet-popup-tip{width: 17px; height: 17px; padding: 1px; margin: -10px auto 0; pointer-events: auto; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}.leaflet-popup-content-wrapper, .leaflet-popup-tip{background: white; color: #333; box-shadow: 0 3px 14px rgba(0,0,0,0.4);}.leaflet-container a.leaflet-popup-close-button{position: absolute; top: 0; right: 0; border: none; text-align: center; width: 24px; height: 24px; font: 16px/24px Tahoma, Verdana, sans-serif; color: #757575; text-decoration: none; background: transparent;}.leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus{color: #585858;}.leaflet-popup-scrolled{overflow: auto;}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom: 1;}.leaflet-oldie .leaflet-popup-tip{width: 24px; margin: 0 auto; -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);}.leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip{border: 1px solid #999;}.leaflet-div-icon{background: #fff; border: 1px solid #666;}.leaflet-tooltip{position: absolute; padding: 6px; background-color: #fff; border: 1px solid #fff; border-radius: 3px; color: #222; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; pointer-events: none; box-shadow: 0 1px 3px rgba(0,0,0,0.4);}.leaflet-tooltip.leaflet-interactive{cursor: pointer; pointer-events: auto;}.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before{position: absolute; pointer-events: none; border: 6px solid transparent; background: transparent; content: "";}.leaflet-tooltip-bottom{margin-top: 6px;}.leaflet-tooltip-top{margin-top: -6px;}.leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before{left: 50%; margin-left: -6px;}.leaflet-tooltip-top:before{bottom: 0; margin-bottom: -12px; border-top-color: #fff;}.leaflet-tooltip-bottom:before{top: 0; margin-top: -12px; margin-left: -6px; border-bottom-color: #fff;}.leaflet-tooltip-left{margin-left: -6px;}.leaflet-tooltip-right{margin-left: 6px;}.leaflet-tooltip-left:before, .leaflet-tooltip-right:before{top: 50%; margin-top: -6px;}.leaflet-tooltip-left:before{right: 0; margin-right: -12px; border-left-color: #fff;}.leaflet-tooltip-right:before{left: 0; margin-left: -12px; border-right-color: #fff;}@media print{.leaflet-control{-webkit-print-color-adjust: exact; print-color-adjust: exact;}}

/* /eimar_service_mgmt/static/src/tech_app/app.css */
 @font-face{font-family:"Tajawal";font-style:normal;font-weight:400;font-display:optional;src:url("/eimar_service_mgmt/static/src/fonts/Tajawal-400.woff2") format("woff2")}@font-face{font-family:"Tajawal";font-style:normal;font-weight:700;font-display:optional;src:url("/eimar_service_mgmt/static/src/fonts/Tajawal-700.woff2") format("woff2")}.etech-app{--g: #14532D; --g2: #2f8f5b; --bg: #f5f7f6; --line: #e3ebe7; --muted: #5c6d66; --danger: #c0392b; font-family: "Tajawal", "Cairo","Segoe UI",Tahoma,system-ui,sans-serif; background: var(--bg); color: #1c2b26; min-height: 100vh; max-width: 560px; margin: 0 auto; padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));}.etech-app *{box-sizing: border-box;}.etech-hd{position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; background: var(--g); color: #fff; padding: 4px 16px; min-height: 52px; font-weight: 700;}.etech-brand{display: flex; align-items: center; gap: 8px;}.etech-logo{width: 28px; height: 28px; background: #fff; border-radius: 50%; padding: 2px;}.etech-main{padding: 16px;}.etech-center{text-align: center; padding: 48px 0; color: var(--muted);}.etech-card{background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px; margin-bottom: 16px;}.etech-card h2{margin: 0 0 8px; font-size: 20px; color: var(--g);}.etech-muted{color: var(--muted); font-size: 13px;}.etech-card label{display: block; margin: 12px 0 4px; font-size: 13px; font-weight: 600;}.etech-card label.etech-field{margin: 12px 0 0; font-size: inherit; font-weight: 400;}.etech-field > .etech-label{display: block; margin: 0 0 4px; font-size: 13px; font-weight: 600;}.etech-input{width: 100%; padding: 12px; font-size: 16px; border: 1px solid var(--line); border-radius: 10px;}.etech-input:focus{outline: none; border-color: var(--g2);}.etech-btn{display: block; width: 100%; padding: 13px; margin-top: 12px; font-size: 16px; font-weight: 700; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #1c2b26; cursor: pointer; text-align: center; text-decoration: none;}.etech-btn:disabled{opacity: .6;}.etech-btn.primary{background: var(--g); color: #fff; border-color: var(--g);}.etech-btn.map{background: #eaf3ef; color: var(--g); border-color: #cfe6da;}.etech-link{background: none; border: none; color: var(--g); text-decoration: underline; cursor: pointer; font-size: 14px; min-height: 44px; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center;}.etech-row{display: flex; align-items: center; justify-content: space-between;}.etech-alert{padding: 10px 14px; border-radius: 8px; margin: 12px 16px 0; font-size: 14px;}.etech-alert.err{background: #fdecea; color: #a12d1f; border: 1px solid #f5c6c0;}.etech-alert.ok{background: #e8f6ee; color: #14532D; border: 1px solid #bfe5cd;}.etech-alert.warn{background: #fff7e6; color: #8a5a00; border: 1px solid #ffe1a6;}.etech-qa-atts{display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0;}.etech-qa-att{position: relative;}.etech-qa-thumb{width: 84px; height: 84px; object-fit: cover; border-radius: 8px; border: 1px solid #e3d9d0; cursor: pointer; background: #f3ede7;}.etech-qa-rm{position: absolute; top: -6px; inset-inline-end: -6px; width: 24px; height: 24px; border-radius: 50%; border: none; background: #a12d1f; color: #fff; font-size: 12px; line-height: 24px; padding: 0; cursor: pointer;}.etech-viewer-backdrop{position: fixed; inset: 0; background: rgba(0,0,0,.82); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 16px;}.etech-viewer-img{max-width: 96%; max-height: 96%; border-radius: 8px;}.etech-item{background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 10px; cursor: pointer;}.etech-item-top{display: flex; justify-content: space-between; align-items: center;}.etech-num{font-weight: 700; color: var(--g);}.etech-item-sub{display: flex; justify-content: space-between; margin-top: 6px; font-size: 13px;}.etech-empty{text-align: center; padding: 32px 0; color: var(--muted);}.etech-list h2{color: var(--g);}.etech-badge{font-size: 12px; padding: 3px 10px; border-radius: 999px; background: #eef3f0; color: #345;}.etech-badge.st-assigned{background: #e3eefc; color: #1c4f9c;}.etech-badge.st-in_progress{background: #fff3d6; color: #8a6100;}.etech-badge.st-ops_done{background: #e8f6ee; color: #14532D;}.etech-badge.st-closed{background: #dcefe4; color: #14532D;}.etech-kv{display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px;}.etech-kv span{color: var(--muted); min-width: 92px;}.etech-kv b{flex: 1;}.etech-kv a{color: var(--g);}.etech-photos{display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0;}.etech-photo{width: 80px; height: 80px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line);}.etech-actions{margin-top: 12px;}.etech-spin{width: 32px; height: 32px; border: 3px solid var(--line); border-top-color: var(--g); border-radius: 50%; margin: 0 auto 12px; animation: etech-spin .8s linear infinite;}@keyframes etech-spin{to{transform: rotate(360deg);}}.etech-toasts{position: fixed; top: 60px; inset-inline: 0; z-index: 50; display: flex; flex-direction: column; align-items: center; gap: 6px; pointer-events: none;}.etech-toast{background: #1c2b26; color: #fff; padding: 10px 16px; border-radius: 10px; font-size: 14px; max-width: 90%;}.etech-enroute{margin-top: 12px; background: #eaf3ef; color: var(--g); border: 1px solid #cfe6da; border-radius: 10px; padding: 10px; font-size: 14px; text-align: center;}.etech-chat{margin-top: 16px;}.etech-chat h3{color: var(--g); font-size: 15px; margin: 8px 0;}.etech-chat-box{max-height: 220px; overflow-y: auto; background: #f7fbf9; border: 1px solid var(--line); border-radius: 10px; padding: 10px; display: flex; flex-direction: column; gap: 6px;}.etech-msg{max-width: 80%; padding: 8px 10px; border-radius: 10px; font-size: 14px;}.etech-msg-sender{font-size: 11px; color: var(--muted); margin-bottom: 2px;}.etech-msg-me{align-self: flex-start; background: #dcf0e5;}.etech-msg-them{align-self: flex-end; background: #fff; border: 1px solid var(--line);}.etech-chat-input{display: flex; gap: 6px; margin-top: 8px;}.etech-chat-input .etech-input{flex: 1;}.etech-chat-input .etech-btn{width: auto; margin: 0; padding: 8px 16px;}.etech-muted{color: var(--muted); font-size: 13px;}.etech-panel{margin-top: 14px; padding: 12px; background: #f7fbf9; border: 1px solid var(--line); border-radius: 10px;}.etech-panel h3{color: var(--g); font-size: 15px; margin: 0 0 8px;}.etech-inline{display: flex; align-items: center; gap: 8px;}.etech-inline .etech-input{flex: 1; margin: 0;}.etech-inline .etech-btn{width: auto; margin: 0; padding: 10px 14px; white-space: nowrap;}.etech-avail{display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; font-size: 14px;}.etech-dot{width: 12px; height: 12px; border-radius: 50%;}.etech-dot.on{background: #2ecc71; box-shadow: 0 0 0 3px rgba(46,204,113,.25);}.etech-dot.off{background: #bbb;}.etech-avail button{margin-inline-start: auto !important;}.etech-or{text-align: center; color: var(--muted); margin: 12px 0 6px;}.etech-gbtn{display: flex; justify-content: center;}.etech-chips{display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0;}.etech-chip{padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; cursor: pointer; background: #fff; font-family: inherit; min-height: 44px; display: inline-flex; align-items: center;}.etech-chip.on{background: var(--g); color: #fff; border-color: var(--g);}.etech-quote{background: #fff8e1; border-color: #e0b400;}.etech-policy{margin-top: 14px; padding: 12px; background: #f7fbf9; border: 1px solid var(--line); border-radius: 10px;}.etech-policy h3{color: var(--g); font-size: 15px; margin: 0 0 8px;}.etech-policy-text{white-space: pre-wrap; font-family: inherit; font-size: 13px; color: #333; max-height: 220px; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin: 0 0 10px;}.etech-policy-check{display: flex; align-items: center; gap: 8px; font-weight: 600;}.etech-policy-check input{width: 24px; height: 24px; flex: 0 0 auto;}.etech-survey{margin-top: 14px; padding: 12px; background: #f7fbf9; border: 1px solid var(--line); border-radius: 10px;}.etech-survey h3{color: var(--g); font-size: 15px; margin: 0 0 8px;}.etech-mic{background: #fff; border: 1px solid var(--line); border-radius: 8px; font-size: 18px; cursor: pointer; padding: 6px 10px; margin: 0; flex: none;}.etech-mic.on{background: #ffe0e0; border-color: #e74c3c;}.etech-fbwrap{display: flex; justify-content: center; margin-top: 8px;}.eimar-fb-btn{background: #1877f2; color: #fff; border: none; border-radius: 999px; padding: 10px 22px; font-size: 15px; font-weight: 700; cursor: pointer; width: 260px; max-width: 100%;}.etech-navrow{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px;}.etech-help-item{border:1px solid #e0b400; background:#fff8e1; border-radius:10px; padding:10px; margin:8px 0;}.etech-invite-box{margin:10px 0;}.etech-assist{border:1px solid #cfe3dd; background:#f3faf7;}.etech-assist-line{border-top:1px dashed #cfe3dd; padding:8px 0;}.etech-tag{display:inline-block; font-size:12px; padding:2px 8px; border-radius:999px; margin-inline-start:6px;}.etech-tag.ok{background:#e6f4ea; color:#1e7a43;}.etech-tag.wait{background:#fff3cd; color:#7a5b00; border-color:#f3e0a8;}.etech-partner{background:#f0faf6;border:1px solid #bfe6d5;border-radius:12px;padding:14px;margin:14px 0}.etech-partner h2{margin:0 0 10px;font-size:1.05rem;color:#14532D}.etech-partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.etech-partner-cell{background:#fff;border:1px solid #e3efe9;border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.etech-partner-cell b{font-size:1.05rem;color:#123}.etech-partner-entries{margin-top:10px;display:flex;flex-direction:column;gap:4px}.etech-partner-entry{display:flex;justify-content:space-between;font-size:.9rem;border-bottom:1px dashed #e0ece6;padding:3px 0}.etech-partner-notice{margin-top:10px;background:#fff8e1;border:1px solid #e0b400;color:#6b5300;border-radius:9px;padding:9px 11px;font-size:.86rem;line-height:1.5}.etech-acct.st-good{background: #eefaf3; border-color: #bfe6cf;}.etech-acct.st-warning{background: #fff8e8; border-color: #e8d59a;}.etech-acct.st-at_risk{background: #fdecea; border-color: #f0b3ab;}.etech-acct-ack{margin-top: 8px;}.etech-progress .etech-grade-dot{width: 14px; height: 14px; border-radius: 50%; display: inline-block;}.etech-progbar{height: 10px; background: #e7efeb; border-radius: 999px; overflow: hidden; margin: 8px 0;}.etech-progfill{height: 100%; background: linear-gradient(90deg, var(--g2), var(--g)); border-radius: 999px; transition: width .4s ease;}.etech-fair-block{margin-bottom: 12px;}.etech-fair-block label{display: block; font-weight: 600; margin-bottom: 4px; color: #1c2b26;}.etech-badge.wc-open{background: #e3eefc; color: #1c4f9c;}.etech-badge.wc-in_progress{background: #fff3e0; color: #9c5b1c;}.etech-badge.wc-resolved{background: #eafaf0; color: #1c7a45;}.etech-badge.wc-rejected{background: #f3f4f5; color: #667;}.etech-sheet-backdrop{position: fixed; inset: 0; z-index: 1000; background: rgba(10,20,30,0.5); display: flex; align-items: flex-end; justify-content: center;}.etech-sheet{width: 100%; max-width: 560px; background: #fff; color: #16232b; border-radius: 18px 18px 0 0; padding: 14px 16px calc(18px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -8px 28px rgba(0,0,0,0.2); animation: etech-sheet-up 0.22s ease-out; max-height: 88vh; overflow-y: auto;}@keyframes etech-sheet-up{from{transform: translateY(100%);}to{transform: translateY(0);}}.etech-sheet-grip{width: 44px; height: 5px; border-radius: 999px; background: #d5dde2; margin: 2px auto 12px;}.etech-sheet-title{margin: 0 0 6px; font-size: 17px; font-weight: 800;}.etech-sheet-msg{margin: 0 0 10px; font-size: 13px;}.etech-sheet-field{margin: 8px 0;}.etech-sheet-field label{display: block; font-size: 13px; margin-bottom: 4px; font-weight: 600;}.etech-sheet-actions{display: flex; gap: 10px; margin-top: 14px;}.etech-sheet-actions .etech-btn{flex: 1;}.etech-chips{display: flex; flex-wrap: wrap; gap: 6px;}.etech-panel .etech-chip{background: #eef4f1; color: #14532D; border: 1px solid #cfe6da; border-radius: 999px; padding: 4px 10px; font-size: 12px; min-height: 0; cursor: default;}.etech-prof-head{}.etech-prof-ring{text-align: center; min-width: 96px;}.etech-ring-num{font-size: 22px; font-weight: 800; color: var(--g);}.etech-skill-row{border-top: 1px solid var(--line); padding: 10px 0;}.etech-skill-row:first-of-type{border-top: none;}.etech-conf{border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 700;}.etech-conf.conf-declared{background: #f1f3f2; color: #55635e; border: 1px solid #dfe6e3;}.etech-conf.conf-low{background: #fef7e6; color: #8a6100; border: 1px solid #f3e0a8;}.etech-conf.conf-high{background: #e8f6ee; color: #14532D; border: 1px solid #bfe5cd;}.etech-conf-hint{margin-top: 4px; font-size: 12px;}.etech-tag{display: inline-block; background: #eef4f1; color: #35564c; border: 1px solid #d7e5df; border-radius: 8px; padding: 3px 9px; font-size: 12px;}.etech-tag.ok{background: #e8f6ee; color: #14532D; border-color: #bfe5cd;}.etech-regmap{width: 100%; height: 220px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); margin: 4px 0; z-index: 0;}.etech-regmap .leaflet-container{height: 100%; width: 100%; font: inherit;}.etech-range{width: 100%; margin: 4px 0 6px; accent-color: var(--g);}.etech-policy-sec{border-top: 1px solid var(--line); padding: 12px 0;}.etech-policy-sec:first-of-type{border-top: none;}.etech-policy-sec h3{margin: 0; font-size: 15px; font-weight: 800; color: var(--g);}.etech-policy-body{font-size: 13px; line-height: 1.7; margin-top: 6px;}.etech-policy-body :is(p,ul,ol){margin: 6px 0;}.etech-policy-body ul, .etech-policy-body ol{padding-inline-start: 20px;}.etech-policy-legend{background: #fff7e6; border: 1px solid #ffe1a6; color: #8a5a00; border-radius: 10px; padding: 10px 12px; font-size: 13px; line-height: 1.8; margin: 4px 0 8px;}.etech-ptag{border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 700; white-space: nowrap;}.etech-ptag.ptag-approved{background: #e8f2fb; color: #1466a8; border: 1px solid #bcdcf5;}.etech-ptag.ptag-proposed{background: #fef7e6; color: #8a6100; border: 1px solid #f3e0a8;}.etech-ptag.ptag-legal{background: #f3eefb; color: #6a3ea8; border: 1px solid #ddccf3;}.etech-legal-note{margin: 4px 0; font-size: 12px;}.etech-idhdr{display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #14532D 0%, #147a63 100%); color: #fff; border-radius: 16px; padding: 12px 14px; margin: 0 0 12px; cursor: pointer; box-shadow: 0 4px 16px rgba(15,92,77,.22);}.etech-idhdr:active{transform: scale(.995);}.etech-idhdr-ava{flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.22); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800;}.etech-idhdr-main{flex: 1 1 auto; min-width: 0;}.etech-idhdr-name{font-size: 17px; font-weight: 800; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.etech-idhdr-meta{display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px;}.etech-idhdr-chip{display: inline-flex; align-items: center; gap: 4px; background: rgba(0,0,0,.18); border-radius: 999px; padding: 2px 9px; font-size: 12px; font-weight: 600; white-space: nowrap;}.etech-idhdr-chip.conn.off{opacity: .8;}.etech-idhdr-chip.vbadge{background: #D4A017; color: #141414;}.etech-idhdr-chip .etech-grade-dot{width: 10px; height: 10px; border-radius: 50%; display: inline-block;}.etech-idhdr-chip .etech-dot{width: 8px; height: 8px;}.etech-idhdr-qr{flex: 0 0 auto; width: 52px; height: 52px; border-radius: 8px; background: #fff; padding: 3px; cursor: pointer;}.etech-qrbig{display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 8px 0;}.etech-qrref{margin-top: 18px; border-top: 1px solid #e5e7eb; padding-top: 18px;}.etech-qrbig-img{width: 240px; max-width: 82vw; height: auto; background: #fff; padding: 10px; border-radius: 14px; box-shadow: 0 4px 18px rgba(0,0,0,.08);}.etech-qrurl{font-size: 12px; color: #5a6b67; word-break: break-all; text-align: center; background: #f4f6f5; border-radius: 8px; padding: 8px 10px; width: 100%;}.etech-tabscreen{background: transparent; border: none; padding: 0;}.etech-tabpane{min-height: 40vh;}.etech-tabbar{display: flex; gap: 4px; background: #fff; border-top: 1px solid var(--line); position: fixed; z-index: 20; bottom: 0; left: 0; right: 0; max-width: 560px; margin-inline: auto; padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));}.etech-tabbtn{flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; background: none; border: none; cursor: pointer; padding: 8px 4px; border-radius: 12px; color: var(--muted); font-family: inherit;}.etech-tabbtn .etech-tabicon{font-size: 20px; line-height: 1;}.etech-tabbtn .etech-tablbl{font-size: 12px; font-weight: 700;}.etech-tabbtn.on{background: var(--g); color: #fff;}.etech-workhd{display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-bottom: 12px;}.etech-workhd-id{display: flex; align-items: center; gap: 10px; min-width: 0;}.etech-workhd-ava{flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: var(--g); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800;}.etech-workhd-name{font-size: 16px; font-weight: 800; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.etech-workhd-status{display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); margin-top: 2px;}.etech-conn-btn{flex: 0 0 auto; border: none; border-radius: 999px; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 800; padding: 12px 22px; min-height: 48px; color: #fff; background: var(--g); box-shadow: 0 3px 10px rgba(15,92,77,.25);}.etech-conn-btn.off{background: #1d7a4a;}.etech-conn-btn.on{background: #e8edea; color: #16232b; box-shadow: none; border: 1.5px solid #c3cec9;}.etech-conn-btn:disabled{opacity: .7;}.etech-nearby h3{margin: 0;}.etech-workmap{height: 240px; margin-top: 10px;}.etech-qaask, .etech-qaanswer{background: #f7fbf9;}.etech-qaask h3, .etech-qaanswer h3{color: var(--g); font-size: 15px; margin: 0 0 8px;}.etech-qaask textarea, .etech-qaanswer textarea{margin-top: 8px;}.etech-idn-nudge{cursor: pointer;}.etech-idn-state{font-size: 13px; font-weight: 800;}.etech-idn-state.st-verified{color: #14532D;}.etech-idn-state.st-submitted{color: #8a6100;}.etech-idn-state.st-rejected{color: #c0392b;}.etech-idn-state.st-none{color: var(--muted);}.etech-idn-form{margin-top: 8px;}.etech-idn-check{display: flex; align-items: center; gap: 8px; margin: 6px 0; font-size: 14px;}.etech-idn-check input{width: 24px; height: 24px; flex: 0 0 auto;}.etech-idn-lbl{display: block; font-size: 13px; font-weight: 700; margin: 10px 0 4px;}.etech-idn-doc{display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; margin-top: 8px; border: 1px solid var(--line, #e3ece9); border-radius: 10px; background: #f7fbf9;}.etech-idn-req{font-size: 12px; color: var(--muted);}.etech-idn-ok{font-size: 12px; color: #14532D; font-weight: 700;}.etech-idn-home{margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line, #e3ece9);}.etech-idn-priv{display: inline-block; font-size: 11px; font-weight: 600; color: #7a5b00; background: #fff6e0; border-radius: 6px; padding: 1px 6px; margin-inline-start: 6px;}.etech-trust{display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px;}.etech-trust-chip{font-size: 12px; padding: 3px 9px; border-radius: 999px; background: #eef3f0; color: #345; line-height: 1.6;}.etech-trust-chip.ok{background: #e8f6ee; color: #14532D;}.etech-trust-chip.verified{background: #dcefe4; color: #14532D; font-weight: 600;}.etech-trust-chip.warn{background: #fff3d6; color: #8a6100;}.etech-errboundary{text-align: center; padding: 32px 20px; margin: 16px auto; max-width: 420px;}.etech-errboundary-icon{font-size: 40px; line-height: 1; margin-bottom: 10px;}.etech-errboundary-title{font-size: 18px; font-weight: 700; color: #a12d1f; margin: 6px 0;}.etech-errboundary-sub{font-size: 14px; color: #556; margin: 6px 0 16px; line-height: 1.7;}.etech-btn{transition: transform .06s ease, opacity .15s ease;}.etech-btn:active:not(:disabled){transform: scale(.97);}.etech-btn:disabled{cursor: not-allowed;}.etech-conn-btn, .etech-tabbtn{transition: transform .06s ease;}.etech-conn-btn:active:not(:disabled), .etech-tabbtn:active{transform: scale(.97);}.etech-link:active{opacity: .6;}.etech-app > .etech-alert{position: sticky; top: 60px; z-index: 6;}.etech-hd .etech-link{color: #fff;}.etech-hd .etech-logout{text-decoration: none; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; padding: 8px 14px; font-weight: 600;}.etech-hd .etech-logout:active{opacity: .6;}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important; transition-duration:.01ms!important;scroll-behavior:auto!important}}.etech-danger{margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line);}.etech-danger-note{margin: 0 0 8px; font-size: 13px; color: var(--muted);}.etech-danger-btn{color: #b91c1c; border-color: #e6b8b8;}.etech-app button, .etech-app input, .etech-app select, .etech-app textarea{font-family: inherit;}.etech-app .etech-btn{min-height: 44px;}