
  * { 
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; 
  }
  html { overscroll-behavior-y: none; }
  body { 
      margin: 0; padding: 0; background: var(--tsp-page-bg, #2A2D33);    touch-action: pan-y; -webkit-font-smoothing: antialiased; overflow-y: hidden; 
      -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; 
  }
  .custom-modal-box, input, textarea, #search-input {
      -webkit-user-select: text !important;
      -moz-user-select: text !important;
      -ms-user-select: text !important;
      user-select: text !important;
  }
  html body :is(#dp-sheet, .jcv, .custom-modal-box, [id$="-modal"], .tsp-dock, #tsp-msd-wrap) { -webkit-user-select: text; user-select: text; }
  html body :is(#dp-sheet, .jcv, .custom-modal-box, [id$="-modal"], .tsp-dock, #tsp-msd-wrap) :is(button, [role=button], svg, img, .icon-btn, .drag-handle, .grip, [data-grip], .pm-sw, select) { -webkit-user-select: none; user-select: none; }
  .card .row-top,            
  .card .addr-wrapper,        
  .card .meta-row,            
  .card .note-wrapper,        
  .card .ticket, .card .model, .card .addr, .card .phone-text, 
  .card .symptom-display, .card .note-display, .card .price-tag {
      -webkit-user-select: text !important;
      -moz-user-select: text !important;
      -ms-user-select: text !important;
      user-select: text !important;
      cursor: text; 
  }
  .card.read-only-mode .symptom-display,
  .card.read-only-mode .note-display {
      pointer-events: auto !important; 
  }
  .no-copy-zone, 
  .card .addr svg,
  .card .time svg,
  .card .contact-container svg {
      pointer-events: none !important;
  }
.custom-modal-overlay, 
.image-modal-overlay, 
#card-modal-backdrop, 
.mh-popover, 
.mh-right-click-menu,
.custom-modal-box {
    overscroll-behavior-y: contain !important;
}
  .card svg, 
  .card .ai-badge, .card .brand-badge, .card .type-badge,
  .card .status-btn, .card .sum-status, .card .pay-badge, .card .icon-btn,
  .header, .live-calendar, .map-header-btn, .menu-btn, .job-counter-box, 
  #tech-filter-box, .dropdown-menu, .tech-group-header,
  .search-wrapper svg, .search-icon-pos, #search-clear-btn,
  #search-input::placeholder, .no-copy-zone 
  {
      -webkit-user-select: none !important;
      -moz-user-select: none !important;
      -ms-user-select: none !important;
      user-select: none !important;
  }
  .container { 
      height: 100vh; 
      height: 100dvh;   
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0; box-sizing: border-box; position: relative; 
  }
  #main-container {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      width: 100vw !important;
      height: 100vh !important;
      height: 100dvh !important;   
      overflow: hidden !important;
  }
  body.is-card-dragging * {
      user-select: none !important;
      -webkit-user-select: none !important;
      -webkit-user-drag: none !important;
  }
  .custom-modal-overlay, #job-editor-modal, #admin-modal { z-index: 10000 !important; }
  #custom-modal-overlay { z-index: 2147482000 !important; }   
  #price-input-modal, #symptom-modal, #tech-note-modal { z-index: 30000 !important; }
  .pac-container { z-index: 999990 !important; } 
  html body .pac-container { margin-top: 6px; padding: 0; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 12px 30px rgba(15,23,42,.14); overflow: hidden; font-family: Inter, sans-serif; background: #fff; }
  html body .pac-container::before { content: 'ADDRESS SUGGESTIONS'; display: block; padding: 9px 14px; background: #f8fafc; border-bottom: 1px solid #eef1f5; font: 800 10px/1.2 Inter, sans-serif; letter-spacing: .08em; color: #64748b; }
  html body .pac-container .pac-item { display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 14px; border-top: 1px solid #f1f5f9; line-height: 1.35; font: 500 12.5px Inter, sans-serif; color: #64748b; cursor: pointer; white-space: nowrap; overflow: hidden; }
  html body .pac-container .pac-item:first-of-type { border-top: 0; }
  html body .pac-container .pac-item > span:last-child { grid-column: 2; grid-row: 2; overflow: hidden; text-overflow: ellipsis; }
  html body .pac-container .pac-icon { grid-column: 1; grid-row: 1 / 3; width: 28px; height: 28px; margin: 0; border-radius: 8px; background: #f1f5f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2364748b' d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / 15px no-repeat; }
  html body .pac-container .pac-item-query { grid-column: 2; grid-row: 1; padding: 0; font: 700 14px Inter, sans-serif; color: #0f172a; overflow: hidden; text-overflow: ellipsis; }
  html body .pac-container .pac-matched { font-weight: 800; }
  html body .pac-container :is(.pac-item:hover, .pac-item-selected) { background: #f5f7ff; }
  html body .pac-container :is(.pac-item:hover, .pac-item-selected) .pac-icon { background: #e0e7ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233730a3' d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / 15px no-repeat; }
  html body .pac-container.pac-logo::after { margin: 0; padding: 6px 12px; height: 16px; border-top: 1px solid #f1f5f9; background-position: right 12px center; }
  #top-progress-bar, #pull-loader { z-index: 50000 !important; }
  #job-quick-edit-modal { z-index: 80000 !important; }
  #model-mapping-modal { z-index: 90000 !important; }
  #date-picker-overlay, .ui-datepicker, .flatpickr-calendar, .pika-single, .xdsoft_picker { z-index: 999999 !important; position: absolute !important;}
  .custom-modal-box {  
    background: white; padding: 30px 25px; border-radius: 20px; 
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);  
    max-width: 340px; width: 85%; margin: 0; text-align: center; 
    position: relative; box-sizing: border-box; max-height: 90vh; 
    overflow-y: auto; animation: commonPopIn 0.25s ease-out; 
    -webkit-font-smoothing: antialiased !important;
  }
  @keyframes commonPopIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
  .custom-modal-overlay { 
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; height: 100dvh; 
    background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); 
    z-index: 70000; padding: 0; margin: 0; display: none; 
    flex-direction: column; align-items: center; justify-content: center; overflow-y: auto;
  }
  .custom-modal-overlay.show-modal { display: flex !important; }
  .custom-modal-box h3 { margin-top: 0; margin-bottom: 12px; font-size: 1.35em; color: #1e293b; font-weight: 900; text-align: center !important; letter-spacing: -0.5px; }
  .custom-modal-box p { margin-bottom: 25px; font-size: 1em; color: #475569; line-height: 1.5; font-weight: 600; word-break: keep-all; }
  #confirm-only-btn { width: 100%; padding: 15px; border-radius: 12px; background: #3b82f6 !important; color: white !important; font-weight: 800; border: none; cursor: pointer; font-size: 1.05em; transition: transform 0.1s; }
  #confirm-only-btn:active { transform: scale(0.96); background: #2563eb !important; }
  .custom-button-group { display: flex; gap: 10px; }
  .custom-button-group button { flex: 1; padding: 14px; border-radius: 12px; cursor: pointer; font-size: 1.05em; font-weight: 800; border: none; transition: transform 0.1s; white-space: nowrap; letter-spacing: -0.2px; }
  .custom-button-group button:active { transform: scale(0.96); }
  .confirm-btn { background: #3b82f6 !important; color: white !important; box-shadow: 0 4px 12px rgba(59,130,246,0.3); }
  .cancel-btn { background: #f1f5f9 !important; color: #475569 !important; }
  @media (max-width: 600px) {
      #job-editor-modal.custom-modal-overlay, #admin-modal.custom-modal-overlay, .custom-modal-overlay { padding: 0 !important; }
      #job-editor-modal .custom-modal-box, #admin-modal .custom-modal-box, .custom-modal-box { 
          width: 95% !important; max-width: 95% !important; margin: 0 !important; max-height: 85vh !important;
      }
  }
  #tech-filter-box .box-btn.tsp-sec-alert { position:relative; background:#fee2e2 !important; border-color:#fca5a5 !important; animation:tspSecPulse 1.6s ease-in-out infinite; }
  #tech-filter-box .box-btn.tsp-sec-alert svg { fill:#dc2626 !important; }
  #tech-filter-box .box-btn.tsp-sec-alert:not(.on) { display:none !important; }
  .tsp-sec-alert .tsp-sec-n { position:absolute; top:-7px; right:-7px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:#dc2626; color:#fff; font-size:10px; font-weight:800; line-height:17px; text-align:center; box-shadow:0 0 0 2px #fff; }
  #tech-filter-box .box-btn.tsp-doc-alert { position:relative; }
  #tech-filter-box .box-btn.tsp-doc-alert:not(.on) { display:none !important; }
  #tech-filter-box .box-btn.tsp-doc-alert.lv-y { background:#fef9c3 !important; border-color:#fde047 !important; } #tech-filter-box .box-btn.tsp-doc-alert.lv-y svg { fill:#a16207 !important; }
  #tech-filter-box .box-btn.tsp-doc-alert.lv-o { background:#ffedd5 !important; border-color:#fdba74 !important; } #tech-filter-box .box-btn.tsp-doc-alert.lv-o svg { fill:#c2410c !important; }
  #tech-filter-box .box-btn.tsp-doc-alert.lv-r, #tech-filter-box .box-btn.tsp-doc-alert.lv-x { background:#fee2e2 !important; border-color:#fca5a5 !important; } #tech-filter-box .box-btn.tsp-doc-alert.lv-r svg, #tech-filter-box .box-btn.tsp-doc-alert.lv-x svg { fill:#b91c1c !important; }
  #tech-filter-box .box-btn.tsp-doc-alert.lv-x { animation:tspSecPulse 1.6s ease-in-out infinite; }
  .tsp-doc-alert .tsp-sec-n { position:absolute; top:-7px; right:-7px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:#b45309; color:#fff; font-size:10px; font-weight:800; line-height:17px; text-align:center; box-shadow:0 0 0 2px #fff; }
  .tsp-doc-alert.lv-r .tsp-sec-n, .tsp-doc-alert.lv-x .tsp-sec-n { background:#dc2626; }
  @keyframes tspSecPulse { 0%,100% { box-shadow:0 0 0 0 rgba(220,38,38,.45); } 50% { box-shadow:0 0 0 6px rgba(220,38,38,0); } }
  #login-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #2c3e50; z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; color: white; }
  .login-box { text-align: center; width: 85%; max-width: 320px; display: flex; flex-direction: column; gap: 15px; }
  .login-box h2 { margin-bottom: 20px; font-weight: 800; font-size: 1.6em; color: #ecf0f1; }
  .login-input { width: 100%; padding: 14px; border-radius: 12px; border: none; font-size: 1.1em; text-align: center; outline: none; box-sizing: border-box; background: white; color: #333; }
  .login-btn { width: 100%; padding: 14px; border-radius: 12px; border: none; background: #3498db; color: white; font-size: 1.1em; font-weight: 800; cursor: pointer; box-sizing: border-box; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
  .login-btn:active { transform: scale(0.98); background: #2980b9; }
  .svg-icon { width: 1.1em; height: 1.1em; vertical-align: text-bottom; fill: currentColor; display: inline-block; }
  .svg-icon-sm { width: 0.9em; height: 0.9em; vertical-align: middle; fill: currentColor; display: inline-block; }
  .svg-spin { animation: spin 1s linear infinite; transform-origin: center; }
  @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
  #status, #sync-overlay, #loader { display: none !important; }
  #top-progress-bar { position: fixed; top: 0; left: 0; width: 100%; height: 3px; background-color: transparent; z-index: 99999; overflow: hidden; display: none; }
  #top-progress-bar .bar { width: 100%; height: 100%; background-color: #3498db; transform: translateX(-100%); animation: loading-animation 1.5s infinite linear; }
  @keyframes loading-animation { 0% { transform: translateX(-100%); } 50% { transform: translateX(0%); } 100% { transform: translateX(100%); } }
  #pull-loader { position: fixed; top: -60px; left: 50%; transform: translateX(-50%); width: 45px; height: 45px; background: white; border-radius: 50%; box-shadow: 0 4px 15px rgba(0,0,0,0.25); display: flex; align-items: center; justify-content: center; z-index: 1000000 !important; pointer-events: none; }
  #pull-spinner-icon { width: 26px; height: 26px; fill: #000000 !important; }
  @keyframes spin-android { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
  html, body { overscroll-behavior-y: none; }
  .je-modal-body, .custom-modal-overlay, .image-modal-overlay, #job-quick-edit-modal, #est-editor-modal, #cx-modal, #cx-modal .cx-box, #snh-modal, .snh-body, #zelle-modal, .zl-box { overscroll-behavior: contain; }
  .pull-refreshing #pull-spinner-icon { animation: spin-android 0.7s infinite linear !important; }
  .header { 
      display: flex; justify-content: space-between; align-items: center; gap: 8px; 
      z-index: 60000 !important; background: #2c3e50; margin: 0; 
      padding: 10px 12px; width: 100%; box-sizing: border-box; box-shadow: 0 4px 15px -5px rgba(0,0,0,0.2); 
      flex-shrink: 0;
  }
  .live-calendar, .map-header-btn, .job-counter-box, .menu-btn { 
    width: 44px; height: 44px; background: white; border-radius: 12px; border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.08); 
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    flex-shrink: 0; cursor: pointer; transition: transform 0.1s;
    margin: 0 !important; padding: 0; box-sizing: border-box;
  }
  .live-calendar:active, .map-header-btn:active, .menu-btn:active { transform: scale(0.95); background: #f8fafc; }
  .live-calendar { overflow: hidden; justify-content: flex-start; }
  .cal-month { background: #e74c3c; color: white; font-size: 9px; font-weight: 900; padding: 3px 0; width: 100%; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1; text-align: center; }
  .cal-day { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 900; color: #1e293b; letter-spacing: -1px; margin-top: -1px; line-height: 1; }
  select.hidden-sel { display: none; }
  .map-header-btn { color: #e74c3c; }
  .map-header-btn svg { width: 22px; height: 22px; fill: currentColor; }
  .search-wrapper { flex-grow: 1; height: 44px; position: relative; display: flex; align-items: center; }
  #search-input { 
    width: 100%; height: 100%; padding: 0 36px 0 36px; border-radius: 22px; 
    border: none; font-size: 15px; background-color: white; 
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05); box-sizing: border-box; outline: none; transition: box-shadow 0.2s; font-weight: 600; color: #1e293b;
  }
  #search-input:focus { box-shadow: 0 0 0 2px #3498db; }
  .search-icon-pos { position: absolute; left: 12px; color: #94a3b8; display: flex; align-items: center; pointer-events: none; }
  .search-icon-pos svg { width: 18px; height: 18px; }
  #search-clear-btn {
    display: none; position: absolute; right: 10px; width: 24px; height: 24px; 
    background: #e74c3c; color: white; border-radius: 50%; 
    align-items: center; justify-content: center; cursor: pointer; 
    font-size: 13px; font-weight: bold; transition: 0.2s; box-shadow: 0 2px 5px rgba(231,76,60,0.3);
  }
  #search-clear-btn:active { transform: scale(0.9); background: #c0392b; }
  .job-counter-box { min-width: 44px; width: auto; padding: 0 6px; cursor: default; }
  .counter-label { font-size: 8.5px; color: #94a3b8; font-weight: 800; display: block; margin-bottom: 2px; text-transform: uppercase; line-height: 1; }
  .counter-value { font-size: 13px; font-weight: 900; color: #1e293b; line-height: 1; }
  .counter-value span.done { color: #10b981; }
  .menu-btn { color: #3498db; }
  .menu-btn svg { width: 24px; height: 24px; fill: currentColor; }
  .dropdown-menu { display: none; position: absolute; top: 75px; right: 15px; width: 200px; background: white; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); z-index: 70000; overflow: hidden; border: 1px solid #eee; flex-direction: column; animation: slideDownMenu 0.2s ease-out; }
  @keyframes slideDownMenu { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
  .menu-item { padding: 15px 20px; font-size: 1.05em; font-weight: 700; color: #2c3e50; border-bottom: 1px solid #f0f0f0; cursor: pointer; display: flex; align-items: center; gap: 12px; transition: background 0.1s; }
  .menu-item:last-child { border-bottom: none; color: #e74c3c; }
  .menu-item:active { background: #f7f9fa; }
  .menu-item svg { width: 20px; height: 20px; fill: currentColor; }
  #retry { display:none; position: absolute; right: 0; top: 60px; background: #e74c3c; color: white; padding: 8px 12px; border: none; border-radius: 20px; font-size: 0.8em; font-weight: bold; box-shadow: 0 4px 6px rgba(0,0,0,0.1); z-index: 99; }
  .custom-modal-overlay::-webkit-scrollbar, #dispatch-modal::-webkit-scrollbar, #dispatch-modal-content::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
  .custom-modal-overlay, #dispatch-modal, #dispatch-modal-content { -ms-overflow-style: none !important; scrollbar-width: none !important; }
  .container::-webkit-scrollbar { display: none; }
  .container { -ms-overflow-style: none; scrollbar-width: none; }
  .picker-box { background: white; width: 90%; max-width: 340px; border-radius: 20px; padding: 20px; box-shadow: 0 10px 40px rgba(0,0,0,0.3); text-align: center; margin: 0 !important; animation: commonPopIn 0.25s ease-out; }
  .picker-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
  .picker-title { font-weight: 800; font-size: 1.2em; color: #2c3e50; }
  .picker-nav { font-size: 1.5em; color: #3498db; cursor: pointer; padding: 0 10px; user-select: none; }
  .picker-grid { display: grid !important; grid-template-columns: repeat(7, 1fr); gap: 8px; justify-items: center; }
  .picker-day-name { color: #95a5a6; font-size: 0.8em; font-weight: 800; margin-bottom: 5px; }
  .picker-day { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: 700; color: #333; cursor: pointer; transition: all 0.2s; }
  .picker-day:active { background-color: #f0f0f0; }
  .picker-day.selected { background-color: #3498db !important; color: white !important; box-shadow: 0 4px 10px rgba(52, 152, 219, 0.4); }
  .picker-day.today { color: #2563eb !important; box-shadow: inset 0 0 0 2px #3498db; font-weight: 900; position: relative; }
  .picker-day.today::after { content: 'TODAY'; position: absolute; bottom: -9px; font-size: 7.5px; font-weight: 900; letter-spacing: .3px; color: #3498db; }
  .picker-day.selected.today { box-shadow: 0 4px 10px rgba(52, 152, 219, 0.4); }
  .picker-day.empty { pointer-events: none; }
  .image-modal-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.95); z-index: 100000; display: none; align-items: center; justify-content: center; }
.image-modal-content { position: relative; width: 100vw; height: 100vh; overflow: hidden; display: flex; align-items: center; }
#image-slider-track { display: flex; width: 100%; height: 100%; align-items: center; }
#image-slider-track img.tsp-lo { filter: blur(6px); transition: filter .2s; }   
#image-slider-track img { 
    flex: 0 0 100vw; 
    width: 100vw; 
    max-height: 100vh; 
    object-fit: contain; 
    touch-action: none; 
    user-select: none; 
    -webkit-user-drag: none; 
    transform-origin: center; 
}
.close-img-btn { position: fixed; top: 30px !important; right: 20px !important; width: 44px; height: 44px; background: rgba(0, 0, 0, 0.6); color: #ffffff; font-size: 28px; font-weight: bold; border-radius: 50%; cursor: pointer; z-index: 999999 !important; display: flex !important; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.3); backdrop-filter: blur(4px); }
.nav-btn { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.15); color: white; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; width: 46px; height: 46px; font-size: 20px; cursor: pointer; z-index: 100005; backdrop-filter: blur(4px); }
.prev-btn { left: 15px; }
.next-btn { right: 15px; }
.nav-btn:active { background: rgba(255,255,255,0.4); }
.photo-action-bar { position: fixed; bottom: 30px; right: 20px; display: flex; gap: 12px; z-index: 100005; }
.img-compact-btn { background: rgba(0, 0, 0, 0.6); color: white; border: 1px solid rgba(255, 255, 255, 0.3); padding: 10px 16px; border-radius: 12px; font-weight: 800; font-size: 14px; cursor: pointer; display: flex; align-items: center; gap: 6px; backdrop-filter: blur(4px); transition: 0.2s; }
.img-compact-btn:active { transform: scale(0.95); background: rgba(0, 0, 0, 0.8); }
.img-compact-btn svg { width: 18px; height: 18px; fill: currentColor; }
  #tech-filter-box { 
      display: flex; flex-wrap: wrap; align-items: center; justify-content: center; 
      padding: 10px 5px; background: #ffffff; border-bottom: 1px solid #e0e0e0; 
      z-index: 50000; gap: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); 
      width: 100%; box-sizing: border-box; 
      flex-shrink: 0;
  }
  .box-btn { width: 40px !important; height: 40px !important; min-width: 40px !important; border-radius: 12px !important; border: 1px solid #cbd5e1 !important; background: white !important; color: #475569 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; padding: 0 !important; transition: all 0.2s !important; flex-shrink: 0 !important; font-size: 0.85em !important; font-weight: 800 !important; }
  .box-btn:active { transform: scale(0.9); background: #f1f5f9 !important; }
  .box-btn svg { width: 20px !important; height: 20px !important; fill: currentColor !important; }
  .box-btn.active, #admin-btn-group .box-btn.active, .map-header-btn.active { background: #3498db !important; color: white !important; border-color: #3498db !important; box-shadow: 0 4px 10px rgba(52, 152, 219, 0.3); }
  .box-btn.active svg, #admin-btn-group .box-btn.active svg, .map-header-btn.active svg { fill: white !important; }
  #dynamic-filter-group .pend-filter-btn { color: #f59e0b !important; } .pend-filter-btn svg { fill: currentColor !important; }
  #dynamic-filter-group .pend-filter-btn.active { background: #f59e0b !important; border-color: #f59e0b !important; color: #fff !important; box-shadow: 0 4px 10px rgba(245,158,11,0.3) !important; }
  #admin-btn-group { display: none; flex-wrap: wrap; justify-content: center; gap: 6px; }
  @media (min-width: 1024px) { 
    .grid-divider { grid-column: 1 / -1 !important; height: 1px; border-top: 2px dashed rgba(255, 255, 255, 0.2); margin: 25px 0 10px 0 !important; padding: 0 !important; } 
    .card { margin-bottom: 0 !important; width: 100% !important; box-sizing: border-box; } 
  }
  .card { position: relative !important; z-index: 1 !important; }
  .card [class*="overlay"], .card > div[style*="position: absolute"] { z-index: 99 !important; }
  .card .brand-badge, .card .type-badge, .card span[style*="background"] { z-index: 1 !important; }
  .admin-cal-fixed-btn {
      flex-shrink: 0; display: flex; align-items: center; justify-content: center;
      background: #ffffff; border: 2px solid #e2e8f0; border-radius: 12px;
      width: 56px; height: 56px; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,0.05); transition: all 0.2s;
  }
  .admin-cal-fixed-btn:active { transform: scale(0.9); background: #f1f5f9; }
  .admin-cal-fixed-btn svg { width: 28px; height: 28px; fill: #3498db; }
  #admin-cal-scroll {
      display: flex; flex-direction: row; gap: 10px; overflow-x: auto; padding-bottom: 2px;
      scroll-behavior: auto; width: 100%; align-items: flex-start;
      -ms-overflow-style: none; scrollbar-width: none; cursor: grab; 
      -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  }
  #admin-cal-scroll:active { cursor: grabbing; }
  #admin-cal-scroll::-webkit-scrollbar { display: none; }
  .admin-cal-btn {
      display: inline-flex; flex-direction: column; align-items: flex-start;
      background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px;
      padding: 10px 14px; cursor: pointer; min-width: 90px; height: auto; 
      transition: all 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.05); flex-shrink: 0; 
  }
  .admin-cal-btn.is-today { border: 2px solid #38bdf8 !important; box-shadow: 0 4px 10px rgba(56, 189, 248, 0.2) !important; }
  .admin-cal-btn.active { background: #1e293b; border-color: #1e293b !important; color: white; box-shadow: 0 4px 12px rgba(30,41,59,0.2) !important; transform: translateY(-1px); }
  .ac-header-row { display: flex; align-items: center; justify-content: space-between; width: 100%; pointer-events: none; }
  .ac-date { font-weight: 900; font-size: 0.95em; color: inherit; letter-spacing: -0.5px; }
  .ac-saturday { color: #3b82f6 !important; } 
  .ac-sunday { color: #ef4444 !important; } 
  .admin-cal-btn.active .ac-saturday, .admin-cal-btn.active .ac-sunday { color: #ffffff !important; }
  .ac-total { font-weight: 700; font-size: 0.75em; color: #0ea5e9; background: rgba(14,165,233,0.1); padding: 3px 6px; border-radius: 6px; letter-spacing: -0.2px; }
  .admin-cal-btn.active .ac-total { color: #38bdf8; background: rgba(56,189,248,0.15); }
  .ac-tech-list { display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px 12px; width: 100%; border-top: 1px solid rgba(0,0,0,0.06); padding-top: 6px; pointer-events: none; }
  .admin-cal-btn.active .ac-tech-list { border-top-color: rgba(255,255,255,0.1); }
  .ac-tech-item { display: inline-flex; align-items: center; gap: 4px; font-size: 0.85em; font-weight: 700; color: inherit; cursor: pointer; padding: 4px 8px; border-radius: 8px; transition: all 0.2s; border: 1px solid transparent; pointer-events: auto; }
  .admin-cal-btn:not(.active) .ac-tech-item { color: #64748b; }
  .ac-tech-item:hover { background: rgba(0,0,0,0.04); }
  .ac-tech-item:active { transform: scale(0.95); }
  .ac-tech-item.active-tech { background: #3498db !important; color: #ffffff !important; border-color: #2980b9 !important; box-shadow: 0 2px 6px rgba(52,152,219,0.3); }
  .ac-tech-item.active-tech .ac-t-count { color: #ffffff !important; }
  .ac-needs-update { font-size: 11px !important; font-weight: 900 !important; color: #ef4444 !important; background: #fef2f2 !important; border: 1px solid #fecaca !important; padding: 2px 6px !important; border-radius: 6px !important; display: inline-flex !important; align-items: center !important; gap: 3px !important; text-transform: uppercase !important; line-height: 1 !important; pointer-events: auto; letter-spacing: 0px !important; }
  .admin-cal-btn.active .ac-needs-update { background: #ef4444 !important; color: #ffffff !important; border-color: #ef4444 !important; box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4) !important; }
  html body #admin-cal-wrapper { padding: 6px 12px !important; gap: 8px !important; align-items: center !important; }
  html body .admin-cal-fixed-btn { width: 36px !important; height: 36px !important; border-width: 1px !important; border-radius: 10px !important; }
  html body .admin-cal-fixed-btn svg { width: 20px !important; height: 20px !important; }
  html body #admin-cal-scroll { gap: 6px !important; align-items: center !important; padding: 0 !important; }
  html body .admin-cal-btn { flex-direction: row !important; align-items: center !important; gap: 7px; padding: 0 11px !important; height: 36px !important; min-width: 0 !important; border-radius: 10px !important; box-shadow: none !important; }
  html body .admin-cal-btn.is-today { border-width: 1.5px !important; box-shadow: none !important; }
  html body .admin-cal-btn.active { transform: none !important; box-shadow: none !important; }
  html body .admin-cal-btn .ac-header-row { width: auto !important; }
  html body .admin-cal-btn .ac-date { font-size: 13px !important; font-weight: 800 !important; letter-spacing: -0.2px !important; white-space: nowrap; }
  html body .admin-cal-btn .ac-cnt { display: flex; align-items: center; gap: 4px; }
  html body .admin-cal-btn .ac-total { font-size: 11px !important; padding: 1px 7px !important; border-radius: 9px !important; line-height: 16px; }
  html body .admin-cal-btn.ac-empty:not(.active) .ac-date:not(.ac-saturday):not(.ac-sunday) { color: #94a3b8 !important; }
  html body .admin-cal-btn .ac-needs-update { font-size: 10px !important; padding: 0 5px !important; border-radius: 6px !important; line-height: 16px !important; }
  #admin-cal-wrapper {
      display: none;
      background: #f8fafc;
      padding: 10px 15px;
      border-bottom: 1px solid #cbd5e1;
      align-items: flex-start;
      gap: 12px;
      width: 100%;
      box-sizing: border-box;
      z-index: 40000;
      box-shadow: 0 4px 10px rgba(0,0,0,0.05);
      flex-shrink: 0;
  }
  @media (max-width: 600px) {
      .prev-btn { left: 10px; } .next-btn { right: 10px; }
      #tech-filter-box { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; justify-content: center !important; align-items: center !important; padding: 8px 5px !important; gap: 4px !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
      #admin-btn-group, #dynamic-filter-group { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 4px !important; }
      #tech-filter-box::-webkit-scrollbar, #admin-btn-group::-webkit-scrollbar, #dynamic-filter-group::-webkit-scrollbar { display: none !important; }
      #tech-filter-box div[style*="width:2px"], #tech-filter-box #admin-btn-group:not(.tb-editing) > .tb-div { display: none !important; }   
      #tech-filter-box div[style*="width:3px"], #tech-filter-box .tsp-tb-sep { display: block !important; width: 1.5px !important; height: 22px !important; margin: 0 4px !important; background: #cbd5e1 !important; }
      .box-btn { width: 35px !important; height: 35px !important; min-width: 35px !important; border-radius: 9px !important; font-size: 0.75em !important; padding: 0 !important; }
      .box-btn svg { width: 18px !important; height: 18px !important; }
      #admin-cal-wrapper { top: 115px; } 
      #tech-filter-box { flex-direction: column !important; flex-wrap: nowrap !important; overflow: visible !important; align-items: stretch !important; padding: 8px 10px 6px !important; gap: 6px !important; }
      #admin-btn-group { width: 100% !important; flex-wrap: nowrap !important; justify-content: space-between !important; gap: 4px !important; overflow: visible !important; }
      #admin-btn-group > div[style*="width:2px"], #admin-btn-group > div[style*="width:3px"], #tech-filter-box > div[style*="width:3px"], #admin-btn-group:not(.tb-editing) > .tb-div, #tech-filter-box > .tsp-tb-sep { display: none !important; }
      #admin-btn-group .box-btn { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; max-width: 38px !important; height: 32px !important; border-radius: 8px !important; }
      #admin-btn-group .box-btn svg { width: 17px !important; height: 17px !important; }
      #dynamic-filter-group { width: 100% !important; overflow-x: auto !important; justify-content: flex-start !important; gap: 4px !important; }
      #dynamic-filter-group .box-btn { width: auto !important; min-width: 32px !important; height: 28px !important; padding: 0 9px !important; border-radius: 8px !important; font-size: 12px !important; flex-shrink: 0 !important; }
      #dynamic-filter-group .box-btn svg { width: 16px !important; height: 16px !important; }
      #admin-btn-group .est-badge-count, #admin-btn-group .est-badge-pending, #admin-btn-group .est-badge-declined, #admin-btn-group .co-badge-count, #admin-btn-group .mh-badge-count, #admin-btn-group .fub-badge-count, #admin-btn-group .ivt-badge-count { min-width:14px !important; height:14px !important; padding:0 3px !important; box-sizing:border-box !important; font-size:9px !important; line-height:14px !important; border-radius:7px !important; }
      #admin-btn-group .est-badge-count, #admin-btn-group .co-badge-count, #admin-btn-group .mh-badge-count, #admin-btn-group .fub-badge-count, #admin-btn-group .ivt-badge-count { top:-6px !important; right:-2px !important; }   
      #admin-btn-group .est-badge-pending { bottom:-6px !important; right:-2px !important; }
      #admin-btn-group .map-arr-badge { top:auto !important; bottom:-6px !important; right:-4px !important; } #admin-btn-group .map-arr-badge.solo { top:-6px !important; bottom:auto !important; right:-4px !important; }   
      #admin-btn-group .est-badge-declined { top:-6px !important; left:-2px !important; }
      #admin-btn-group .mh-b4 { min-width:14px !important; height:14px !important; padding:0 3px !important; box-sizing:border-box !important; font-size:9px !important; line-height:14px !important; }
      #admin-btn-group .mh-b4.d { top:-6px !important; left:-2px !important; } #admin-btn-group .mh-b4.c { top:-6px !important; right:-2px !important; } #admin-btn-group .mh-b4.s { bottom:-6px !important; left:-2px !important; } #admin-btn-group .mh-b4.p { bottom:-6px !important; right:-2px !important; }
  }
  @media (max-width: 380px) { 
      .header { gap: 5px; padding: 8px 6px; } 
      .live-calendar, .map-header-btn, .job-counter-box, .menu-btn { width: 40px; height: 40px; border-radius: 10px; }
      .search-wrapper { height: 40px; }
      #search-input { padding-left: 32px; font-size: 14px; }
      .search-icon-pos { left: 10px; }
      .search-icon-pos svg { width: 16px; height: 16px; }
      .cal-day { font-size: 17px; }
      .counter-value { font-size: 12px; }
      .map-header-btn svg, .menu-btn svg { width: 20px; height: 20px; }
      #tech-filter-box { top: 56px !important; }
      #admin-cal-wrapper { top: 107px !important; } 
  }
#split-layout-container {
    display: flex; flex-direction: row; width: 100%;
    height: calc(100vh - 55px); 
    height: calc(100dvh - 55px);   
    overflow: hidden;
}
#map-pane { display: none; width: 50%; height: 100%; position: relative; border-right: 2px solid #cbd5e1; background: #e2e8f0; }
#list-pane {
    flex: 1;
    overflow-y: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}
.split-active #list-pane {
    height: calc(100vh - 130px) !important;
    height: calc(100dvh - 130px) !important;   
}
.tech-split-mode {
    display: flex !important;
    flex-direction: row !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}
.tech-column {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 350px !important;
    flex: 0 0 auto !important;
}
.tech-card-list {
    flex: 1 !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
}
.split-active #split-layout-container {
    display: flex !important;
    flex-direction: row !important;
    flex: 1; 
    overflow: hidden;
}
.split-active #map-pane {
    display: block !important;
    flex: none !important; 
    width: 50%; 
    min-width: 150px;
}
.split-active #list-pane {
    flex: 1 !important;
    min-width: 150px;
}
@media (max-width: 1024px) {
    .split-active #split-layout-container { flex-direction: column !important; }
    .split-active #map-pane { width: 100% !important; height: 38% !important; border-right: none !important; border-bottom: 2px solid #cbd5e1 !important; box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important; z-index: 10 !important; }
    .split-active #list-pane { width: 100% !important; height: 62% !important; padding: 0 !important; }
    .split-active #resizer { display: none !important; }
}
@media (max-width: 600px) {
    #content.tech-split-mode { flex-direction: column !important; overflow-y: auto !important; overflow-x: hidden !important; height: 100% !important; }
    .tech-split-mode .tech-column { flex: none !important; width: 100% !important; min-width: 100% !important; max-width: 100% !important; height: auto !important; border-right: none !important; margin-bottom: 15px !important; }
    .tech-split-mode .tech-card-list { overflow-y: visible !important; height: auto !important; padding-bottom: 0 !important; } 
}
.d-status-summary {
    position: absolute; top: 12px; right: 12px; background: rgba(255,255,255,0.95); backdrop-filter: blur(8px);
    padding: 10px 14px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    display: flex; flex-direction: column; gap: 5px; z-index: 50; border: 1px solid #cbd5e1; min-width: 80px;
}
.d-stat-item { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; }
.d-stat-dot { width: 10px; height: 10px; border-radius: 50%; }
.d-stat-label { font-size: 10px; font-weight: 800; color: #475569; text-transform: uppercase; }
.d-stat-count { font-size: 13px; font-weight: 900; color: #1e293b; }
#content {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    align-items: start !important;
    gap: 8px !important;
    padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px)) 6px !important;   
    margin: 0px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
@media (min-width: 1024px) {
    body:not(.split-active) #content:not(.tech-split-mode) {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 10px !important;
        padding: 10px 20px 10px 20px !important;   
        align-items: start !important;
    }
}
body.split-active #content:not(.tech-split-mode) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 10px 15px 80px 15px !important;
    align-items: start !important;
}
@media (max-width: 1024px) {
    body.split-active #content:not(.tech-split-mode) {
        grid-template-columns: 1fr !important;
    }
}
  @media (min-width: 1024px) {
      .split-active #content:not(.tech-split-mode) {
          display: grid !important;
          grid-template-columns: repeat(2, 1fr) !important;
          gap: 15px !important;
          padding: 15px !important;
          padding-bottom: 80px !important;
          align-items: start !important;
      }
  }
  .split-active:has(.tech-split-mode) #list-pane {
      overflow: hidden !important;
      padding: 0 !important;
  }
  #content.tech-split-mode {
      display: flex !important; 
      flex-direction: row !important;
      width: 100% !important;
      height: 100% !important;
      gap: 0 !important;
      padding: 0 !important;
      overflow-x: auto !important; 
      overflow-y: hidden !important;
      align-items: stretch !important;
      box-sizing: border-box !important;
      scrollbar-width: thin;
      scrollbar-color: #475569 transparent; 
  }
  body.split-active #list-pane, body.split-active #resizer { display:none !important; }
  body.split-active #map-pane { width:100% !important; flex:1 1 auto !important; border-right:none !important; }
  @media (max-width: 1024px) { body.split-active #map-pane { height:100% !important; border-bottom:none !important; box-shadow:none !important; } }
  #tsp-msd { position:fixed; z-index:68000; display:none; box-sizing:border-box; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 12px 32px rgba(15,23,42,.18); font-family:'Inter', -apple-system, 'Segoe UI', sans-serif; color:#0f172a; overflow:hidden; }
  #tsp-msd.open { display:block; }
  #tsp-msd .msd-h { display:flex; align-items:center; gap:6px; padding:8px 12px 6px; font-size:10px; font-weight:800; color:#475569; text-transform:uppercase; letter-spacing:.06em; background:#f8fafc; border-bottom:1px solid #e2e8f0; }
  #tsp-msd .msd-h span { margin-left:auto; text-transform:none; letter-spacing:0; font-weight:600; color:#94a3b8; }
  #tsp-msd .msd-l { max-height:calc(80vh - var(--msd-top, 100px) - 32px); overflow-y:auto; overscroll-behavior:contain; }   
  #tsp-msd .msd-r { display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box; padding:7px 12px; background:#fff; border:0; border-bottom:1px solid #f1f5f9; text-align:left; font:inherit; color:inherit; cursor:pointer; }
  #tsp-msd .msd-r:last-child { border-bottom:0; }
  #tsp-msd .msd-r:hover, #tsp-msd .msd-r.on { background:#f1f5f9; }
  #tsp-msd .msd-r > i { flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:var(--dc, #94a3b8); }
  #tsp-msd .msd-b { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
  #tsp-msd .msd-t { display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; white-space:nowrap; }
  #tsp-msd .msd-t em { margin-left:auto; font-style:normal; font-size:11px; font-weight:600; color:#475569; }
  #tsp-msd .msd-t em.p { color:#c2410c; }
  #tsp-msd .msd-s { display:flex; gap:6px; font-size:11.5px; font-weight:500; color:#64748b; white-space:nowrap; }
  #tsp-msd .msd-s span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  #tsp-msd .msd-s b { margin-left:auto; flex:0 0 auto; font-weight:600; color:#334155; }
  #tsp-msd .msd-s u.msd-ty { flex:0 0 auto; text-decoration:none; font-size:10.5px; font-weight:700; color:#5b21b6; background:#f3e8ff; border-radius:5px; padding:1px 6px; }   
  .tsp-stp { background:color-mix(in srgb, var(--pc, #64748b) 13%, #fff) !important; color:color-mix(in srgb, var(--pc, #64748b) 82%, #0f172a) !important; border:1px solid color-mix(in srgb, var(--pc, #64748b) 28%, #fff) !important; font-weight:600 !important; }
  .tsp-stp i { background:var(--pc, #64748b) !important; }
  #tsp-msd .msd-t u.msd-hit { margin-left:auto; flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; text-decoration:none; font-size:10.5px; font-weight:600; color:#0f5132; background:#ecfdf5; border:1px solid #bbf7d0; border-radius:5px; padding:1px 6px; white-space:nowrap; }   
  #tsp-msd .msd-t u.msd-hit small { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#15803d; margin-right:4px; }
  #tsp-msd .msd-t u.msd-hit mark, #tsp-msd .msd-t > mark { background:#bbf7d0; color:#052e16; border-radius:2px; padding:0 1px; }   
  #tsp-msd .msd-t u.msd-hit + em { margin-left:6px; flex:0 0 auto; }
  @media (max-width:560px) { #tsp-msd .msd-t u.msd-hit { max-width:48%; font-size:10px; padding:1px 5px; } }
  #tsp-msd .msd-h .msd-hclr { border:0; background:none; font:inherit; font-weight:700; color:#2563eb; cursor:pointer; text-transform:none; padding:0; }
  #tsp-msd .msd-hr { display:flex; align-items:center; border-bottom:1px solid #f1f5f9; }
  #tsp-msd .msd-hr:last-child { border-bottom:0; }
  #tsp-msd .msd-hv { flex:1; min-width:0; display:flex; align-items:center; gap:9px; padding:8px 12px; border:0; background:#fff; font:inherit; font-size:12.5px; font-weight:600; color:#0f172a; text-align:left; cursor:pointer; }
  #tsp-msd .msd-hv:hover { background:#f1f5f9; }
  #tsp-msd .msd-hv svg { width:15px; height:15px; fill:#94a3b8; flex:0 0 auto; }
  #tsp-msd .msd-hv span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #tsp-msd .msd-hx { flex:0 0 auto; width:32px; height:34px; border:0; background:none; color:#94a3b8; font-size:18px; cursor:pointer; }
  #tsp-msd .msd-hx:hover { color:#dc2626; }
  #tsp-msd .msd-e { padding:12px; font-size:12px; font-weight:600; color:#64748b; text-align:center; }
  #content.tech-split-mode::-webkit-scrollbar { height: 4px; } 
  #content.tech-split-mode::-webkit-scrollbar-track { background: transparent; }
  #content.tech-split-mode::-webkit-scrollbar-thumb { 
      background: #475569; 
      border-radius: 10px; 
  }
  .tech-split-mode .tech-column {
      flex: 1 0 350px !important; 
      max-width: 600px !important; 
      min-width: 350px !important;
      border-right: 1px solid #cbd5e1 !important; 
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
      background: #f1f5f9 !important;
      box-sizing: border-box !important;
  }
  .tech-split-mode .tech-column:last-child { border-right: none !important; }
  #pending-add-btn {
    width: 36px; height: 36px; background: #3498db;
    border-radius: 10px; color: white; border: none;
    font-size: 24px; cursor: pointer; display: flex;
    align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(52, 152, 219, 0.4);
    z-index: 10000; flex-shrink: 0;
}
  .tech-split-mode .tech-group-header {
      margin: 0 !important; 
      border-radius: 0 !important; 
      border-bottom: 1px solid #e2e8f0 !important;
      background: #ffffff !important; 
      padding: 12px 16px !important;
      flex-shrink: 0 !important;
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      position: sticky !important; top: 0 !important; z-index: 10 !important;
  }
  .tech-name { display: flex; align-items: center; gap: 8px; font-size: 1.05em; font-weight: 900; color: #0f172a; }
  .tech-icon { width: 18px; height: 18px; fill: #64748b; }
  .tech-split-mode .tech-group-count { background: rgba(59, 130, 246, 0.1); color: #3b82f6; padding: 4px 10px; border-radius: 20px; font-size: 0.72em; font-weight: 800; }
  .tech-split-mode .tech-card-list {
    flex: 1 !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important; 
    -webkit-overflow-scrolling: touch;
    padding: 10px 10px 100px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    -ms-overflow-style: none !important; 
    scrollbar-width: none !important; 
}
.tech-split-mode .tech-card-list::-webkit-scrollbar { 
    display: none !important; 
    width: 0 !important; 
}
.tech-split-mode .card {
    width: 100% !important; 
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important; 
    margin: 0 !important; 
    box-sizing: border-box !important; 
    flex-shrink: 0 !important;
    display: block !important; 
}
#resizer {
    width: 20px;
    margin: 0 -10px;
    background: transparent;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    border: none;
    pointer-events: none;
}
.split-active #resizer {
    display: flex;
}
#resizer-handle {
    width: 5px;
    height: 40px;
    background: #3498db;
    border-radius: 3px;
    box-shadow: 0 0 8px rgba(52, 152, 219, 0.5);
    cursor: col-resize;
    pointer-events: auto;
}
.split-active #main-container {
    display: flex !important;
    flex-direction: column !important; 
    overflow: hidden;
    height: 100vh;
    height: 100dvh;   
}
.split-active #map-pane {
    flex: none; 
    width: 50%; 
    min-width: 150px;
}
body:not(.admin-user) #pending-add-btn {
    display: none !important;
}
.drag-handle {
    display: flex !important;
    cursor: grab;
    color: #94a3b8 !important;
    background: transparent !important;
    font-size: 18px;
    padding: 5px;
    align-items: center;
    justify-content: center;
}
.drag-handle i, .drag-handle svg {
    color: #94a3b8 !important;
    fill: #94a3b8 !important;
}
.card.completed-mode .drag-handle,
.card.diagnosis-mode .drag-handle,
.card.rescheduled-mode .drag-handle { 
    display: none !important; 
}
.card.drag-original .drag-handle {
    display: flex !important;
    color: #F06292 !important;
}
body.is-card-dragging * {
    user-select: none !important;
    -webkit-user-select: none !important;
}
.card-placeholder {
    border: 3px dashed #3498db;
    background: rgba(52, 152, 219, 0.15);
    border-radius: 12px;
    margin-bottom: 12px;
    transition: all 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}
  .drag-pos-badge {
      position: absolute !important;
      top: 50% !important; 
      left: 50% !important;
      transform: translate(-50%, -50%) !important; 
      background: #3498db !important;
      color: white !important;
      font-weight: 900 !important;
      padding: 10px 24px !important; 
      border-radius: 30px !important;
      font-size: 22px !important; 
      z-index: 9999999 !important;
      box-shadow: 0 8px 25px rgba(0,0,0,0.5) !important; 
      pointer-events: none !important;
      white-space: nowrap !important;
      border: 3px solid white !important;
  }
  .drag-pos-badge.pending-badge { background: #ef4444 !important; }
  #map-pane::after {
      content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0, 0, 0, 0.65); opacity: 0; pointer-events: none;
      transition: opacity 0.2s ease; z-index: 9998;
  }
  #map-pane::before {
      content: 'MOVE TO PENDING'; position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -50%) scale(0.8); color: white; font-size: 2.2em; font-weight: 900;
      opacity: 0; pointer-events: none; transition: all 0.2s ease; z-index: 9999;
      text-shadow: 0 4px 20px rgba(0,0,0,0.8); width: 100%; text-align: center;
  }
  #map-pane.drag-over-map { box-shadow: inset 0 0 0 6px #ef4444 !important; }
  #map-pane.drag-over-map::after { opacity: 1; }
  #map-pane.drag-over-map::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  body.is-card-dragging .tech-card-list .card:not(.drag-original) { filter: brightness(0.6) grayscale(20%) !important; transition: filter 0.2s ease; }
  .drag-original { opacity: 0.7 !important; border: 2px dashed #ef4444 !important; background: #fef2f2 !important; box-shadow: inset 0 4px 10px rgba(239, 68, 68, 0.1) !important; transform: scale(0.98) !important; filter: none !important; }
.nav-btn, .close-img-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.nav-btn {
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  color: #ffffff !important;
  border: none !important;
  font-size: 18px !important;
  z-index: 100001 !important;
}
.close-img-btn {
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  color: #ffffff !important;
  font-size: 24px !important;
  z-index: 100001 !important;
}
.prev-btn {
  left: 15px !important;
}
.next-btn {
  right: 15px !important;
}
.photo-action-bar {
  position: fixed;
  bottom: 25px;
  right: 20px;
  display: flex;
  gap: 12px;
  z-index: 100001;
}
.img-compact-btn {
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  backdrop-filter: blur(4px);
  transition: 0.2s;
}
.img-compact-btn:active {
  transform: scale(0.95);
  background: rgba(0, 0, 0, 0.8);
}
.img-compact-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
#image-slider-track img {
  touch-action: none;
  user-select: none;
  -webkit-user-drag: none;
}
