:root{--nav:#1f2d3d;--nav2:#142335;--blue:#1b5f9e;--cyan:#17a2b8;--bg:#f4f6f9;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e4e8ef;--sidebar:250px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.header{height:70px;background:var(--nav);color:#fff;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:2000;box-shadow:0 1px 6px #0003}.brand{width:var(--sidebar);height:70px;background:var(--nav2);display:flex;align-items:center;padding:0 24px;font-size:21px;font-weight:700}.brand small{font-size:11px;font-weight:400;display:block;color:#b7c2cf}.header-title{padding-left:24px;font-size:15px}.status-pill{margin-left:auto;margin-right:24px;border-radius:18px;padding:7px 13px;background:#2d4158;font-size:12px}.status-pill.ok{background:#17815e}.status-pill.error{background:#a83c3c}.sidebar{position:fixed;top:70px;bottom:0;left:0;width:var(--sidebar);background:var(--nav);color:#dbe4ef;z-index:15;overflow:auto}.sidebar-section{padding:18px 18px 8px;color:#8293a7;font-size:11px;font-weight:700;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 22px;font-size:14px;border-left:3px solid transparent}.nav-item:hover,.nav-item.active{background:#273b52;color:#fff;border-left-color:#38a7e5}.nav-icon{width:20px;text-align:center}.main-container{margin-left:var(--sidebar);padding:94px 22px 30px}.page-header{background:#fff;border-radius:7px;padding:20px 24px;margin-bottom:22px;box-shadow:0 1px 5px #00000012}.page-header h4{margin:0 0 8px;font-size:20px}.breadcrumb{font-size:12px;color:#7b8794}.card-box{background:#fff;border-radius:7px;margin-bottom:24px;box-shadow:0 1px 5px #00000012}.pd-20{padding:20px}.pb-20{padding:0 20px 20px}.text-blue{color:var(--blue)}.h4{font-size:18px;margin:0}.row{display:flex;flex-wrap:wrap;gap:12px}.form-control,.form-text,select,input,textarea{border:1px solid #d9dee7;border-radius:5px;padding:9px 10px;background:#fff;font:inherit}.btn{border:0;border-radius:5px;padding:9px 14px;font-weight:600;cursor:pointer}.btn-primary{background:#1b5f9e;color:#fff}.btn-secondary{background:#64748b;color:#fff}.btn-success{background:#198754;color:#fff}.btn-danger{background:#dc3545;color:#fff}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.toolbar .field{display:flex;flex-direction:column;gap:5px}.toolbar label{font-size:12px;font-weight:600;color:#556273}.chart-wrap{height:410px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px}.chart-wrap svg{width:100%;height:100%}.legend{display:flex;flex-wrap:wrap;gap:12px;padding:8px 4px;font-size:12px}.legend span:before{content:'●';margin-right:5px}.table-responsive{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{background:#f6f8fb;text-align:left;border-bottom:2px solid #e4e8ef;padding:12px;white-space:nowrap}.table td{padding:11px 12px;border-bottom:1px solid #edf0f4;white-space:nowrap}.table tr:hover td{background:#fafcff}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;background:#e7eef7;color:#284761}.badge.ok{background:#ddf4ea;color:#146c43}.badge.warn{background:#fff2cf;color:#946200}.badge.alarm{background:#f9d9dc;color:#a11a27}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panel-title{font-weight:700;margin:0 0 12px}.muted{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600}.form-group.full{grid-column:1/-1}.notice{border-left:4px solid #1b5f9e;background:#edf5fc;padding:12px 14px;border-radius:4px;margin-bottom:16px;font-size:13px}.notice.warning{border-left-color:#d79000;background:#fff6df}.modal-backdrop{display:none;position:fixed;inset:0;background:#0007;z-index:50;align-items:center;justify-content:center}.modal-backdrop.show{display:flex}.modal{width:min(720px,92vw);max-height:90vh;overflow:auto;background:#fff;border-radius:8px}.modal-header{padding:16px 20px;border-bottom:1px solid #e6e8ec;display:flex;justify-content:space-between}.modal-body{padding:20px}.modal-footer{padding:14px 20px;border-top:1px solid #e6e8ec;text-align:right}.kpi{padding:16px}.kpi .value{font-size:24px;font-weight:800;color:var(--blue)}.kpi .label{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:2px;border-bottom:1px solid #dfe4ea;margin-bottom:16px}.tab{padding:10px 15px;background:#eef2f6;cursor:pointer;border-radius:5px 5px 0 0}.tab.active{background:#1b5f9e;color:#fff}@media(max-width:900px){
:root{--sidebar:0px}
.header{height:70px;padding:0 10px;gap:8px}
.mobile-nav-toggle{display:inline-flex}
.brand{width:auto;min-width:0;height:70px;padding:0 8px;font-size:18px;flex:0 1 auto;overflow:hidden}
.brand-text{white-space:nowrap}
.brand-subtitle{display:none}
.header-title{display:none}
.header-actions{margin-left:auto;gap:7px;min-width:0}
.header-actions .header-link{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-actions .btn{padding:7px 9px!important}
.language-select{max-width:68px}
.sidebar{display:block;top:70px;width:min(82vw,320px);transform:translateX(-105%);transition:transform .22s ease;z-index:2600;box-shadow:8px 0 24px #0003}
.mobile-nav-open .sidebar{transform:translateX(0)}
.mobile-nav-overlay{display:block;position:fixed;inset:70px 0 0 0;background:#0007;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;z-index:2500}
.mobile-nav-open .mobile-nav-overlay{opacity:1;visibility:visible;pointer-events:auto}
.mobile-nav-open{overflow:hidden}
.main-container{margin-left:0;padding:88px 12px 24px}
.grid-2,.grid-3,.form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
.header{padding:0 6px;gap:4px}
.mobile-nav-toggle{width:38px;height:38px;font-size:22px}
.brand{padding:0 4px;font-size:16px}
.header-actions{gap:4px}
.header-actions .header-link{max-width:58px;padding:7px 8px}
.header-actions .btn{padding:6px 8px!important;font-size:12px}
.notification-bell{width:38px;height:38px}
.language-select{padding:5px 6px;max-width:62px}
.main-container{padding-left:10px;padding-right:10px}
}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px;margin-right:24px}.header-actions .status-pill{margin:0}.header-link{font-size:12px;color:#dbe4ef;padding:7px 10px;border-radius:15px;background:#2d4158}.map-shell{height:clamp(700px,76vh,900px);min-height:700px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.layout-stage{position:relative;display:inline-block;max-width:100%;min-width:600px;border:1px solid var(--border);background:#e8edf2}.layout-stage img{display:block;max-width:100%;height:auto}.layout-marker{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#1b5f9e;border:3px solid #fff;box-shadow:0 1px 6px #0006;cursor:pointer}.layout-marker.warn{background:#d79000}.layout-marker.alarm{background:#c82333}.layout-label{position:absolute;transform:translate(-50%,6px);background:#18293dcc;color:#fff;border-radius:3px;padding:3px 6px;font-size:10px;white-space:nowrap;pointer-events:none}.split{display:grid;grid-template-columns:330px 1fr;gap:18px}.scroll-panel{max-height:620px;overflow:auto}.warning-row-unacked td{font-weight:650;background:#fff9ee}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef2f6}.login-card{width:min(420px,92vw);background:#fff;border-radius:9px;box-shadow:0 8px 30px #0002;padding:28px}.login-card h2{margin:0 0 6px;color:#1f2d3d}.account-chip{display:inline-flex;gap:5px;align-items:center;padding:3px 7px;border:1px solid #d9dee7;border-radius:12px;font-size:11px;margin:2px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.clickable{cursor:pointer}.empty{padding:25px;text-align:center;color:var(--muted)}@media(max-width:1000px){.split{grid-template-columns:1fr}.map-shell{height:clamp(520px,68vh,700px);min-height:520px}.layout-stage{min-width:0;width:100%}}
/* V2.7 workflow + map */
.readonly-panel{background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:14px}.readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.readonly-item{display:flex;flex-direction:column;gap:4px}.readonly-item b{font-size:11px;color:#64748b;text-transform:uppercase}.readonly-item span{font-size:13px;word-break:break-word}.locked-note{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.locked-note:before{content:'🔒'}.hidden{display:none!important}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.summary-list{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:6px}.summary-list .summary-row{padding:10px 12px;border-bottom:1px solid var(--border)}.summary-list .summary-row:last-child{border-bottom:0}.summary-row .title{font-weight:700}.summary-row .meta{font-size:11px;color:var(--muted);margin-top:3px}.map-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px}.map-legend .item{display:flex;align-items:center;gap:6px}.map-dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid #fff;box-shadow:0 0 0 1px #aaa}.map-dot.normal{background:#198754}.map-dot.alert{background:#d79000}.map-dot.alarm{background:#c82333}.map-dot.offline{background:#6b7280}.badge.offline{background:#e5e7eb;color:#4b5563}.source-actions{display:flex;gap:8px;flex-wrap:wrap}.edit-banner{border-left:4px solid #d79000;background:#fff8e7;padding:10px 12px;border-radius:4px;margin:10px 0;font-size:12px}.role-help{font-size:12px;color:var(--muted);margin:4px 0 12px}.access-label{font-size:11px;color:var(--muted);margin-left:6px}.disabled-look{opacity:.7;pointer-events:none}.leaflet-control-layers{font-size:12px}@media(max-width:900px){.readonly-grid,.summary-grid{grid-template-columns:1fr}}

/* V2.9 multi-sensor chart */
.sensor-field{min-width:210px}.sensor-picker{position:relative;min-width:210px}.sensor-picker summary{list-style:none;border:1px solid #d9dee7;border-radius:5px;padding:9px 10px;background:#fff;cursor:pointer;min-height:38px}.sensor-picker summary::-webkit-details-marker{display:none}.sensor-menu{position:absolute;z-index:40;top:44px;left:0;width:320px;max-width:80vw;background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:0 10px 30px #0002;padding:10px}.sensor-menu-actions{display:flex;gap:8px;margin-bottom:8px}.btn-small{padding:6px 9px;font-size:11px}.sensor-options{max-height:280px;overflow:auto}.sensor-check{display:flex;align-items:center;gap:8px;padding:7px 5px;border-bottom:1px solid #f0f2f5;cursor:pointer}.sensor-check small{color:var(--muted)}.chart-wrap{position:relative}.chart-tooltip{position:absolute;z-index:10;min-width:210px;max-width:300px;background:#111827eF;color:#fff;padding:9px 11px;border-radius:6px;font-size:12px;pointer-events:none;box-shadow:0 8px 24px #0003}.chart-tooltip b{display:block;margin-bottom:6px}.chart-tooltip div{display:flex;align-items:center;gap:6px;margin:4px 0}.chart-tooltip i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.legend span:before{color:var(--legend-color,#1b5f9e)}.chart-hint{margin-top:8px}.chart-wrap svg{cursor:crosshair}@media(max-width:900px){.sensor-menu{position:fixed;left:5vw;right:5vw;top:120px;width:90vw;max-width:none}}

/* V2.14 */
.language-select{border:1px solid #51657b;background:#2d4158;color:#fff;border-radius:14px;padding:5px 8px}.gms-footer{margin-left:var(--sidebar);padding:15px 22px 24px;text-align:center;color:#7b8794;font-size:11px}.login-footer{margin-top:22px;padding-top:14px;border-top:1px solid #e5e7eb;text-align:center;font-size:11px;color:#7b8794}.profile-grid{display:grid;grid-template-columns:230px 1fr;gap:24px}.avatar-box{width:180px;height:180px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 2px 12px #0002;background:#e5e7eb}.avatar-box img{width:100%;height:100%;object-fit:cover}.zoom-selection{fill:#3b82f633;stroke:#2563eb;stroke-width:1}.chart-toolbar-note{font-size:11px;color:#64748b}@media(max-width:900px){.gms-footer{margin-left:0}.profile-grid{grid-template-columns:1fr}.avatar-box{margin:auto}}

/* V2.15 Project Layout: view-first monitoring mode */
.layout-view-toolbar .toolbar{align-items:end}.layout-editor-shell{grid-template-columns:minmax(300px,380px);margin:0 0 18px}.layout-canvas-card{overflow:hidden}.layout-canvas-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.layout-meta{margin:0 0 12px;padding:9px 12px;border:1px solid var(--border);background:#fffdf1;border-radius:6px;font-size:12px;display:flex;gap:18px;align-items:center}.layout-meta span{color:var(--muted)}.layout-stage{min-width:0;width:max-content;max-width:100%;margin:0 auto;overflow:visible}.layout-stage img{max-width:min(100%,1400px)}.layout-stage.editing{outline:2px dashed #315aa0;outline-offset:3px}.layout-sensor{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;z-index:3}.layout-stage.editing .layout-sensor{cursor:move}.layout-sensor .layout-marker{position:relative;left:auto!important;top:auto!important;transform:none;flex:0 0 auto}.layout-live-label{background:#17324ee8;color:#fff;border-radius:5px;padding:5px 8px;min-width:92px;box-shadow:0 1px 5px #0004;white-space:nowrap;pointer-events:none;border-left:4px solid #4aa564}.layout-live-label.warn{border-left-color:#d79000}.layout-live-label.alarm{border-left-color:#c82333}.layout-live-label.offline{border-left-color:#7b8794}.layout-live-name{font-size:10px;opacity:.9;line-height:1.05}.layout-live-value{font-size:12px;font-weight:700;line-height:1.25;margin-top:2px}.layout-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.layout-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#4aa564}.legend-dot.warn{background:#d79000}.legend-dot.alarm{background:#c82333}.legend-dot.offline{background:#7b8794}@media(max-width:700px){.layout-live-label{min-width:70px;padding:4px 6px}.layout-live-value{font-size:10px}.layout-legend{display:none}}
.brand{overflow:hidden;gap:8px}.brand-logo{max-width:100%;max-height:50px;object-fit:contain;display:block}.brand-text{white-space:nowrap}.brand-subtitle{margin-left:2px}.branding-preview{min-height:90px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:6px;background:#fafcff;padding:12px}.branding-preview img{max-width:100%;max-height:100px;object-fit:contain}.branding-controls{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.branding-controls .span-all{grid-column:1/-1}@media(max-width:900px){.branding-controls{grid-template-columns:1fr}.branding-controls .span-all{grid-column:auto}.brand-logo{max-width:180px}}
.sensor-check.sensor-no-data{opacity:.72}.sensor-check .no-data-tag{margin-left:6px;padding:2px 6px;border-radius:10px;background:#f3e7df;color:#8a4f3d;font-size:10px;font-weight:600;white-space:nowrap}

/* V2.21 header notifications + service contact polish */
.brand-text-white{color:#fff!important;letter-spacing:.3px}
.notification-wrap{position:relative;display:flex;align-items:center}.notification-bell{position:relative;border:0;background:#2d4158;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:17px}.notification-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#dc3545;color:#fff;font-size:10px;line-height:18px;text-align:center;font-weight:700}.notification-panel{position:absolute;right:0;top:46px;width:min(390px,92vw);max-height:520px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 38px #0003;overflow:hidden;z-index:2100}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:#f8fafc}.link-button{border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:12px}.notification-list{max-height:450px;overflow:auto}.notification-item{padding:12px 14px;border-bottom:1px solid #edf0f4;cursor:pointer}.notification-item.unread{background:#f1f7fd}.notification-item:hover{background:#f8fafc}.notification-item small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.notification-item p{margin:6px 0;font-size:12px;white-space:normal}.notification-item.warning{border-left:4px solid #dc3545}.notification-item.attention{border-left:4px solid #d79000}.notification-item.notice{border-left:4px solid #1b5f9e}.notification-chart{display:inline-block;color:var(--blue);font-size:11px;font-weight:700}.notification-empty{padding:24px;text-align:center;color:var(--muted);font-size:12px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:start}.contact-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:18px}.contact-info>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#fafcff}.contact-info b{font-size:11px;color:#64748b;text-transform:uppercase}.contact-info span{font-size:13px;white-space:normal;overflow-wrap:anywhere}.contact-grid .form-grid{grid-template-columns:1fr 1fr;margin-top:12px}.contact-grid .field,.branding-controls .field{display:flex;flex-direction:column;gap:6px}.contact-grid .field label,.branding-controls .field label{font-size:12px;font-weight:600}.span-2{grid-column:1/-1}.contact-map-empty{min-height:420px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden}.contact-map-empty iframe{width:100%;height:420px;border:0;display:block}.contact-grid textarea,.contact-grid input{width:100%}#contact-modal.modal{display:none;position:fixed;inset:0;width:auto;max-width:none;max-height:none;border-radius:0;background:#0007;z-index:90;align-items:center;justify-content:center;overflow:auto}#contact-modal.modal.show{display:flex}#contact-modal .modal-dialog{width:min(760px,94vw);background:#fff;border-radius:8px;padding:0 20px 20px;box-shadow:0 18px 48px #0004}#contact-modal .form-grid{padding-top:16px}.icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer}.manual-opt.hidden,.automatic-opt.hidden{display:none!important}
@media(max-width:1000px){.contact-grid{grid-template-columns:1fr}.contact-map-empty,.contact-map-empty iframe{min-height:320px;height:320px}}@media(max-width:700px){.contact-info,.contact-grid .form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.notification-panel{position:fixed;right:4vw;top:76px;width:92vw}}

/* V2.23 Data Monitoring tabs */
.monitor-tabs{display:flex;gap:8px;margin:0 0 14px;padding:0 2px;border-bottom:1px solid var(--border)}.monitor-tab{border:0;border-bottom:3px solid transparent;background:transparent;color:#526273;font-weight:700;padding:10px 16px;cursor:pointer}.monitor-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.monitor-tab.hidden{display:none!important}#profile-pane.hidden,#timeseries-pane.hidden{display:none!important}@media(max-width:700px){.monitor-tabs{overflow:auto}.monitor-tab{white-space:nowrap}}

.map-dot.action{background:#7f1d1d}.map-popup-sensor{line-height:1.45}.leaflet-popup-content hr{border:0;border-top:1px solid #e5e7eb;margin:9px 0}

.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #51657b;border-radius:8px;background:#2d4158;color:#fff;font-size:24px;line-height:1;cursor:pointer;flex:0 0 auto}.mobile-nav-overlay{display:none}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-link{display:inline-flex;align-items:center;border-radius:16px;padding:7px 11px;background:#2d4158;color:#fff}.notification-bell{position:relative;border:0;background:#2d4158;color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:20px}

/* V2.24.19 mobile off-canvas navigation final overrides */
@media(max-width:900px){
  .mobile-nav-toggle{display:inline-flex!important}
  .mobile-nav-overlay{display:block}
  .sidebar{display:block!important;top:70px;width:min(82vw,320px);transform:translateX(-105%);transition:transform .22s ease;z-index:2600;box-shadow:8px 0 24px #0003}
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  body.mobile-nav-open .mobile-nav-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .header{padding:0 10px;gap:8px}
  .brand{width:auto;min-width:0;padding:0 8px;font-size:18px;flex:0 1 auto}
  .brand-subtitle{display:none}
  .header-title{display:none}
  .header-actions{margin-left:auto;margin-right:0;gap:7px;min-width:0}
  .main-container{margin-left:0;padding:88px 12px 24px}
}
@media(max-width:520px){
  .header{padding:0 6px;gap:4px}
  .mobile-nav-toggle{width:38px;height:38px;font-size:22px}
  .brand{font-size:16px;padding:0 4px;max-width:180px}
  .header-actions{gap:4px}
  .header-actions .header-link{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 8px}
  .header-actions .btn{padding:6px 8px!important;font-size:12px}
  .notification-bell{width:38px;height:38px}
  .language-select{max-width:62px;padding:5px 6px}
}

/* V2.24.23 - Global project selector */
.header-project-switcher{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:260px;max-width:430px}
.header-project-label{font-size:12px;color:#c7d2df;font-weight:600;white-space:nowrap}
.global-project-select{width:100%;min-width:190px;max-width:330px;border:1px solid #51657b;background:#fff;color:#1f2937;border-radius:5px;padding:8px 30px 8px 10px;font:inherit;font-size:13px;font-weight:700}
.header-project-switcher+.header-actions{margin-left:14px}
.gms-local-project-field{display:none!important}
@media(max-width:1100px){.header-title{display:none}.header-project-switcher{min-width:210px;max-width:300px}.global-project-select{min-width:160px}}
@media(max-width:900px){
  .header-project-switcher{order:3;position:absolute;left:10px;right:10px;top:70px;max-width:none;min-width:0;background:#fff;padding:8px 10px;border-bottom:1px solid #dfe4ea;box-shadow:0 2px 5px #0001;z-index:1990}
  .header-project-label{color:#556273}
  .global-project-select{max-width:none;min-width:0;width:100%;padding:8px 30px 8px 10px}
  .main-container{padding-top:134px}
  .sidebar{top:126px}
}
@media(max-width:480px){.header-project-label{display:none}.header-project-switcher{left:0;right:0;padding:7px 10px}.main-container{padding-top:130px}.sidebar{top:124px}}

/* V2.24.41 - dual inclinometer profile comparison */
.profile-dual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.profile-panel{min-width:0}
.profile-panel-title{text-align:center;font-weight:700;color:#1f4f82;margin:0 0 7px;font-size:15px}
.profile-chart-tall{height:760px;border:1px solid #e5dfc9;border-radius:8px;background:#fff;position:relative;overflow:hidden}
.profile-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:8px;min-height:27px}
.profile-legend button{border:0;background:transparent;padding:2px 4px;cursor:pointer;font-size:12px;color:#374151}
.profile-legend button.off{text-decoration:line-through;opacity:.45}
.profile-legend-swatch{display:inline-block;width:20px;height:3px;vertical-align:middle;margin-right:5px;border-radius:2px}
.compare-field{min-width:280px}.compare-picker{min-width:280px}.compare-menu{max-height:360px;overflow:auto}.compare-options label{display:flex;align-items:center;gap:8px;padding:5px 8px;white-space:nowrap}
@media(max-width:1100px){.profile-dual-grid{grid-template-columns:1fr}.profile-chart-tall{height:650px}}
@media(max-width:650px){.profile-chart-tall{height:560px}.compare-field,.compare-picker{min-width:220px}}

.profile-hover-tooltip{position:absolute;z-index:20;pointer-events:none;background:rgba(17,24,39,.94);color:#fff;padding:8px 10px;border-radius:7px;font-size:12px;line-height:1.45;box-shadow:0 6px 18px rgba(0,0,0,.2);min-width:175px;display:none;white-space:nowrap}.profile-hover-tooltip strong{font-weight:700}.profile-hover-tooltip .muted-line{color:#d1d5db}.profile-point-hit{cursor:crosshair;pointer-events:all}.profile-line-hit{cursor:crosshair;pointer-events:stroke}
