﻿  html, body { height: 100%; width: 100%; margin: 0; overflow: hidden; }
  *, *:before, *:after { box-sizing: border-box; }
  .map-layout { display: flex; position: fixed; inset: 0; width: 100vw; height: 100vh; min-height: 0; overflow: hidden; }
  .sidebar { flex: 0 0 280px; padding: 12px; border-right: 1px solid #ddd; overflow: auto; transition: transform 0.25s ease, width 0.25s ease, padding 0.25s ease; }
  .map-layout.is-sidebar-collapsed .sidebar { transform: translateX(-100%); flex: 0 0 0; width: 0; padding: 0; border-right: 0; overflow: hidden; }
  .map-layout.is-sidebar-collapsed .map { flex: 1 1 100%; }
  .map { position: relative; flex: 1 1 auto; min-height: 0; min-width: 0; height: 100%; }
  #map { width: 100%; height: 100%; min-height: 0; }
  .map-warning { color: #c00; }
  .sidebar-toggle { position: absolute; top: 55%; transform: translateY(-50%); z-index: 1100; background: #fff; border: 1px solid #ddd; width: 14px; height: 36px; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,0.12); display: flex; align-items: center; justify-content: center; padding: 0; }
  .map-layout:not(.is-sidebar-collapsed) .sidebar-toggle { left: -14px; border-right: 1; border-radius: 7px 0 0 7px; }
  .map-layout.is-sidebar-collapsed .sidebar-toggle { left: 0px; border-left: 0; border-radius: 0 7px 7px 0; }
  .sidebar-toggle__icon { width: 14px; height: 14px; display: block; }
  .edit-bar { position: fixed; top: 12px; right: 80px; z-index: 1200; background: #fff; border-radius: 16px; padding: 6px 10px; min-height: 44px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); display: flex; align-items: center; gap: 8px; --sep-color: #e5e5e5; --sep-height: 22px; }
  .edit-bar.is-open { border-radius: 0 16px 16px 0; box-shadow: none; filter: drop-shadow(0 8px 22px rgba(0,0,0,0.16)); }
  .edit-bar__group { display: flex; align-items: center; gap: 6px; }
  .edit-bar__sep { width: 1px; height: var(--sep-height); background: var(--sep-color); margin: 0 4px; }
  .edit-bar__expand { display: none; align-items: center; gap: 8px; position: absolute; right: 100%; top: 0; height: 100%; margin-right: -1px; background: #fff; border-radius: 16px 0 0 16px; padding: 8px 10px; box-shadow: none; }
  .edit-bar__expand::before,
  .edit-bar__expand::after { content: ""; position: absolute; top: 50%; width: 1px; height: var(--sep-height); background: var(--sep-color); transform: translateY(-50%); }
  .edit-bar__expand::before { right: 3px; }
  .edit-bar__expand::after { right: 0; }
  #filter-toggle { display: inline-flex; }
  .edit-bar.is-open .edit-bar__expand { display: flex; }
  .edit-bar__menu { position: absolute; top: 44px; left: 0; background: #fff; border-radius: 16px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); padding: 8px 10px; display: none; align-items: center; gap: 6px; justify-content: center; }
  .edit-bar__menu--filters { min-width: 240px; width: 240px; max-width: 240px; padding: 10px 12px; flex-direction: column; align-items: stretch; gap: 8px; }
  .edit-bar.is-filters-open #filters-menu { display: flex; }
  .edit-bar select, .edit-bar input { height: 28px; font-size: 12px; }
  #measure-preview { font-size: 12px; color: #444; min-width: 80px; }
  #territory-type-select { min-width: 150px; }
  #house-search { width: 250px; }
  #house-select { display: none; }
  .edit-bar__address { position: relative; }
  .edit-bar__dropdown { position: absolute; top: 32px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 240px; overflow: auto; display: none; z-index: 10; }
  .edit-bar__dropdown.is-open { display: block; }
  .edit-bar__item { padding: 4px 8px; cursor: pointer; font-size: 13px; line-height: 1.3; }
  .edit-bar button { background: transparent; border: 0; padding: 4px; color: #222; display: flex; align-items: center; }
  .edit-bar button:hover { color: #1e6bff; }
  .edit-bar button.is-active { color: #1e6bff; }
  .edit-bar .icon { width: 18px; height: 18px; display: block; fill: currentColor; }
  .edit-bar .icon--img { width: 18px; height: 18px; display: block; }
  #ruler-toggle .icon--img { width: 16px; height: 16px; }
  #ruler-toggle.is-active { color: #1e6bff; }
  #ruler-toggle.is-active .icon--img { filter: brightness(0) saturate(100%) invert(35%) sepia(97%) saturate(2358%) hue-rotate(205deg) brightness(101%) contrast(102%); }
  .edit-bar .icon--thick { stroke: currentColor; stroke-width: 3; paint-order: stroke fill; vector-effect: non-scaling-stroke; }
  #layer-toggle.is-satellite { color: #1e6bff; }
  #layer-toggle.is-disabled { opacity: .45; }
  .map-ruler-cursor, .map-ruler-cursor * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='2.2' fill='%23ffffff' stroke='%231e6bff' stroke-width='1.4'/%3E%3Cpath d='M7 0.8v3M7 10.2v3M0.8 7h3M10.2 7h3' stroke='%231e6bff' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 7 7, crosshair !important; }
  .map-ruler-point-hover,
  .map-ruler-point-hover * { cursor: grab !important; }
  .map-ruler-point-hover.is-dragging,
  .map-ruler-point-hover.is-dragging * { cursor: grabbing !important; }
  .filters-menu__title { font-size: 12px; font-weight: 600; color: #222; } 
  .filters-section__title { font-size: 11px; font-weight: 600; color: #555; margin-top: 4px; cursor: pointer; list-style: none; position: relative; padding-right: 14px; display: flex; align-items: center; gap: 6px; } 
  .filters-section__title::-webkit-details-marker { display: none; } 
  .filters-section__title::marker { content: ""; } 
  .filters-section__title { display: flex; align-items: center; justify-content: flex-start; width: auto; gap: 8px; padding-right: 0; } 
  .filters-section__title > span:first-child { color: #333 !important; display: inline-block; white-space: nowrap; } 
  .filters-section__title::before {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #666;
    border-bottom: 1.5px solid #666;
    transform: rotate(45deg);
    margin-right: 6px;
    flex: 0 0 auto;
  } 
  details:not([open]) .filters-section__title::before {
    transform: rotate(-45deg);
  } 
  .filters-section__title::after { content: none !important; } 
  .filters-section__arrow{
    width: 16px !important;
    height: 16px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    font-size: 12px !important;
    line-height: 1 !important;
    color: #555 !important;
    border: 0 !important;
    transform: rotate(0deg);
    transition: transform .15s ease;
  } 
  details:not([open]) .filters-section__arrow{
    transform: rotate(-90deg);
  } 
  .filters-section__chev { display: none; } 
  .filters-section__arrow { display: none !important; } 
  .filters-section__content { display: flex; flex-direction: column; gap: 3px; margin-top: 4px; } 
  .filters-list label { line-height: 1.15; } 
  .filters-item,
  .filters-list label { height: 20px; display: flex; align-items: center; gap: 6px; } 
  .filters-item { display: flex; align-items: center; gap: 6px; font-size: 11px; } 
  .filters-list label { display: flex; align-items: center; gap: 6px; font-size: 11px; } 
  .map-info { position: absolute; top: 12px; right: 12px; z-index: 5; background: #fff; border: 1px solid #ddd; padding: 10px; min-width: 240px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); font-size: 12px; }
  .map-info.is-hidden { display: none; }
  .map-info__title { font-weight: bold; margin-bottom: 6px; font-size: 13px; } 
  .map-info__row { margin: 4px 0; }
  .map-info__actions { margin-top: 6px; }
  .map-info__action { border: 1px solid #1e6bff; background: #fff; color: #1e6bff; padding: 4px 8px; border-radius: 6px; font-size: 11px; cursor: pointer; }
  .map-info__action:hover { background: #f3f7ff; }
  .map-info__close { position: absolute; top: 4px; right: 6px; border: 0; background: transparent; font-size: 14px; cursor: pointer; }
  .map-info--house { top: 150px; min-width: 320px; } 
  .map-info__table { width: 100%; border-collapse: collapse; font-size: 11px; } 
  .map-info__table th,
  .map-info__table td { padding: 2px 0; text-align: left; border: 0; } 
  .map-info__table th { width: 38%; font-weight: 600; color: #555; } 
  #territory-info { top: 150px; }
  #edit-status { display: none; font-size: 12px; color: #666; }
  .sidebar__logo { max-width: 160px; height: auto; display: block; }
  .sidebar h3 { margin: 0 0 10px; }
  .sidebar__search { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
  .sidebar__search-icon { width: 16px; height: 16px; opacity: 0.6; flex: 0 0 auto; }
  .sidebar__search-wrap { position: relative; flex: 1; }
  .sidebar__clear { position: absolute; right: 1px; top: 53%; transform: translateY(-50%); width: 20px; height: 20px; border: 0; background: transparent; font-size: 18px; line-height: 1; color: #666; cursor: pointer; display: none; align-items: center; justify-content: center; margin-top: -1px; }
  .sidebar__clear.is-visible { display: flex; }
  #address-search { padding-right: 30px; font-size: 12px; width: 100%; }
  .sidebar__dropdown { position: absolute; top: 30px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 240px; overflow: auto; display: none; z-index: 10; }
  .sidebar__dropdown.is-open { display: block; }
  .sidebar__item { padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .sidebar__section { margin-top: 8px; }
  .sidebar__link { width: 100%; border: 1px solid #ddd; background: #fff; border-radius: 5px; padding: 6px 10px; cursor: pointer; font-size: 12px; text-align: left; display: flex; align-items: center; gap: 8px; }
  .sidebar__link:hover { border-color: #1e6bff; color: #1e6bff; }
  .sidebar__link-icon { width: 16px; height: 16px; opacity: 0.7; flex: 0 0 auto; }
  .employees-modal { width: 1000px; max-width: 94vw; margin: 6vh auto; height: 88vh; max-height: 88vh; display: flex; flex-direction: column; overflow: hidden; }
  #employees-modal-content.is-form-open.employees-modal { width: 900px; }
  .employees-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
  .employees-modal__header-actions { display: flex; align-items: center; gap: 8px; }
  .employees-modal__title { margin: 0; font-size: 16px; }
  .employees-modal__add,
  .work-orders-modal__add { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; font-size: 12px; }
  .employees-modal__add:hover,
  .work-orders-modal__add:hover { color: #1e6bff; border-color: #1e6bff; }
  .employees-modal__close { border: 0; background: transparent; font-size: 18px; cursor: pointer; }
  .employees-modal__list { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .employees-modal__form { display: none; flex: 1 1 auto; min-height: 0; overflow: auto; }
  #employees-modal-content.is-form-open .employees-modal__list { display: none; }
  #employees-modal-content.is-form-open .employees-modal__form { display: block; }
  .employees-controls { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 10px; }
  .employees-filters { display: grid; grid-template-columns: 360px 240px; gap: 10px; margin-left: auto; }
  .employees-filter__label { font-size: 11px; color: #555; display: block; margin-bottom: 4px; }
  .employees-filter__wrap { position: relative; }
  .employees-filter__wrap input { width: 100%; height: 30px; font-size: 12px; padding-right: 28px; }
  .employees-filter__clear { position: absolute; right: 4px; top: 50%; transform: translateY(-60%); width: 20px; height: 20px; border: 0; background: transparent; font-size: 16px; line-height: 1; color: #666; cursor: pointer; display: none; }
  .employees-filter__clear.is-visible { display: flex; align-items: center; justify-content: center; }
  .employees-filter__dropdown { position: absolute; top: 30px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 200px; overflow: auto; display: none; z-index: 10; }
  .employees-filter__dropdown.is-open { display: block; }
  .employees-filter__item { padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .employees-list { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #eee; border-radius: 8px; }
  .employees-list__row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; padding: 6px 8px; border-bottom: 1px solid #f1f1f1; font-size: 12px; cursor: pointer; }
  .employees-list__row:hover { background: #f6f9ff; }
  .employees-list__row--header { cursor: default; }
  .employees-list__row--header { font-weight: 600; color: #555; background: #fafafa; }
  .employees-list__row:last-child { border-bottom: 0; }
  .employees-form { margin-top: 4px; }
  .employees-form__section { padding: 10px 0; border-top: 1px solid #eee; }
  .employees-form__section:first-child { border-top: 0; }
  .employees-form__section-title { font-size: 12px; font-weight: 600; color: #333; margin-bottom: 6px; }
  .employees-form__row { display: grid; gap: 10px; }
  .employees-form__row--two { grid-template-columns: 1.15fr 0.85fr; }
  .employees-form__row--two-eq { grid-template-columns: 1fr 1fr; }
  .employees-form__row--three { grid-template-columns: 1fr 1fr 1fr; }
  .employees-form__row--four { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
  .employees-field { display: flex; flex-direction: column; gap: 4px; }
  .employees-field__label { font-size: 11px; color: #555; }
  .employees-field__req { color: #d64545; font-weight: 600; }
  .employees-field__control { width: 100%; height: 34px; font-size: 12px; padding: 0 10px; border: 1px solid #d8dbe2; border-radius: 6px; }
  .employees-field__control:focus { outline: none; border-color: #1e6bff; box-shadow: 0 0 0 2px rgba(30,107,255,0.12); }
  .employees-field__control--with-toggle { padding-right: 34px; }
  .employees-field__hint { font-size: 11px; color: #888; }
  .employees-field__password { position: relative; }
  .employees-field__toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; padding: 2px; cursor: pointer; color: #666; }
  .employees-field__toggle:hover { color: #1e6bff; }
  .employees-field__toggle-icon { width: 18px; height: 18px; display: block; opacity: 0.55; transition: opacity 0.15s ease; }
  .employees-field__toggle:hover .employees-field__toggle-icon { opacity: 0.85; }
  .employees-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 6px; }
  .employees-form__meta { display: flex; align-items: center; gap: 10px; }
  .employees-form__required-note { font-size: 11px; color: #666; }
  .employees-form__actions { display: flex; justify-content: flex-end; gap: 8px; }
  .employees-form__submit { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; }
  .employees-form__submit:hover { color: #1e6bff; border-color: #1e6bff; }
  .employees-form__cancel { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; }
  .employees-form__cancel:hover { color: #1e6bff; border-color: #1e6bff; }
  .employees-form__note { font-size: 11px; color: #666; margin-top: 0; }
  .work-orders-modal { width: 1100px; max-width: 94vw; margin: 6vh auto; height: 88vh; max-height: 88vh; display: flex; flex-direction: column; overflow: hidden; }
  #work-orders-modal-content.is-form-open.work-orders-modal { width: 1100px; }
  .work-orders-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
  .work-orders-modal__title { margin: 0; font-size: 16px; }
  .work-orders-modal__close { border: 0; background: transparent; font-size: 18px; cursor: pointer; }
  .work-orders-modal__list { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .work-orders-modal__form { display: none; flex: 1 1 auto; min-height: 0; overflow: auto; }
  #work-orders-modal-content.is-form-open .work-orders-modal__list { display: none; }
  #work-orders-modal-content.is-form-open .work-orders-modal__form { display: block; }
  .work-orders-controls { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 10px; }
  .work-orders-filters { display: grid; grid-template-columns: 260px 360px 200px; gap: 10px; margin-left: auto; }
  .work-orders-filter__label { font-size: 11px; color: #555; display: block; margin-bottom: 4px; }
  .work-orders-filter__wrap { position: relative; }
  .work-orders-filter__wrap input { width: 100%; height: 30px; font-size: 12px; padding-right: 28px; }
  .work-orders-filter__clear { position: absolute; right: 4px; top: 50%; transform: translateY(-60%); width: 20px; height: 20px; border: 0; background: transparent; font-size: 16px; line-height: 1; color: #666; cursor: pointer; display: none; }
  .work-orders-filter__clear.is-visible { display: flex; align-items: center; justify-content: center; }
  .work-orders-filter__dropdown { position: absolute; top: 30px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 200px; overflow: auto; display: none; z-index: 10; }
  .work-orders-filter__dropdown.is-open { display: block; }
  .work-orders-filter__item { padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .work-orders-list { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #eee; border-radius: 8px; }
  .work-orders-list__header,
  .work-orders-list__row { display: grid; grid-template-columns: 30px 60px 160px 1.2fr 80px 1.1fr 110px 120px; gap: 8px; padding: 6px 8px; font-size: 12px; align-items: center; }
  .work-orders-list__row { border-bottom: 1px solid #f1f1f1; cursor: default; }
  .work-orders-list__row:hover { background: #f6f9ff; }
  .work-orders-list__header { font-weight: 600; color: #555; background: #fafafa; border-bottom: 1px solid #eee; }
  .work-orders-list__row--header { cursor: default; font-weight: 600; color: #555; background: #fafafa; border-bottom: 1px solid #eee; }
  .work-orders-list__row:last-child { border-bottom: 0; }
  .work-orders-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .work-orders-territory-link { background: transparent; border: 0; padding: 0; font: inherit; color: #1e6bff; cursor: pointer; text-decoration: underline; }
  .work-orders-territory-link:hover { color: #174fbf; }
  .work-orders-cell--time.is-late { background: #ffe8e8; border-radius: 4px; padding: 2px 4px; }
  .work-orders-field__wrap { position: relative; }
  .work-orders-field__clear { position: absolute; right: 6px; top: 50%; transform: translateY(-60%); width: 20px; height: 20px; border: 0; background: transparent; font-size: 16px; line-height: 1; color: #666; cursor: pointer; display: none; }
  .work-orders-field__clear.is-visible { display: flex; align-items: center; justify-content: center; }
  .work-orders-field__multi { cursor: pointer; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
  .work-orders-field__multi[disabled] { background: #f3f4f6; cursor: not-allowed; }
  .work-orders-field__dropdown { position: absolute; top: 34px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 220px; overflow: auto; display: none; z-index: 10; }
  .work-orders-field__dropdown.is-open { display: block; }
  .work-orders-field__item { padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .work-orders-field__item:hover { background: #f6f9ff; }
  .work-orders-field__check { display: flex; align-items: center; gap: 8px; padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .work-orders-field__check:hover { background: #f6f9ff; }
  .work-orders-field__check input { margin: 0; }
  .work-orders-field__file { height: auto; padding: 6px 10px; }
  .work-orders-field__upload { position: relative; }
  .work-orders-field__dropzone { position: relative; border: 1px dashed #cfd6e4; border-radius: 10px; padding: 8px; background: #fff; min-height: 88px; }
  .work-orders-field__dropzone.is-dragover { border-color: #9fb6ff; background: #f7f9ff; }
  .work-orders-field__upload-row { display: flex; align-items: center; gap: 10px; }
  .work-orders-field__upload-btn { border: none; padding: 0; display: inline-flex; align-items: center; gap: 8px; color: #4a4a4a; background: transparent; cursor: pointer; text-align: left; }
  .work-orders-field__upload-btn:hover { color: #2b4fff; }
  .work-orders-field__upload-icon { width: 18px; height: 18px; flex: 0 0 auto; opacity: 0.7; }
  .work-orders-field__upload-icon img { width: 100%; height: 100%; display: block; }
  .work-orders-field__upload-text { font-size: 12px; }
  .work-orders-field__upload-hint { font-size: 12px; color: #7b8798; }
  .work-orders-field__dropzone input[type="file"] { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
  .work-orders-field__preview { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 72px; }
  .work-orders-field__preview-item { position: relative; width: 72px; height: 72px; border-radius: 8px; overflow: hidden; border: 1px solid #e6e6e6; background: #f6f6f6; display: flex; align-items: center; justify-content: center; cursor: pointer; }
  .work-orders-field__preview-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .work-orders-field__preview-remove { position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: rgba(0,0,0,0.6); color: #fff; font-size: 12px; line-height: 18px; cursor: pointer; opacity: 0; }
  .work-orders-field__preview-item:hover .work-orders-field__preview-remove { opacity: 1; }
  .work-orders-field__preview-add { width: 72px; height: 72px; border: 1px dashed #d5dbe8; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: #f6f7fb; color: #8b95a5; cursor: pointer; }
  .work-orders-field__preview-add:hover { border-color: #9fb6ff; background: #f0f4ff; color: #2b4fff; }
  .work-orders-field__preview-icon { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; }
  .work-orders-field__preview-icon img { width: 100%; height: 100%; display: block; opacity: 0.6; }
  .work-orders-field__preview-label { font-size: 11px; }
  .work-orders-exec-report__value { border: 1px solid #e5e7eb; border-radius: 8px; background: #f9fafb; padding: 8px 10px; font-size: 12px; line-height: 1.4; min-height: 34px; }
  .work-orders-photo-viewer { position: fixed; inset: 0; background: rgba(0,0,0,0.65); display: none; align-items: center; justify-content: center; z-index: 2000; }
  .work-orders-photo-viewer__img { max-width: 90vw; max-height: 90vh; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,0.35); }
  .work-orders-photo-viewer__close { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(0,0,0,0.6); color: #fff; font-size: 18px; cursor: pointer; }
  .work-orders-form textarea.employees-field__control { height: auto; min-height: 72px; padding: 6px 10px; resize: vertical; }
  .work-orders-checkbox { display: flex; align-items: center; gap: 8px; font-weight: 400; }
  .work-orders-checkbox input { margin: 0; }
  .acts-modal { width: 1000px; max-width: 94vw; margin: 6vh auto; height: 88vh; max-height: 88vh; display: flex; flex-direction: column; overflow: hidden; }
  .acts-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
  .acts-modal__title { margin: 0; font-size: 16px; }
  .acts-modal__close { border: 0; background: transparent; font-size: 18px; cursor: pointer; }
  .acts-modal__list { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .acts-modal__detail { display: none; flex: 1 1 auto; min-height: 0; overflow: auto; }
  #acts-modal-content.is-detail-open .acts-modal__list { display: none; }
  #acts-modal-content.is-detail-open .acts-modal__detail { display: block; }
  .acts-controls { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 10px; }
  .acts-filter { flex: 0 1 360px; }
  .acts-filter__label { font-size: 11px; color: #555; display: block; margin-bottom: 4px; }
  .acts-filter__wrap { position: relative; }
  .acts-filter__wrap input { width: 100%; height: 30px; font-size: 12px; padding-right: 28px; }
  .acts-filter__clear { position: absolute; right: 4px; top: 50%; transform: translateY(-60%); width: 20px; height: 20px; border: 0; background: transparent; font-size: 16px; line-height: 1; color: #666; cursor: pointer; display: none; }
  .acts-filter__clear.is-visible { display: flex; align-items: center; justify-content: center; }
  .acts-filter__dropdown { position: absolute; top: 30px; left: 0; right: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.12); max-height: 200px; overflow: auto; display: none; z-index: 10; }
  .acts-filter__dropdown.is-open { display: block; }
  .acts-filter__item { padding: 4px 8px; cursor: pointer; font-size: 12px; line-height: 1.3; }
  .acts-modal__add { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; font-size: 12px; }
  .acts-modal__add:hover { color: #1e6bff; border-color: #1e6bff; }
  .acts-list { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #eee; border-radius: 8px; }
  .acts-list__header,
  .acts-list__row { display: grid; grid-template-columns: 110px 140px 1fr 90px; gap: 8px; padding: 6px 8px; font-size: 12px; align-items: center; }
  .acts-list__row { border-bottom: 1px solid #f1f1f1; cursor: pointer; }
  .acts-list__row:hover { background: #f6f9ff; }
  .acts-list__row--header { cursor: default; font-weight: 600; color: #555; background: #fafafa; border-bottom: 1px solid #eee; }
  .acts-list__row:last-child { border-bottom: 0; }
  .acts-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .acts-cell--pdf a { color: #1e6bff; text-decoration: underline; }
  .acts-cell--pdf a:hover { color: #174fbf; }
  .acts-detail__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
  .acts-detail__back { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; font-size: 12px; }
  .acts-detail__back:hover { color: #1e6bff; border-color: #1e6bff; }
  .acts-detail__meta { display: flex; flex-direction: column; gap: 2px; }
  .acts-detail__title { font-size: 14px; font-weight: 600; }
  .acts-detail__subtitle { font-size: 12px; color: #666; }
  .acts-detail__actions { display: flex; align-items: center; gap: 8px; }
  .acts-detail__recalc,
  .acts-detail__download { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; font-size: 12px; text-decoration: none; color: #333; }
  .acts-detail__recalc:hover,
  .acts-detail__download:hover { color: #1e6bff; border-color: #1e6bff; }
  .acts-detail__table-wrap { overflow: auto; border: 1px solid #eee; border-radius: 8px; }
  .acts-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  .acts-table th,
  .acts-table td { border-bottom: 1px solid #eee; padding: 6px 8px; vertical-align: top; }
  .acts-table thead th { background: #fafafa; font-weight: 600; color: #555; }
  .acts-table tbody tr:last-child td { border-bottom: 0; }
  .acts-table__section td { background: #f6f7fb; font-weight: 600; color: #444; }
  body.login-mode #login-modal { display: block; } /*  */
  body.login-mode #login-modal { background: transparent; } /*  */
  body.login-mode .sidebar,
  body.login-mode .edit-bar,
  body.login-mode .sidebar-toggle,
  body.login-mode .map-info,
  body.login-mode .user-pill { display: none !important; } /*  */
  body.login-mode .map { pointer-events: none; } /*  */
  body.login-mode #map { filter: blur(5px); } /*  */
  body.login-mode .ymaps-2-1-79-controls-pane,
  body.login-mode .ymaps-2-1-79-control-popup,
  body.login-mode .ymaps-2-1-79-zoom,
  body.login-mode .ymaps-2-1-79-controls__toolbar { display: none !important; } /*  */
  .map-layout[data-user-role="executor"] .sidebar,
  .map-layout[data-user-role="executor"] .edit-bar,
  .map-layout[data-user-role="executor"] .sidebar-toggle,
  .map-layout[data-user-role="executor"] .modal,
  .map-layout[data-user-role="executor"] .work-orders-photo-viewer { display: none !important; } 
  .map-layout[data-user-role="executor"] .map { flex: 1 1 100%; } 
  .map-layout[data-user-role="executor"] #territory-info { display: none !important; } 
  .map-layout[data-user-role="executor"] .map-info__actions { display: none; } 
  .executor-back { position: absolute; top: 12px; left: 12px; z-index: 6; background: #fff; border: 1px solid #ddd; border-radius: 10px; padding: 10px 14px; font-size: 14px; text-decoration: none; color: #222; display: none; box-shadow: 0 6px 18px rgba(0,0,0,0.12); } 
  .executor-back--locate { position: fixed; top: auto; left: auto; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 1001; } 
  .executor-icon { width: 16px; height: 16px; display: inline-block; background-color: currentColor; mask-repeat: no-repeat; mask-position: center; mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain; } 
  .executor-icon--locate { mask-image: url("/static/gis/navigation-2-outline.svg"); -webkit-mask-image: url("/static/gis/navigation-2-outline.svg"); } 
  .executor-back--locate { align-items: center; gap: 6px; } 
  .executor-back:hover { border-color: #1e6bff; color: #1e6bff; } 
  .map-layout[data-user-role="executor"] .executor-back { display: inline-flex; align-items: center; gap: 6px; } 

