html, body {
                height: 100%;
                margin: 0;
                padding: 0;
                font-family: 'Trebuchet MS', 'Helvetica', 'Arial', sans-serif;
                background: #eee;
                font-size: 100%;
            }
            #container {
                height: 100vh;
                display: grid;
                grid-template-columns: 300px 1fr;
                grid-template-rows: 40px 1fr;
                grid-template-areas:
                    "address-bar account-bar"
                    "property-list map-area";
            }
            .address-search,
            .account-manager-selector {
                box-sizing: border-box;
            }
            #property_list {
                grid-area: property-list;
                background-color: #f4f4f4;
                overflow-y: auto;
                padding: 0;
                box-sizing: border-box;
                border-right: 1px solid #ddd;
            }
            #map {
                grid-area: map-area;
                position: relative;
                width: 100%;
                height: 100%;
            }
            .section-header {
                padding: 8px;
                background-color: #333;
                color: white;
                font-weight: bold;
            }
            .prop-item {
                padding: 10px 35px 10px 15px;
                border-bottom: 1px solid #ddd;
                font-size: 12px;
                cursor: pointer;
                position: relative;
                transition: all 0.2s ease;
                border-left: 8px solid transparent;
                background: white;
            }
            .prop-item:hover {
                background: linear-gradient(90deg, #fff8e1 0%, #fff8e1 25%, white 25%) !important;
                transform: translateX(2px);
            }
            .prop-item.selected-prop {
                background:rgb(42, 173, 73) !important;
                color: #fff;
                font-weight: bold;
            }
            .prop-item.selected-prop .geofence-indicator {
                color: #fff;
            }
            .prop-item.last-selected {
                background: rgba(42, 173, 73, 0.2) !important;
                position: relative;
            }
            .prop-item.last-selected::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(90deg, rgba(42, 173, 73, 0.1) 0%, transparent 100%);
                pointer-events: none;
            }
            .geofence-indicator {
                position: absolute;
                right: 10px;
                top: 50%;
                transform: translateY(-50%);
                font-size: 16px;
                font-weight: bold;
            }
            .geofence-indicator.no-data {
                color: #d32f2f;
            }
            .geofence-indicator.circle-only {
                color: #f9a825;
                font-size: 18px;
            }
            .geofence-indicator.polygon-only {
                color: #388e3c;
            }
            .geofence-indicator.both-geofences {
                color: #1976d2;
            }
            .control-btn {
                background: green;
                border-radius: 4px;
                color: #fff;
                font-size: 12px;
                padding: 5px;
                margin-top: 2px;
                cursor: pointer;
                display: inline-block;
                margin-right: 5px;
            }
            .address-search {
                grid-area: address-bar;
                padding: 6px 12px;
                background: rgba(255,255,255,.4);
                border-bottom: 1px solid #ccc;
                border-right: 1px solid #ccc;
                display: flex;
                align-items: center;
                gap: 8px;
                z-index: 1000;
                box-shadow: 0 1px 3px rgba(0,0,0,0.1);
                box-sizing: border-box;
                height: 40px;
            }
            #property-search {
                flex: 1;
                padding: 6px 10px;
                border: 1px solid #ced4da;
                border-radius: 4px;
                font-size: 14px;
                outline: none;
                transition: border-color 0.2s;
            }
            #property-search:focus {
                border-color: #80bdff;
                box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
            }
            .account-manager-selector {
                grid-area: account-bar;
                padding: 6px 15px;
                display: flex;
                align-items: center;
                gap: 10px;
                background: rgba(255,255,255,.4);
                border-bottom: 1px solid #ccc;
                z-index: 1000;
                box-shadow: 0 1px 3px rgba(0,0,0,0.1);
                box-sizing: border-box;
                position: relative;
                height: 40px;
            }
            
            /* Custom dropdown wrapper */
            .custom-dropdown {
                position: relative;
                min-width: 200px;
            }
            
            .custom-dropdown-selected {
                padding: 4px 8px 4px 20px;
                font-size: 14px;
                background: white;
                border: 1px solid #ccc;
                border-radius: 6px;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: space-between;
                transition: all 0.2s ease;
                position: relative;
                min-height: 20px;
            }
            
            .custom-dropdown-selected:hover {
                border-color: #999;
            }
            
            .custom-dropdown-selected::before {
                content: '';
                position: absolute;
                left: 0px;
                top: 0px;
                bottom: 0px;
                width: 8px;
                border-radius: 2px 0 0 2px;
                background: var(--strip-color, #ddd);
            }
            
            .custom-dropdown-arrow {
                width: 0;
                height: 0;
                border-left: 5px solid transparent;
                border-right: 5px solid transparent;
                border-top: 5px solid #666;
                margin-left: 10px;
            }
            
            .custom-dropdown-options {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                border: 1px solid #ccc;
                border-top: none;
                border-radius: 0 0 6px 6px;
                max-height: 300px;
                overflow-y: auto;
                overflow-x: hidden;
                display: none;
                z-index: 1001;
                box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            }
            
            /* Hide scrollbar but keep functionality */
            .custom-dropdown-options::-webkit-scrollbar {
                width: 6px;
            }
            
            .custom-dropdown-options::-webkit-scrollbar-track {
                background: transparent;
            }
            
            .custom-dropdown-options::-webkit-scrollbar-thumb {
                background: #ccc;
                border-radius: 3px;
            }
            
            .custom-dropdown-options::-webkit-scrollbar-thumb:hover {
                background: #999;
            }
            
            .custom-dropdown.open .custom-dropdown-options {
                display: block;
            }
            
            .custom-dropdown.open .custom-dropdown-arrow {
                border-top: none;
                border-bottom: 5px solid #666;
            }
            
            .custom-dropdown-option {
                padding: 10px 12px 10px 20px;
                cursor: pointer;
                transition: all 0.2s ease;
                font-size: 13px;
                color: #333;
                background: white;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
                position: relative;
            }
            
            .custom-dropdown-option:hover {
                background: rgba(0,0,0,0.05);
            }
            
            .custom-dropdown-option::before {
                content: '';
                position: absolute;
                left: 0px;
                top: 0px;
                bottom: 0px;
                width: 8px;
                border-radius: 0;
                background: var(--strip-color, #ddd);
            }
            
            .custom-dropdown-option.selected {
                background: #f0f0f0;
                font-weight: 500;
            }
            
            .custom-dropdown-option.selected {
                font-weight: bold;
                background: #f0f0f0;
            }
            .address-search input {
                flex: 1;
                padding: 8px 10px;
                border: 1px solid #ccc;
                border-radius: 4px;
                font-size: 13px;
            }
            .edit-btn {
                width: 20px;
                height: 20px;
                background-color: #eee;
                border-radius: 3px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-right: 5px;
                cursor: pointer;
            }
            .edit-btn:hover {
                background-color: #ddd;
            }
            .geofence-info {
                position: absolute;
                top: 40px;
                right: 10px;
                background-color: rgba(255, 255, 255, 0.8);
                padding: 8px;
                border-radius: 4px;
                box-shadow: 0 2px 6px rgba(0,0,0,0.3);
                z-index: 1000;
                font-size: 12px;
            }
            #status {
                position: absolute;
                bottom: 10px;
                left: 10px;
                background-color: rgba(255, 255, 255, 0.8);
                padding: 8px;
                border-radius: 4px;
                box-shadow: 0 2px 6px rgba(0,0,0,0.3);
                z-index: 1000;
                display: none;
            }
            #acct_mgr_select {
                padding: 8px 12px 8px 16px;
                font-size: 14px;
                background: white;
                border: 1px solid #ccc;
                border-radius: 4px;
                min-width: 200px;
                border-left: 8px solid transparent;
                transition: border-left 0.2s ease;
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
                background-repeat: no-repeat;
                background-position: right 8px center;
                background-size: 16px;
                padding-right: 32px;
            }
            #acct_mgr_select:focus {
                outline: none;
                border-color: #4285F4;
                box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.2);
            }
            #acct_mgr_select option {
                padding: 10px 12px 10px 16px;
                background: white !important;
                color: #333 !important;
                min-height: 36px;
                border-left: 8px solid transparent;
                font-size: 13px !important;
                font-weight: normal !important;
                transition: all 0.2s ease;
            }
            .property-hover {
                background-color: #dddddd !important;
            }
            .highlighted-marker {
                z-index: 9999 !important;
            }
            .geofence-controls {
                position: absolute;
                background-color: rgba(255, 255, 255, 0.95);
                padding: 10px;
                border-radius: 6px;
                box-shadow: 0 2px 8px rgba(0,0,0,0.15);
                z-index: 1000;
                min-width: 240px;
                max-width: 300px;
                display: none;
                border: 1px solid #ddd;
            }
            .property-info-section {
                margin-bottom: 10px;
                padding-bottom: 10px;
                border-bottom: 1px solid #eee;
            }
            .property-name {
                font-weight: bold;
                margin-bottom: 6px;
                color: #333;
                font-size: 13px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                line-height: 1.3;
            }
            .address-edit-section {
                margin-bottom: 6px;
                background: #f8f9fa;
                padding: 6px 8px;
                border-radius: 4px;
                border: 1px solid #e9ecef;
            }
            .account-manager-display {
                margin-top: 4px;
                padding: 4px 8px 4px 8px;
                background: #e8f4f8;
                border-radius: 4px;
                font-size: 12px;
            }
            .account-manager-label {
                color: #666;
                font-weight: 500;
                margin-bottom: 2px;
                display: block;
                font-size: 11px;
            }
            .account-manager-edit-section {
                display: flex;
                flex-direction: column;
            }
            .account-manager-display-field {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 8px;
            }
            .account-manager-name {
                color: #1976d2;
                font-weight: 600;
                flex: 1;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }
            .account-manager-name.no-manager {
                color: #dc3545;
                font-weight: bold;
                font-style: italic;
            }
            .account-manager-edit-form {
                margin-top: 4px;
            }
            #manager-select {
                width: 100%;
                padding: 4px 8px 4px 20px;
                border: 1px solid #ced4da;
                border-radius: 4px;
                font-size: 12px;
                height: 28px;
                line-height: 1.4;
                background: white;
                outline: none;
                box-sizing: border-box;
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
                background-repeat: no-repeat;
                background-position: right 6px center;
                background-size: 14px;
                padding-right: 24px;
            }
            #manager-select:focus {
                border-color: #80bdff;
                box-shadow: 0 0 0 0.1rem rgba(0,123,255,.25);
            }
            #address-input {
                width: 100%;
                padding: 5px 8px;
                border: 1px solid #ced4da;
                border-radius: 4px;
                font-size: 12px;
                outline: none;
                box-sizing: border-box;
                margin-bottom: 6px;
                height: 28px;
                line-height: 1.4;
            }
            #address-input:focus {
                border-color: #80bdff;
                box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
            }
            .address-actions {
                display: flex;
                gap: 6px;
                justify-content: flex-end;
                margin-top: 4px;
            }
            .action-btn.small {
                padding: 4px 10px;
                font-size: 11px;
                border: none;
                border-radius: 3px;
                cursor: pointer;
                font-weight: 500;
                transition: all 0.2s;
                height: 26px;
                line-height: 1.4;
            }
            #save-address-btn {
                background: #28a745;
                color: white;
            }
            #save-address-btn:hover {
                background: #218838;
            }
            #cancel-address-btn {
                background: #6c757d;
                color: white;
            }
            #cancel-address-btn:hover {
                background: #5a6268;
            }
            .hover-indicator {
                position: absolute;
                background: rgba(0, 0, 0, 0.8);
                color: white;
                padding: 8px 12px;
                border-radius: 6px;
                font-size: 13px;
                font-weight: 500;
                z-index: 10000;
                pointer-events: none;
                box-shadow: 0 2px 8px rgba(0,0,0,0.3);
                transform: translate(-50%, -100%);
                margin-top: -8px;
                white-space: nowrap;
                display: none;
            }
            .hover-indicator::after {
                content: '';
                position: absolute;
                top: 100%;
                left: 50%;
                transform: translateX(-50%);
                width: 0;
                height: 0;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                border-top: 6px solid rgba(0, 0, 0, 0.8);
            }
            .address-display {
                display: flex;
                align-items: center;
                gap: 6px;
                margin-bottom: 2px;
            }
            .address-display #address-text {
                flex: 1;
                font-size: 12px;
                color: #495057;
                line-height: 1.4;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                padding: 4px 0;
            }
            .address-display #address-text.no-address {
                font-style: italic;
                color: #dc3545;
                font-weight: bold;
            }
            .edit-btn.small {
                width: 24px;
                height: 24px;
                background-color: #fff;
                border: 1px solid #dee2e6;
                border-radius: 4px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                font-size: 12px;
                transition: all 0.2s ease;
                opacity: 0.7;
            }
            .edit-btn.small.error-state {
                border-color: #dc3545;
                border-width: 2px;
            }
            .edit-btn.small:hover {
                background-color: #007bff;
                border-color: #007bff;
                color: #fff;
                opacity: 1;
                transform: scale(1.05);
            }
            .address-edit-form {
                display: flex;
                flex-direction: column;
                gap: 8px;
            }
            .address-edit-form input {
                padding: 6px 8px;
                border: 1px solid #ccc;
                border-radius: 4px;
                font-size: 12px;
            }
            .address-actions {
                display: flex;
                gap: 6px;
            }
            .action-btn.small {
                padding: 4px 8px;
                font-size: 11px;
                flex: 1;
            }
            .action-btn.cancel {
                background: #6c757d;
            }
            .action-btn.cancel:hover {
                background: #5a6268;
            }
            .geofence-create-section {
                margin-bottom: 12px;
            }
            .create-header {
                margin-bottom: 8px;
            }
            .create-label {
                font-weight: 600;
                color: #495057;
                font-size: 13px;
            }
            .create-options-list {
                display: flex;
                flex-direction: row;
                gap: 8px;
                margin-bottom: 10px;
            }
            .create-option-btn {
                padding: 8px 12px;
                background: #f8f9fa;
                border: 1px solid #dee2e6;
                border-radius: 4px;
                cursor: pointer;
                font-size: 12px;
                font-weight: 500;
                color: #495057;
                transition: all 0.2s;
                flex: 1;
                display: flex;
                align-items: center;
                gap: 6px;
                text-align: left;
                height: 36px;
            }
            .create-option-btn:hover {
                background: #e9ecef;
                border-color: #adb5bd;
                transform: translateY(-1px);
            }
            .create-icon {
                font-size: 14px;
                width: 16px;
                text-align: center;
            }
            .create-new-dropdown {
                position: relative;
                flex: 1;
            }
            .create-new-btn {
                width: 100%;
                padding: 8px 12px;
                background: #2196F3;
                color: white;
                border: none;
                border-radius: 4px;
                cursor: pointer;
                font-size: 12px;
                font-weight: 500;
                transition: all 0.2s;
                display: flex;
                align-items: center;
                justify-content: space-between;
            }
            .create-new-btn:hover {
                background: #1976D2;
            }
            .dropdown-arrow {
                font-size: 10px;
                margin-left: 8px;
            }
            .create-options {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                border: 1px solid #ddd;
                border-radius: 4px;
                margin-top: 4px;
                box-shadow: 0 2px 8px rgba(0,0,0,0.15);
                z-index: 1002;
            }
            .create-option {
                width: 100%;
                padding: 8px 12px;
                background: none;
                border: none;
                text-align: left;
                cursor: pointer;
                font-size: 12px;
                transition: background 0.2s;
            }
            .create-option:hover {
                background: #f5f5f5;
            }
            .create-option:first-child {
                border-bottom: 1px solid #eee;
            }
            .geofence-status {
                margin-top: 8px;
                padding: 6px 10px;
                background: #e3f2fd;
                border-radius: 4px;
                font-size: 11px;
                color: #1976d2;
                text-align: center;
            }
            .geofence-status.editing {
                background: #fff3cd;
                color: #856404;
            }
            .geofence-status.saving {
                background: #cfe2ff;
                color: #084298;
            }
            .geofence-status.success {
                background: #d1e7dd;
                color: #0f5132;
            }
            .geofence-status.error {
                background: #f8d7da;
                color: #842029;
            }
            .undo-btn {
                padding: 8px 12px;
                background: #6c757d;
                color: white;
                border: none;
                border-radius: 4px;
                cursor: pointer;
                font-size: 12px;
                font-weight: 500;
                transition: all 0.2s;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 4px;
                height: 36px;
                box-sizing: border-box;
                margin-top: 8px;
                width: 100%;
                min-width: 100px;
            }
            .undo-btn:hover {
                background: #5a6268;
            }
            .undo-btn span:first-child {
                font-size: 16px;
            }
            /* ===== TOAST STYLES (COMMENTED OUT FOR FUTURE USE) =====
            .persistent-toast {
                position: absolute;
                top: 20px;
                left: 50%;
                transform: translateX(-50%);
                background: #fff;
                color: #333;
                padding: 20px 24px;
                border-radius: 8px;
                box-shadow: 0 4px 12px rgba(0,0,0,0.15);
                font-size: 14px;
                min-width: 350px;
                max-width: 500px;
                z-index: 10001;
                border-left: 4px solid #dc3545;
                display: none;
                box-sizing: border-box;
            }
            .persistent-toast.warning {
                border-left-color: #ffc107;
            }
            .persistent-toast.info {
                border-left-color: #17a2b8;
            }
            .persistent-toast.success {
                border-left-color: #28a745;
            }
            .persistent-toast-header {
                font-weight: bold;
                margin-bottom: 8px;
                display: flex;
                align-items: center;
                gap: 8px;
            }
            .persistent-toast-body {
                line-height: 1.5;
                margin: 0 -8px;
                padding: 0 8px;
            }
            .persistent-toast-body input,
            .persistent-toast-body select {
                box-sizing: border-box;
            }
            .persistent-toast-actions {
                margin-top: 12px;
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
            }
            .persistent-toast-action {
                padding: 6px 12px;
                background: #007bff;
                color: white;
                border: none;
                border-radius: 4px;
                cursor: pointer;
                font-size: 12px;
                transition: all 0.2s;
            }
            .persistent-toast-action:hover {
                background: #0056b3;
            }
            .persistent-toast-close {
                position: absolute;
                top: 8px;
                right: 8px;
                background: none;
                border: none;
                font-size: 18px;
                cursor: pointer;
                color: #6c757d;
                padding: 0;
                width: 20px;
                height: 20px;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .persistent-toast-close:hover {
                color: #333;
            }
            ===== END COMMENTED TOAST STYLES ===== */
            
            /* Simple error toast for property issues */
            .simple-error-toast {
                position: absolute;
                top: 20px;
                left: 50%;
                transform: translateX(-50%);
                background: #dc3545;
                color: white;
                padding: 12px 20px;
                border-radius: 6px;
                font-size: 13px;
                font-weight: 500;
                box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
                z-index: 9999;
                display: none;
                max-width: 300px;
                text-align: center;
                line-height: 1.4;
            }
            
            .guide-indicator {
                animation: pulse 2s infinite;
            }
            @keyframes pulse {
                0% {
                    box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.4);
                }
                70% {
                    box-shadow: 0 0 0 10px rgba(0, 123, 255, 0);
                }
                100% {
                    box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
                }
            }